예제 #1
0
파일: CasinoMod.php 프로젝트: FMaz008/ccv4
 private static function save()
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     //Valider si une banque existe déjà dans ce lieu
     $query = 'SELECT casino_id' . ' FROM ' . DB_PREFIX . 'casino' . ' WHERE casino_lieu=:casinoLieu' . ' AND casino_id!=:casinoId' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':casinoLieu', $_POST['casino_lieu'], PDO::PARAM_STR);
     $prep->bindValue(':casinoId', $_POST['id'], PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     if ($arr !== false) {
         return fctErrorMSG('Un casino existe déjà dans ce lieu.', '?mj=Lieu_CasinoMod', array('id' => $_POST['id']), false);
     }
     $query = 'UPDATE ' . DB_PREFIX . 'casino' . ' SET' . ' casino_lieu	= :lieu,' . ' casino_nom	= :nom,' . ' casino_cash	= :cash' . ' WHERE casino_id=:casinoId;';
     $prep = $db->prepare($query);
     $prep->bindValue(':lieu', $_POST['casino_lieu'], PDO::PARAM_STR);
     $prep->bindValue(':nom', $_POST['casino_nom'], PDO::PARAM_STR);
     $prep->bindValue(':cash', $_POST['casino_cash'], PDO::PARAM_INT);
     $prep->bindValue(':casinoId', $_POST['id'], PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $prep->closeCursor();
     $prep = NULL;
     return true;
 }
예제 #2
0
파일: Session.php 프로젝트: FMaz008/ccv4
 /**
  * Initialise la session.
  */
 private function sessionStart()
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     $db->beginTransaction();
     $this->sessId = $this->getCookieNo();
     if (empty($this->sessId)) {
         $this->sessId = $this->generateSessId();
         setcookie('sessId', $this->sessId, time() + 60 * 60 * 24 * 30);
         //Créer le cookie (expire après 30 jours)
     } elseif (!isset($_COOKIE['sessId'])) {
         fctErrorMSG("Votre navigateur ne supporte pas les cookies, vous devez les accepter pour ce site.");
         die;
     }
     $this->createOrExtendSession();
     $db->commit();
     //Effacer les sessions expirées
     $query = 'DELETE FROM ' . DB_PREFIX . 'session' . ' WHERE expiration < :expiration;';
     $prep = $db->prepare($query);
     $prep->bindValue(':expiration', CURRENT_TIME, PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $prep->closeCursor();
     $prep = NULL;
 }
예제 #3
0
파일: SacDel.php 프로젝트: FMaz008/ccv4
 public static function generatePage(&$tpl, &$session, &$account, &$mj)
 {
     if (!isset($_POST['db_id'])) {
         return fctErrorMSG("Aucun item sélectionné.");
     }
     if ($_POST['db_id'] < 10) {
         return fctErrorMSG("Item système, suppression interdite.");
     }
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     $query = 'DELETE FROM `' . DB_PREFIX . 'item_db`' . ' WHERE `db_id` = :db_id' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':db_id', $_POST['db_id'], PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $prep->closeCursor();
     $prep = NULL;
     //Suppression de l'item en inventaire
     $query = 'DELETE FROM `' . DB_PREFIX . 'item_inv`' . ' WHERE `inv_dbid` = :db_id';
     $prep = $db->prepare($query);
     $prep->bindValue(':db_id', $_POST['db_id'], PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $prep->closeCursor();
     $prep = NULL;
     //Suppression des actions actuelles
     $query = 'DELETE FROM `' . DB_PREFIX . 'item_menu`' . ' WHERE `item_dbid` = :db_id';
     $prep = $db->prepare($query);
     $prep->bindValue(':db_id', $_POST['db_id'], PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $prep->closeCursor();
     $prep = NULL;
     die("<script>location.href='?mj=Item_Sac';</script>");
 }
예제 #4
0
파일: DelPerso.php 프로젝트: BalamWeb/ccv4
 public static function generatePage(&$tpl, &$session, &$account)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     if (!isset($_GET['id'])) {
         return fctErrorMSG('Données requises manquantes. (cheat)');
     }
     //Trouver les informations sur le perso
     $query = 'SELECT id, nom' . ' FROM ' . DB_PREFIX . 'perso' . ' WHERE	id=:persoId ' . ' AND userid=:userId' . ' AND inscription_valide="mod"' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':persoId', $_GET['id'], PDO::PARAM_INT);
     $prep->bindValue(':userId', $account->getId(), PDO::PARAM_INT);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     if ($arr === false) {
         return fctErrorMSG('Ce personnage n\'existe pas, ne vous appartiend pas, ou n\'est pas en phase de refus. (cheat)');
     }
     $tpl->set('PERSO', $arr);
     //Retourner le template complété/rempli
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/delPerso.htm', __FILE__, __LINE__);
 }
예제 #5
0
 public static function generatePage(&$tpl, &$session, &$account, &$mj)
 {
     if (!$mj->accessDev()) {
         return fctErrorMSG('Vous n\'avez pas accès à cette page.');
     }
     if (!isset($_GET['id'])) {
         return fctErrorMSG('Id manquant.');
     }
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     //Récupérer l'erreur dans la base de donnée
     $query = 'SELECT * FROM `' . DB_PREFIX . 'buglog`' . ' WHERE `id` = :id' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':id', $_GET['id'], PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $result = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     if (count($result) == 0) {
         return fctErrorMSG('L\'erreur n\'existe pas.');
     }
     $tpl->set("ERROR", $result);
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . '/html/Mj/Dev/ErrLogDetails.htm');
 }
