/**
     * Constructeur d'un administrateur en fonction de son login
     * @param login de l'administrateur
     * @return une instance d'administrateur sinon renvoi null
     */
    public static function createFromLogin($login)
    {
        self::startSession();
        if (strlen($login) == 8) {
            $pdo = myPDO::getInstance();
            $rq1 = $pdo->prepare(<<<SQL
\t\t\t\tSELECT numAdmin AS 'id'
\t\t\t\tFROM Administrateur
\t\t\t\tWHERE numAdmin = ?
SQL
);
            $rq1->execute(array($login));
            $rq1->setFetchMode(PDO::FETCH_CLASS, __CLASS__);
            if (($admin = $rq1->fetch()) !== false) {
                $_SESSION[self::session_key]['connected'] = true;
                //$admin->convention  | crée une list de convention avec la class convention
                $admin->_convention = Convention::createFromAdmin($admin->getId());
                //$admin->enseignant  | Recupérer tous les ensignant en crée une methode Enseignant::getAll() dans la class enseignant
                $admin->enseignant = Enseignant::getAll();
                $admin->saveIntoSession();
                return $admin;
            } else {
                return null;
            }
        } else {
            throw new AuthenticationException("C'est pas un login  de l'URCA!");
        }
    }
Beispiel #2
0
 /**
  * buildUrl
  *
  * @param array  $url  Url to build
  *
  * @return string
  */
 public function buildUrl(array $url)
 {
     if (isset($url['controller'])) {
         // search & replace
         $urlRule = array_flip(explode('/', $this->rule));
         foreach ($url as $rule => $data) {
             $urlRule[$rule] = Convention::toUrl(implode('/', (array) $data));
         }
         return implode('/', array_intersect_key($urlRule, $url));
     } else {
         $rule = key($url);
         $params = $url[$rule];
         $ruleUrl = $this->routes[$rule]['path'];
         if ($params) {
             foreach ($params as $param => $paramValue) {
                 $ruleUrl = str_replace(":{$param}", $paramValue, $ruleUrl);
             }
         }
         return $ruleUrl;
     }
 }