Ejemplo n.º 1
0
 private function genMemberPage($file)
 {
     //Si aucun perso est chargé ET qu'on ne veux pas en charger un
     if ($this->session->getVar('persoId') === NULL && !isset($_GET['perso'])) {
         //Page n'ayant besoin d'être en train de jouer un perso
         $canAccessWithoutPerso = false;
         $pages = explode(',', str_replace(' ', '', ENGINE_ACCESS_WITHOUT_PERSO));
         foreach ($pages as $page) {
             if ($page == $file) {
                 $canAccessWithoutPerso = true;
                 break;
             }
         }
         unset($pages, $page);
         if ($canAccessWithoutPerso) {
             return call_user_func_array(array('Member_' . $file, 'generatePage'), array(&$this->tpl, &$this->session, &$this->account));
         } else {
             return fctErrorMSG('Aucun personnage sélectionné.');
         }
         unset($canAccessWithoutPerso);
     } else {
         //S'il faudrait charger un perso mais que rien n'est demandé
         if ($this->session->getVar('persoId') === NULL && !isset($_GET['perso'])) {
             return fctErrorMSG('Vous devez sélectionner un personnage.');
         }
         //Si aucun perso n'est actuellement joué, procéder à son chargement
         if (isset($_GET['perso']) && $_GET['perso'] != $this->session->getVar('persoId')) {
             //Rechercher parmis notre liste de personnage si celui demandé y est.
             $persoFound = false;
             foreach ($this->session->getVar('persoList') as $arrPerso) {
                 if ($arrPerso['id'] == $_GET['perso']) {
                     $persoFound = true;
                     break;
                 }
             }
             if (!$persoFound) {
                 return fctErrorMSG('Tentative de jouer un perso qui ne vous appartiend pas. (cheat)');
             }
             $this->session->setVar('persoId', (int) $_GET['perso']);
         }
         try {
             $perso = Member_Perso::load($this->session->getVar('persoId'));
             $this->tpl->set('CURRENT_PERSO_ID', $perso->getId());
             if ($perso->getHeMsgCount() > 15000) {
                 fctBugReport('Un problème avec le HE à été détecté. Un rapport d\'erreur à été créé et votre compte sera vérifié sous peu.', $perso, __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, true, true, true);
             }
             //$this->session->setVar('perso', $perso);
         } catch (Exception $e) {
             return fctErrorMSG($e->getMessage());
         }
         return call_user_func_array(array('Member_' . $file, 'generatePage'), array(&$this->tpl, &$this->session, &$this->account, &$perso));
     }
     //Fin du if: Si un personnage à été sélection ou est sauvegardé
 }
Ejemplo n.º 2
0
 function testGetLieu()
 {
     $obj = Member_Perso::load($this->validPersoId);
     $this->assertTrue($obj->getLieu()->confirmPerso($obj, $obj->getId()));
 }