예제 #6
0
파일: Del.php 프로젝트: BalamWeb/ccv4
 public static function generatePage(&$tpl, &$session, &$account, &$mj)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     if (!isset($_GET['id']) || empty($_GET['id'])) {
         return fctErrorMSG('Vous devez sélectionner un personnage.');
     }
     //suppression du perso si le MJ est sûr
     if (isset($_GET['action']) && $_GET['action'] == 'suppr') {
         self::delete($_GET['id'], $mj->getNom());
         die("<script type=\"text/javascript\">location.href='?mj=index';</script>");
     }
     //Trouver les infos sur le persos :
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'perso' . ' WHERE id=:id' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':id', $_GET['id'], PDO::PARAM_INT);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     //envoie des infos à l'autre page (tpl)
     $tpl->set('perso', $arr);
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . '/html/Mj/Perso/Del.htm');
 }
예제 #7
0
파일: Biblio.php 프로젝트: BalamWeb/ccv4
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     //Valider l'état du perso
     if (!$perso->isConscient()) {
         return fctErrorMSG('Vous n\'êtes pas en état d\'effectuer cette action.');
     }
     //Afficher la liste des livres disponibles dans ce lieu
     $query = 'SELECT l.* ' . ' FROM ' . DB_PREFIX . 'lieu_livre as b' . ' LEFT JOIN ' . DB_PREFIX . 'item_db as l ON (l.db_id = b.itemDbId)' . ' WHERE lieuId=:lieuId' . ' ORDER BY l.db_nom ASC;';
     $prep = $db->prepare($query);
     $prep->bindValue(':lieuId', $perso->getLieu()->getId(), PDO::PARAM_INT);
     $prep->execute($db, __FILE__, __LINE__);
     $arrLivre = $prep->fetchAll();
     $prep->closeCursor();
     $prep = NULL;
     $LIVRES = array();
     if (count($arrLivre) != 0) {
         foreach ($arrLivre as &$arr) {
             $LIVRES[] = new Member_ItemLivre($arr);
         }
         $tpl->set('LIVRES', $LIVRES);
     }
     //Retourner le template bâti.
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/BiblioListe.htm', __FILE__, __LINE__);
 }
예제 #8
0
파일: MediaListe.php 프로젝트: FMaz008/ccv4
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     if (!$perso->isConscient()) {
         return fctErrorMSG('Vous n\'êtes pas en état d\'effectuer cette action.');
     }
     //Lister tout les accès média du lieu
     $i = 0;
     $mediaAccesEmetteur = array();
     $mediaAccesRecepteur = array();
     while ($media = $perso->getLieu()->getMediaAcces($i++)) {
         if ($media->isRecepteur()) {
             $mediaAccesRecepteur[] = $media;
         } else {
             $mediaAccesEmetteur[] = $media;
         }
     }
     //Définir si le perso est gérant
     $gerant = false;
     if ($perso->getLieu()->isgerant($perso)) {
         $gerant = true;
     }
     $tpl->set('LIST_MEDIA_ACCES_RECEPTEUR', $mediaAccesRecepteur);
     $tpl->set('LIST_MEDIA_ACCES_EMETTEUR', $mediaAccesEmetteur);
     $tpl->set('GERANT', $gerant);
     //Retourner le template complété/rempli
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/MediaListe.htm', __FILE__, __LINE__);
 }
예제 #9
0
파일: Recycler.php 프로젝트: BalamWeb/ccv4
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     //Vérifier que le lieu dans lequel est le perso permet bien de recycler les items
     $query = 'SELECT *' . ' FROM `' . DB_PREFIX . 'lieu_menu`' . ' WHERE `lieutech`=:lieuTech' . ' AND `url`="Recycler"' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':lieuTech', $perso->getLieu()->getNomTech(), PDO::PARAM_STR);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     if ($arr === false) {
         return fctErrorMSG('Vous n\'êtes pas dans un lieu permettant ce type d\'action.');
     }
     $i = 0;
     $e = 0;
     $objets = array();
     while ($item = $perso->getInventaire($i++)) {
         $objets[$e++] = $item;
     }
     $tpl->set('OBJETS', $objets);
     //Retourner le template complété/rempli
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/Recycler.htm', __FILE__, __LINE__);
 }
