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é }
function testGetLieu() { $obj = Member_Perso::load($this->validPersoId); $this->assertTrue($obj->getLieu()->confirmPerso($obj, $obj->getId())); }