69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur\v\vp;
 | 
						|
 | 
						|
use nur\A;
 | 
						|
use nur\authz;
 | 
						|
use nur\config;
 | 
						|
use nur\F;
 | 
						|
use nur\v\base\AbstractPage;
 | 
						|
use nur\v\page;
 | 
						|
 | 
						|
class AppExtauthPage extends AbstractPage {
 | 
						|
  /**
 | 
						|
   * @var bool faut-il afficher les variables au lieu de rediriger vers
 | 
						|
   * $ret_url?
 | 
						|
   */
 | 
						|
  const DEBUG = false;
 | 
						|
 | 
						|
  function isDebug(): bool {
 | 
						|
    if (!config::is_devel()) return false;
 | 
						|
    return static::DEBUG || F::get("D");
 | 
						|
  }
 | 
						|
 | 
						|
  /** @var string nom de l'utilisateur connecté */
 | 
						|
  private $user;
 | 
						|
 | 
						|
  function setup(): void {
 | 
						|
    $destUrl = null;
 | 
						|
    $user = false;
 | 
						|
    if ($user === false) $user = A::get($_SERVER, "REMOTE_USER", false);
 | 
						|
    if ($user === false) $user = A::get($_SERVER, "HTTP_REMOTE_USER", false);
 | 
						|
    if ($user === false) $user = A::get($_SERVER, "HTTP_X_REMOTE_USER", false);
 | 
						|
    if ($user) {
 | 
						|
      if (authz::manager()->extLogin($user)) {
 | 
						|
        $destUrl = F::get("d");
 | 
						|
        if ($destUrl && !$this->isDebug()) page::redirect($destUrl);
 | 
						|
      }
 | 
						|
    } else {
 | 
						|
      $user = "NONE";
 | 
						|
    }
 | 
						|
 | 
						|
    $this->user = $user;
 | 
						|
    $this->destUrl = $destUrl;
 | 
						|
  }
 | 
						|
 | 
						|
  private $destUrl;
 | 
						|
 | 
						|
  function print(): void {
 | 
						|
    page::content_type("text/plain");
 | 
						|
    page::no_cache();
 | 
						|
    if ($this->isDebug()) {
 | 
						|
      echo "destUrl: $this->destUrl\n";
 | 
						|
      echo "--- \$_SERVER\n\n";
 | 
						|
      foreach ($_SERVER as $name => $value) {
 | 
						|
        echo "$name: $value\n";
 | 
						|
      }
 | 
						|
      echo "\n--- \$_REQUEST\n\n";
 | 
						|
      foreach ($_REQUEST as $name => $value) {
 | 
						|
        echo "$name: $value\n";
 | 
						|
      }
 | 
						|
      echo "\n--- \$_SESSION\n\n";
 | 
						|
      foreach ($_SESSION as $name => $value) {
 | 
						|
        echo "$name: ".var_export($value, true)."\n";
 | 
						|
      }
 | 
						|
    } else {
 | 
						|
      echo $this->user;
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 |