예제 #10
0
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante	//BUT: Démarrer un template propre à cette page
     $errorUrl = '?popup=1&amp;m=Action_Lieu_Boutique';
     //Définir les accès d'administration
     if (!$perso->getLieu()->isGerant($perso)) {
         return fctErrorMSG('Vous devez être propriétaire du lieu pour pouvoir l\'administrer.', $errorUrl, array('perso' => $perso, 'lieu' => $lieu));
     }
     //Valider si le lieu actuel est une boutique
     if (!$perso->getLieu()->isBoutique()) {
         return fctErrorMSG('Ce lieu n\'est pas une boutique.');
     }
     //LISTER TOUT LES ITEMS EN VENTE DANS LA BOUTIQUE
     $i = 0;
     $query = 'UPDATE `' . DB_PREFIX . 'item_inv`' . ' SET `inv_boutiquePrixVente`=:prixVente,' . ' `inv_boutiquePrixAchat`=:prixAchat' . ' WHERE `inv_id`=:invId' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     while ($item = $perso->getLieu()->getBoutiqueInventaire($i++)) {
         $btvnt = str_replace(",", ".", $_POST['btvnt_' . $item->getInvId()]);
         $btach = str_replace(",", ".", $_POST['btach_' . $item->getInvId()]);
         $btvnt = is_numeric($btvnt) ? $btvnt : -1;
         $btach = is_numeric($btach) ? $btach : -1;
         $prep->bindValue(':prixVente', $btvnt, PDO::PARAM_INT);
         $prep->bindValue(':prixAchat', $btach, PDO::PARAM_INT);
         $prep->bindValue(':invId', $item->getInvId(), PDO::PARAM_INT);
         $prep->execute($db, __FILE__, __LINE__);
     }
     $prep->closeCursor();
     $prep = NULL;
     $tpl->set('PAGE', 'Action_Lieu_BoutiqueAdmin');
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/action_redirect.htm', __FILE__, __LINE__);
 }
예제 #11
0
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     //Valider si le # du compte à été recu
     if (!isset($_GET['id'])) {
         return fctErrorMSG('Id du compte manquant.');
     }
     //Valider si le # de la banque a été reçu
     if (!isset($_GET['bid'])) {
         return fctErrorMSG('Id de la banque manquant.');
     }
     //Passer l'id de la banque au template (pour le retour)
     $tpl->set('BANKID', $_GET['bid']);
     try {
         $compte = Member_BanqueCompte::getCompteFromId($_GET['id']);
     } catch (Exception $e) {
         return fctErrorMSG($e->getMessage());
     }
     //Passer le compte au template
     $tpl->set('COMPTE', $compte);
     //Charger les transactions du compte
     $transactions = $compte->getTransactionsAuto();
     if (!empty($transactions)) {
         $tpl->set('TRANSACTIONS', $transactions);
     }
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Lieu/BanqueTransactionAuto.htm', __FILE__, __LINE__);
 }
예제 #12
0
파일: Boutique.php 프로젝트: FMaz008/ccv4
 public static function generatePage(&$tpl, &$session, &$account, &$mj)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     if (!isset($_GET['id'])) {
         return fctErrorMSG('Données requises manquantes.');
     }
     //Instancier le lieu
     try {
         $lieu = Member_LieuFactory::createFromId((int) $_GET['id']);
     } catch (Exception $e) {
         die($e->getMessage());
     }
     $tpl->set('LIEU_TECH', $lieu->getNomTech());
     //Lister tout les items que le lieu possède (section de gauche)
     $i = 0;
     $e = 0;
     $f = 0;
     $arrItem = array();
     //Listing d'un lieu
     while ($item = $lieu->getBoutiqueInventaire($i++)) {
         $arrItem[$e++] = $item;
     }
     usort($arrItem, "compare");
     $tpl->set('ITEMS', $arrItem);
     $tpl->set('CASIER', isset($_GET['cid']) ? $_GET['cid'] : false);
     //Retourner le template complété/rempli
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Lieu/Boutique.htm', __FILE__, __LINE__);
 }
예제 #13
0
파일: DelPerso2.php 프로젝트: FMaz008/ccv4
 public static function generatePage(&$tpl, &$session, &$account)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     if (!isset($_GET['id']) || !isset($_POST['yes'])) {
         return fctErrorMSG('Données requises manquantes. (cheat)');
     }
     if ($session->getVar('persoId') == $_GET['id']) {
         $session->setVar('persoId', NULL);
     }
     //Trouver les informations sur le perso / Valider s'il est authorisé à être modifié
     $query = 'SELECT id' . ' FROM ' . DB_PREFIX . 'perso' . ' WHERE id=:persoId' . ' AND userid=:userId' . ' AND inscription_valide="mod"' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':persoId', $_GET['id'], PDO::PARAM_INT);
     $prep->bindValue(':userId', $account->getId(), PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     if ($arr === false) {
         return fctErrorMSG('Ce personnage n\'existe pas, ne vous appartiend pas, ou n\'est pas en phase de refus. (cheat)');
     }
     //Apeller la fonction qui gère la suppression de perso.
     Mj_Perso_Del::delete($_GET['id'], $account->getUser());
     //Augmenter le nombre de création de perso de 1
     $query = 'UPDATE ' . DB_PREFIX . 'account' . ' SET auth_creation_perso=auth_creation_perso+1' . ' WHERE id=:userId' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':userId', $account->getId(), PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     //Retourner le template complété/rempli
     $tpl->set('PAGE', 'News');
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/redirect.htm', __FILE__, __LINE__);
 }
예제 #14
0
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     //Valider si le # du compte à été recu
     if (!isset($_POST['compte'])) {
         return fctErrorMSG('Ce compte est invalide (aucun compte).');
     }
     //Passer le # de compte au template
     $tpl->set('COMPTE', $_POST['compte']);
     try {
         $compte = Member_BanqueCompte::getCompteFromNoCompte($_POST['compte']);
     } catch (Exception $e) {
         return fctErrorMSG($e->getMessage());
     }
     //Vérifier si le compte appartiend bien au perso
     if ($compte->getIdPerso() != $perso->getId()) {
         return fctErrorMSG('Ce compte ne vous appartiend pas.');
     }
     //Vérifier si le compte est autorisé à avoir des transactions automatiques
     if (!$compte->authAutoTransactions()) {
         return fctErrorMSG('Ce compte n\'est pas autorisé à faire des transactions automatiques.');
     }
     //Charger les transactions du compte
     $transactions = $compte->getTransactionsAuto();
     if (!empty($transactions)) {
         $tpl->set('TRANSACTIONS', $transactions);
     }
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/BanqueTransactionAuto.htm', __FILE__, __LINE__);
 }
예제 #15
0
파일: Inventaire.php 프로젝트: FMaz008/ccv4
 public static function generatePage(&$tpl, &$session, &$account, &$mj)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     if (!isset($_GET['id'])) {
         return fctErrorMSG('Vous devez sélectionner un item.');
     }
     if (!is_numeric($_GET['id'])) {
         return fctErrorMSG('ID non numérique');
     }
     //Trouver des informations sur l'item
     $query = 'SELECT *' . ' FROM `' . DB_PREFIX . 'item_inv`' . ' WHERE `id` = :id;';
     $prep = $db->prepare($query);
     $prep->bindValue(':id', $_GET['id'], PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $result = $prep->fetchAll();
     $prep->closeCursor();
     $prep = NULL;
     if (count($result) == 0) {
         return fctErrorMSG('Cet item n\'existe pas.');
     }
     //Effectuer le rendu tableau de l'inventaire
     $query = 'SELECT *' . ' FROM `' . DB_PREFIX . 'item_inv`' . ' INNER JOIN `' . DB_PREFIX . 'item_db` ON (`db_id` = `inv_dbid`)' . ' WHERE `inv_itemid` = ' . mysql_real_escape_string($_GET['id']) . ';';
     $tableHTML = generateInventaireTable($tpl, $query, 'Item_Inventaire', $_GET['id'], '800px');
     if (!empty($tableHTML)) {
         $tpl->set('ITEMS_TABLE', $tableHTML);
     }
     //Retourner le template complété/rempli
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Item/Inventaire.htm', __FILE__, __LINE__);
 }
예제 #16
0
파일: LaboDrogue.php 프로젝트: FMaz008/ccv4
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante	//BUT: Démarrer un template propre à cette page
     $coutPa = 50;
     //Vérifier l'état du perso
     if (!$perso->isAutonome()) {
         return fctErrorMSG('Votre n\'êtes pas en état d\'effectuer cette action.');
     }
     //Valider si le lieu actuel est un labo
     if (!$perso->getLieu()->isLaboDrogue()) {
         return fctErrorMSG('Ce lieu n\'est pas un laboratoire de drogue.');
     }
     //LISTER TOUTES LES DROGUES_SUBSTANCS QUE LE PERSO POSSÈDE SUR LUI
     $i = 0;
     $items = array();
     while ($item = $perso->getInventaire($i++)) {
         if ($item instanceof Member_ItemDrogueSubstance) {
             $items[] = $item;
         }
     }
     $tpl->set('INV_PERSO', $items);
     $tpl->set('COUT_PA', $coutPa);
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/LaboDrogue.htm', __FILE__, __LINE__);
 }
예제 #17
0
 private static function save()
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     if (!is_numeric($_POST['carte_nip'])) {
         return fctErrorMSG('Le NIP doit être un entier.', '?mj=Lieu_BanqueCompteMod', null, false);
     }
     //Valider si le # de banque+compte existe
     $query = 'SELECT compte_id' . ' FROM ' . DB_PREFIX . 'banque_comptes' . ' WHERE	compte_banque=:banqueNo' . ' AND compte_compte=:compte' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':banqueNo', $_POST['carte_banque'], PDO::PARAM_INT);
     $prep->bindValue(':compte', $_POST['carte_compte'], PDO::PARAM_STR);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     if ($arr === false) {
         return fctErrorMSG('Le # de compte (' . $_POST['carte_banque'] . '-' . $_POST['carte_compte'] . ') est innexistant.', '?mj=Lieu_BanqueCompteCarteAdd&id=' . $_GET['id'], null, false);
     }
     $query = 'INSERT INTO ' . DB_PREFIX . 'banque_cartes' . ' (carte_banque, carte_compte, carte_nom, carte_nip, carte_valid)' . ' VALUES' . ' (:banqueNo, :compte, :nom, :nip, :valid);';
     $prep = $db->prepare($query);
     $prep->bindValue(':banqueNo', $_POST['carte_banque'], PDO::PARAM_INT);
     $prep->bindValue(':compte', $_POST['carte_compte'], PDO::PARAM_STR);
     $prep->bindValue(':nom', $_POST['carte_nom'], PDO::PARAM_STR);
     $prep->bindValue(':nip', $_POST['carte_nip'], PDO::PARAM_STR);
     $prep->bindValue(':valid', $_POST['carte_valid'], PDO::PARAM_STR);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
 }
예제 #18
0
파일: Guichet2.php 프로젝트: FMaz008/ccv4
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     $errorUrl = '?popup=1&amp;m=Action_Lieu_Guichet';
     //Vérifier l'état du perso
     if (!$perso->isAutonome()) {
         return fctErrorMSG('Votre n\'êtes pas en état d\'effectuer cette action.', $errorUrl);
     }
     //Vérifier si une carte à été sélectionnée
     if (!isset($_POST['carteid']) || !is_numeric($_POST['carteid'])) {
         return fctErrorMSG('Aucune carte sélectionnée.', $errorUrl);
     }
     $tpl->set('CARD_ID', $_POST['carteid']);
     //ToDo: Vérifier si le # de carte est valide
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'banque_cartes' . ' WHERE carte_id = :carteId' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':carteId', $_POST['carteid'], PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     if ($arr === false) {
         return fctErrorMSG('Cette carte à été désactivée.', $errorUrl);
     }
     //Afficher le clavier numérique pour composer le NIP
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/Guichet2.htm', __FILE__, __LINE__);
 }
예제 #19
0
파일: Main.php 프로젝트: FMaz008/ccv4
 public static function generatePage(&$tpl, &$session, &$account)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     //Afficher un message critique sur la page principale.
     if (defined('WARNING_MESSAGE') && WARNING_MESSAGE !== NULL) {
         $tpl->set('WARNING_MESSAGE', WARNING_MESSAGE);
     }
     //Générer le contenu de la page
     $query = 'SELECT db_param' . ' FROM ' . DB_PREFIX . 'item_db' . ' WHERE db_id=:livreId' . ' LIMIT 1;';
     //4 = Texte page d'intro
     $prep = $db->prepare($query);
     $prep->bindValue(':livreId', 4, PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $content = $prep->fetch();
     if ($content === false) {
         return fctErrorMSG('Texte non-trouvé :(');
     }
     //Placer le contenu de la page dans le template
     $tpl->set('PAGE_CONTENU', BBCodes(stripslashes($content[0])));
     //Retourner le template complété/rempli
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Visitor/main.htm', __FILE__, __LINE__);
 }
예제 #20
0
 public static function generatePage(&$tpl, &$session, &$account)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     if (!isset($_GET['u']) || !isset($_GET['c'])) {
         return fctErrorMSG('Adresse invalide.');
     }
     $query = 'SELECT code_validation' . ' FROM ' . DB_PREFIX . 'account' . ' WHERE user=:user' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':user', $_GET['u'], PDO::PARAM_STR);
     $prep->execute($db);
     $content = $prep->fetch();
     if ($content === false) {
         return fctErrorMSG('Aucune correspondance pour ce nom d\'utilisateur.');
     }
     if ($content[0] != $_GET['c']) {
         return fctErrorMSG('Le code de validation est invalide.');
     }
     $query = 'UPDATE ' . DB_PREFIX . 'account' . ' SET code_validation = NULL' . ' WHERE user = :user' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':user', $_GET['u'], PDO::PARAM_STR);
     $prep->execute($db);
     //Retourner le template complété/rempli
     if (isset($_GET['change'])) {
         return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Visitor/validerEmailChange.htm', __FILE__, __LINE__);
     } else {
         return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Visitor/validerEmail.htm', __FILE__, __LINE__);
     }
 }
예제 #21
0
파일: CasinoAdd.php 프로젝트: BalamWeb/ccv4
 private static function save()
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     //Valider si un casino existe déjà dans ce lieu
     $query = 'SELECT casino_id' . ' FROM ' . DB_PREFIX . 'casino' . ' WHERE casino_lieu=:casinoLieu' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':casinoLieu', $_POST['casino_lieu'], PDO::PARAM_STR);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     if ($arr !== false) {
         return fctErrorMSG('Un casino existe déjà dans ce lieu.', '?mj=Lieu_CasinoAdd', null, false);
     }
     $query = 'INSERT INTO ' . DB_PREFIX . 'casino' . ' (casino_lieu, casino_nom, casino_cash)' . ' VALUES' . ' (:lieu, :nom, :cash);';
     $prep = $db->prepare($query);
     $prep->bindValue(':lieu', $_POST['casino_lieu'], PDO::PARAM_STR);
     $prep->bindValue(':nom', $_POST['casino_nom'], PDO::PARAM_STR);
     $prep->bindValue(':cash', $_POST['casino_cash'], PDO::PARAM_INT);
     $prep->execute($db, __FILE__, __LINE__);
     $prep->closeCursor();
     $prep = NULL;
     return true;
 }
예제 #22
0
파일: Background.php 프로젝트: FMaz008/ccv4
 public static function generatePage(&$tpl, &$session, &$account)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     //Définir la page à afficher ( par défaut: resume )
     if (!isset($_GET['p'])) {
         $p = "resume";
     } elseif (is_numeric($_GET['p'])) {
         $p = (int) $_GET['p'];
     } else {
         return fctErrorMSG('page introuvable');
     }
     //Validation de la page
     if ($p != "resume" && !is_numeric($p)) {
         return fctBugReport("Format invalide", $p, __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, true, true, true);
     }
     if (is_numeric($p) && ($p < 1 || $p > 9)) {
         return fctBugReport("Range invalide", $p, __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, true, true, true);
     }
     //Fetcher le contenu adéquat
     $pageContenu = $tpl->fetch($account->getSkinRemotePhysicalPath() . '../_common/background/bg_' . $p . '.htm', __FILE__, __LINE__);
     $pageMenu = $tpl->fetch($account->getSkinRemotePhysicalPath() . '../_common/background/bg_menu.htm', __FILE__, __LINE__);
     //Placer le contenu de la page dans le template et appliquer les BBCodes si nécéssaires
     $tpl->set('PAGE_MENU', $pageMenu);
     $tpl->set('PAGE_CONTENU', BBCodes($pageContenu, false, false));
     //Ne pas remplacer les sauts de lignes
     //Retourner le template complété/rempli
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Visitor/background.htm', __FILE__, __LINE__);
 }
예제 #23
0
 public static function generatePage(&$tpl, &$session, &$account, &$mj)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     if (!isset($_POST['casierId'])) {
         return fctErrorMSG('Vous devez sélectionner un casier.', '?mj=Lieu_Inventaire&id=' . $_GET['id'] . '&cid=' . $_POST['casier'], null, false);
     }
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'lieu_casier' . ' WHERE id=:casierId' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':casierId', $_POST['casierId'], PDO::PARAM_INT);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     //Créer l'objet Casier (à qui donner l'item)
     $casier = new Member_Casier($arr);
     foreach ($_POST['invId'] as $itemId) {
         //Si l'item ne supporte pas la gestion de quantité, simplement considérer sa quantité comme étant de 1.
         if (!isset($_POST['inv' . $itemId])) {
             $_POST['inv' . $itemId] = 1;
         }
         //Créer l'objet item à transférer
         $item = Member_ItemFactory::createFromInvId($itemId);
         //Si l'item est caché, le dé-cacher
         if ($item->iscache()) {
             $item->decacherObjet();
         }
         $item->transfererVersCasier($casier, $_POST['inv' . $itemId]);
     }
     //Retourner le template complété/rempli
     $tpl->set('PAGE', 'Lieu_Inventaire&id=' . $_GET['id']);
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/redirect.htm', __FILE__, __LINE__);
 }
예제 #24
0
    public static function generatePage(&$tpl, &$session, &$account, &$perso)
    {
        $dbMgr = DbManager::getInstance();
        //Instancier le gestionnaire
        $db = $dbMgr->getConn('game');
        //Demander la connexion existante	//BUT: Démarrer un template propre à cette page
        //Valider si le joueur à accès à Internet
        if (Member_Action_Item_Navigateur::checkAccess($perso) === false) {
            return fctErrorMSG('Vous n\'avez pas accès à Internet.');
        }
        //Vérifier l'état du perso
        if (!$perso->isConscient()) {
            die('01|' . rawurlencode('Votre n\'êtes pas en état d\'effectuer cette action.'));
        }
        if (!is_numeric($_POST['no'])) {
            die('13|Id de la page invalide');
        }
        //Valider si la personne a le droit de modifier la page
        $query = 'SELECT a.modifier, a.admin, p.*, pa.id as paid, w.url' . ' FROM ' . DB_PREFIX . 'sitesweb_pages as p' . ' LEFT JOIN ' . DB_PREFIX . 'sitesweb_acces as a ON (a.site_id=p.site_id)' . ' LEFT JOIN ' . DB_PREFIX . 'sitesweb_pages_acces as pa ON (pa.page_id = p.id AND user_id = a.id)' . ' LEFT JOIN ' . DB_PREFIX . 'sitesweb as w ON (w.id = a.site_id)' . ' WHERE	p.id =:id' . ' AND a.user=:user' . ' AND a.pass=:pass' . ' LIMIT 1;';
        $prep = $db->prepare($query);
        $prep->bindValue(':user', $_POST['user'], PDO::PARAM_STR);
        $prep->bindValue(':pass', $_POST['pass'], PDO::PARAM_STR);
        $prep->bindValue(':id', $_POST['no'], PDO::PARAM_INT);
        $prep->executePlus($db, __FILE__, __LINE__);
        $arr = $prep->fetch();
        $prep->closeCursor();
        $prep = NULL;
        if ($arr === false) {
            die('10|' . rawurlencode('Cette URL n\'existe pas.'));
        }
        if ($arr['modifier'] == '0' && $arr['admin'] == '0') {
            die('11|' . rawurlencode('Vous ne possèdez pas les autorisations nécésaires (1).'));
        }
        if ($arr['admin'] == '0' && $arr['acces'] == 'priv' && empty($arr['paid'])) {
            die('12|' . rawurlencode('Vous ne possèdez pas les autorisations nécésaires (2).'));
        }
        //Tout est ok, Créer la page !!!!!
        if ($_POST['adddel'] == 'true') {
            $query = 'INSERT INTO ' . DB_PREFIX . 'sitesweb_pages_acces
						(`user_id`,`page_id`)
						VALUES
						(:user_id, :page_id);';
            $prep = $db->prepare($query);
            $prep->bindValue(':user_id', $_POST['userid'], PDO::PARAM_INT);
            $prep->bindValue(':page_id', $_POST['no'], PDO::PARAM_INT);
            $prep->executePlus($db, __FILE__, __LINE__);
            $prep->closeCursor();
            $prep = NULL;
        } else {
            $query = 'DELETE FROM ' . DB_PREFIX . 'sitesweb_pages_acces' . ' WHERE	`user_id` =:user_id' . ' AND `page_id` =:page_id;';
            $prep = $db->prepare($query);
            $prep->bindValue(':user_id', $_POST['userid'], PDO::PARAM_INT);
            $prep->bindValue(':page_id', $_POST['no'], PDO::PARAM_INT);
            $prep->executePlus($db, __FILE__, __LINE__);
            $prep->closeCursor();
            $prep = NULL;
        }
        die('OK|' . $perso->getPa() . '|' . $arr['url'] . '/' . $_POST['no']);
        //Tout est OK
    }
예제 #25
0
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante	//BUT: Démarrer un template propre à cette page
     //Vérifier l'état du perso
     if (!$perso->isAutonome()) {
         return fctErrorMSG('Votre n\'êtes pas en état d\'effectuer cette action.');
     }
     //Rechercher le casino
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'casino' . ' WHERE casino_lieu=:nomTech' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':nomTech', $perso->getLieu()->getNomTech(), PDO::PARAM_STR);
     $prep->executePlus($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     //Valider si le casino existe
     if (!$arr) {
         return fctErrorMSG('Ce casino est actuellement innaccessible ou innexistante (' . $perso->getLieu()->getNomTech() . ').');
     }
     $tpl->set('CASINO', $arr);
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/CasinoMachine.htm', __FILE__, __LINE__);
 }
예제 #26
0
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante	//BUT: Démarrer un template propre à cette page
     //Rechercher la banque
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'banque' . ' WHERE banque_lieu=:nomTech' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':nomTech', $perso->getLieu()->getNomTech(), PDO::PARAM_STR);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     //Valider si la banque existe
     if ($arr === false) {
         return fctErrorMSG('Cette banque n\'existe pas (' . $perso->getLieu()->getNomTech() . ').');
     }
     //Instancier la banque
     $banque = new Member_Banque($arr);
     //Passer objets au template
     $tpl->set('PA', $perso->getPa());
     $tpl->set('CASH', $perso->getCash());
     $tpl->set('BANQUE', $banque);
     $tpl->set('BANK_ACCOUNT_NAME', $perso->getNom());
     //Afficher la page
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/Banque_compte_add.htm', __FILE__, __LINE__);
 }
예제 #27
0
 public static function generatePage(&$tpl, &$session, &$account, &$mj)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     //Options de tri
     $arrTriable = array('db_id', 'db_nom', 'db_valeur', 'db_pr');
     if (isset($_GET['tri']) && isset($_GET['par'])) {
         if (!in_array($_GET['tri'], array('ASC', 'DESC'), true)) {
             return fctErrorMSG('Paramètre de tri invalide(1).');
         }
         if (!in_array('db_' . $_GET['par'], $arrTriable, true)) {
             return fctErrorMSG('Paramètre de tri invalide(2).');
         }
         $field = 'db_' . $_GET['par'];
         $sort = $_GET['tri'];
     } else {
         $field = 'db_soustype, db_nom';
         $sort = 'ASC';
     }
     $query = 'SELECT ' . implode(',', $arrTriable) . ',' . ' COUNT(`inv_id`) as `qte_circu`' . ' FROM `' . DB_PREFIX . 'item_db`' . ' LEFT JOIN `' . DB_PREFIX . 'item_inv` ON(`inv_dbid` = `db_id`)' . ' WHERE `db_type` = "talkiewalkie"' . ' GROUP BY `db_id`' . ' ORDER BY ' . $field . ' ' . $sort . ';';
     $prep = $db->prepare($query);
     $prep->executePlus($db, __FILE__, __LINE__);
     $result = $prep->fetchAll();
     $prep->closeCursor();
     $prep = NULL;
     if (count($result) > 0) {
         $tpl->set("ITEMS", $result);
     }
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . '/html/Mj/Item/Talkiewalkie.htm');
 }
예제 #28
0
파일: LivreMod.php 프로젝트: BalamWeb/ccv4
 public static function generatePage(&$tpl, &$session, &$account, &$mj)
 {
     if (!isset($_POST['db_id']) && isset($_GET['id'])) {
         $_POST['db_id'] = $_GET['id'];
     }
     if (!isset($_POST['db_id'])) {
         return fctErrorMSG('Vous devez sélectionner un objet.');
     }
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     if (isset($_POST['save'])) {
         self::save();
         die("<script>location.href='?mj=Item_Livre';</script>");
     }
     $tpl->set('ACTIONTYPETXT', "Modifier");
     $tpl->set('SUBMITNAME', 'Mod');
     $tpl->set('SHOWID', true);
     $query = 'SELECT `db_id`,' . ' `db_nom`,' . ' `db_desc`,' . ' `db_pass`,' . ' `db_img`,' . ' `db_pr`,' . ' `db_param`,' . ' `db_valeur`,' . ' `db_resistance`,' . ' `db_notemj`' . ' FROM  `' . DB_PREFIX . 'item_db`' . ' WHERE `db_id` = :db_id;';
     $prep = $db->prepare($query);
     $prep->bindValue(':db_id', $_POST['db_id'], PDO::PARAM_INT);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     $tpl->set('ITEM', $arr);
     //lister le dossier d'image
     $dir2 = dir($account->getSkinRemotePhysicalPath() . "../_common/items/");
     $counter = 0;
     $arrurl = array();
     $arr = array();
     while ($url = $dir2->read()) {
         $arrurl[$counter++] = $url;
     }
     natcasesort($arrurl);
     $arrurl = array_values($arrurl);
     for ($i = 0; $i < count($arrurl); $i++) {
         if ($arrurl[$i] != '' && substr($arrurl[$i], 0, 1) != '.') {
             $arr[$i] = $arrurl[$i];
         }
     }
     $tpl->set('IMGS', $arr);
     //Générer la liste des actions associable à un lieu
     $query = 'SELECT `id`, `url`, `caption`' . ' FROM `' . DB_PREFIX . 'item_menu`' . ' WHERE `item_dbid` = :db_id;';
     $prep = $db->prepare($query);
     $prep->bindValue(':db_id', $_POST['db_id'], PDO::PARAM_INT);
     $prep->execute($db, __FILE__, __LINE__);
     $result = $prep->fetchAll();
     $prep->closeCursor();
     $prep = NULL;
     if (count($result) > 0) {
         $ACTIONS = array();
         foreach ($result as $arr) {
             $ACTIONS[] = $arr;
         }
         $tpl->set('ACTIONS', $ACTIONS);
     }
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Item/Livre_Addmod.htm');
 }
예제 #29
0
 public static function generatePage(&$tpl, &$session, &$account, &$mj)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     if (!isset($_POST['itemId'])) {
         return fctErrorMSG('Vous devez sélectionner un item.', '?mj=Lieu_Inventaire&id=' . $_GET['id'], null, false);
     }
     //Créer l'objet item vers/dans lequel transférer les items.
     $itemTo = Member_ItemFactory::createFromInvId($_POST['itemId']);
     foreach ($_POST['invId'] as $itemId) {
         //Si l'item ne supporte pas la gestion de quantité, simplement considérer sa quantité comme étant de 1.
         if (!isset($_POST['inv' . $itemId])) {
             $_POST['inv' . $itemId] = 1;
         }
         //Créer l'objet item à transférer
         $item = Member_ItemFactory::createFromInvId($itemId);
         //Si l'item est caché, le dé-cacher
         if ($item->iscache()) {
             $item->decacherObjet();
         }
         $item->transfererVersItem($itemTo, $_POST['inv' . $itemId]);
     }
     //Retourner le template complété/rempli
     $tpl->set('PAGE', 'Lieu_Inventaire&id=' . $_GET['id']);
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/redirect.htm', __FILE__, __LINE__);
 }
예제 #30
0
    function generatePage(&$tpl, &$session, &$account)
    {
        //BUT: Démarrer un template propre à cette page
        $dbMgr = DbManager::getInstance();
        //Instancier le gestionnaire
        $db = $dbMgr->getConn('game');
        //Demander la connexion existante
        //Aller chercher les notices de pré-inscription
        $query = 'SELECT db_param' . ' FROM ' . DB_PREFIX . 'item_db' . ' WHERE db_id=:livre_id;';
        //8 = NOTICES
        $prep = $db->prepare($query);
        $prep->bindValue(':livre_id', 8, PDO::PARAM_INT);
        $prep->executePlus($db, __FILE__, __LINE__);
        $arr = $prep->fetch();
        if ($arr === false) {
            return fctErrorMSG('Les notices de pré-inscription sont introuvables.');
        }
        $tpl->set('NOTICES', BBCodes(stripslashes($arr['db_param'])));
        //Aller chercher les règles HJ
        $query = 'SELECT db_param
					FROM ' . DB_PREFIX . 'item_db
					WHERE db_id=:livre_id;';
        //6 = Règles HJ
        $prep = $db->prepare($query);
        $prep->bindValue(':livre_id', 6, PDO::PARAM_INT);
        $prep->executePlus($db, __FILE__, __LINE__);
        $arr = $prep->fetch();
        if ($arr === false) {
            return fctErrorMSG('Texte des règles HJ introuvable.');
        }
        $tpl->set('REGLES', BBCodes(stripslashes($arr['db_param'])));
        //Retourner le template complété/rempli
        return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Visitor/inscription.htm', __FILE__, __LINE__);
    }