示例#1
0
 function __construct($page_cd = null)
 {
     if (Utils::isEmpty($page_cd)) {
         Utils::log(Message::MSG_PAGE_CD_NOT_FOUND);
         return false;
     }
     $db_mgr = new DbManager();
     $this->mysqli = $db_mgr->getMysqli();
     $ql = "select * from `pages` where `page_cd` = '{$page_cd}' ";
     $res = $this->mysqli->query($ql);
     $this->page = $res->fetch_assoc();
 }
示例#2
0
 public static function getInstance()
 {
     if (is_null(self::$instance)) {
         self::$instance = new DbManager();
     }
     return self::$instance;
 }
示例#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
 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__);
 }
示例#5
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__);
 }
示例#6
0
 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;
 }
示例#7
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
     if (!isset($_POST['game'])) {
         die('1');
     }
     //Vérifier l'état du perso
     if (!$perso->isAutonome()) {
         die('2');
     }
     //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) {
         die('2');
     }
     $casino = new Member_Casino($arr);
     switch ($_POST['game']) {
         case 'machine':
             self::machine($db, $perso, $casino);
             break;
     }
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/CasinoMachine.htm', __FILE__, __LINE__);
 }
示例#8
0
 private static function save()
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     $query = 'INSERT INTO ' . DB_PREFIX . 'lieu_casier' . ' (nom_casier, lieuId, resistance_casier, capacite_casier, protection_casier, pass_casier)' . ' VALUES' . ' (:nom, :lieuId, :resistance, :capacite, :protection, :pass);';
     $prep = $db->prepare($query);
     $prep->bindValue(':nom', $_POST['nom_casier'], PDO::PARAM_STR);
     $prep->bindValue(':lieuId', $_POST['lieu_id'], PDO::PARAM_INT);
     $prep->bindValue(':resistance', $_POST['resistance_casier'], PDO::PARAM_INT);
     $prep->bindValue(':capacite', $_POST['capacite_casier'], PDO::PARAM_INT);
     $prep->bindValue(':protection', $_POST['protection_casier'], PDO::PARAM_STR);
     if (isset($_POST['pass_casier'])) {
         $prep->bindValue(':pass', $_POST['pass_casier'], PDO::PARAM_STR);
     } else {
         $prep->bindValue(':pass', NULL, PDO::PARAM_NULL);
     }
     $prep->execute($db, __FILE__, __LINE__);
     $prep->closeCursor();
     $prep = NULL;
     if (isset($_POST['LIEU_ID'])) {
         die("<script type=\"text/javascript\">location.href='?mj=Lieu_Casiers&id=" . $_POST['LIEU_ID'] . "';</script>");
     } else {
         die("Sauvegardé.");
     }
 }
示例#9
0
文件: Badge.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
     //Sauvegarder les informations
     $query = 'UPDATE `' . DB_PREFIX . 'item_inv`' . ' SET `inv_persoid` 			= :inv_persoid,' . ' `inv_equip`				= NULL,' . ' `inv_lieutech` 			= :inv_lieutech,' . ' `inv_boutiquelieutech` 	= :inv_boutiquelieutech,' . ' `inv_idcasier` 			= :inv_idcasier,' . ' `inv_itemid` 			= :inv_itemid,' . ' `inv_param`				= :inv_param,' . ' `inv_memoiretext`		= :inv_memoiretext,' . ' `inv_resistance` 		= :inv_resistance,' . ' `inv_extradesc` 		= :inv_extradesc,' . ' `inv_notemj` 			= :inv_notemj' . ' WHERE `inv_id` = :inv_id;';
     $prep = $db->prepare($query);
     //Déterminer qui a ou non l'item en sa possession (qui = lieu, casier, perso, boutique, etc.)
     switch ($_POST['attacheA']) {
         case 'perso':
             $prep->bindValue(':inv_persoid', $_POST['inv_persoid'], PDO::PARAM_INT);
             $prep->bindValue(':inv_lieutech', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_boutiquelieutech', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_idcasier', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_itemid', NULL, PDO::PARAM_NULL);
             break;
         case 'lieu':
             $prep->bindValue(':inv_persoid', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_lieutech', $_POST['inv_lieutech'], PDO::PARAM_STR);
             $prep->bindValue(':inv_boutiquelieutech', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_idcasier', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_itemid', NULL, PDO::PARAM_NULL);
             break;
         case 'casier':
             $prep->bindValue(':inv_persoid', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_lieutech', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_boutiquelieutech', $_POST['inv_casierid'], PDO::PARAM_STR);
             $prep->bindValue(':inv_idcasier', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_itemid', NULL, PDO::PARAM_NULL);
             break;
         case 'item':
             $prep->bindValue(':inv_persoid', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_lieutech', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_boutiquelieutech', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_idcasier', $_POST['inv_itemid'], PDO::PARAM_INT);
             $prep->bindValue(':inv_itemid', NULL, PDO::PARAM_NULL);
             break;
         case 'boutique':
             $prep->bindValue(':inv_persoid', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_lieutech', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_boutiquelieutech', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_idcasier', NULL, PDO::PARAM_NULL);
             $prep->bindValue(':inv_itemid', $_POST['inv_boutiquelieutech'], PDO::PARAM_INT);
             break;
     }
     $prep->bindValue(':inv_param', $_POST['inv_param'], PDO::PARAM_STR);
     $prep->bindValue(':inv_memoiretext', $_POST['inv_memoiretext'], PDO::PARAM_STR);
     $prep->bindValue(':inv_resistance', $_POST['inv_resistance'], PDO::PARAM_INT);
     $prep->bindValue(':inv_extradesc', $_POST['inv_extradesc'], PDO::PARAM_STR);
     $prep->bindValue(':inv_notemj', $_POST['inv_notemj'], PDO::PARAM_STR);
     $prep->bindValue(':inv_id', $_GET['id'], PDO::PARAM_INT);
     $prep->execute($db, __FILE__, __LINE__);
     $prep->closeCursor();
     $prep = NULL;
     //Retourner le template complété/rempli
     $tpl->set('PAGE', $_GET['rpage'] . '&id=' . $_GET['rid']);
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/redirect.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
        //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
    }
示例#11
0
 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__);
 }
示例#12
0
 /**
  * @see lib/classes/Config::fetchData()
  */
 protected function fetchData($data = null)
 {
     if ($data !== null) {
         $this->data = $data;
     } else {
         $this->data = array();
         foreach (Config::get()->getFields('user') as $field) {
             $this->data[$field] = Config::get()->{$field};
             $metadata[$field] = Config::get()->getMetadata($field);
         }
         $db = DbManager::get();
         $rs = $db->query("SELECT field, value FROM user_config WHERE user_id = " . $db->quote($this->user_id));
         while ($row = $rs->fetch(PDO::FETCH_ASSOC)) {
             switch ($metadata[$row['field']]['type']) {
                 case 'integer':
                     $value = (int) $row['value'];
                     break;
                 case 'boolean':
                     $value = (bool) $row['value'];
                     break;
                 case 'array':
                     $value = studip_utf8decode((array) json_decode($row['value'], true));
                     break;
                 default:
                     $value = $row['value'];
             }
             $this->data[$row['field']] = $value;
         }
     }
 }
示例#13
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__);
     }
 }
示例#14
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__);
 }
示例#15
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
     $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__);
 }
示例#16
0
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     $i = 0;
     while ($item = $perso->getInventaire($i++)) {
         if ($item instanceof Member_ItemRadio && $item->getInvId() == $_POST['idradio']) {
             $radio = $item;
             break;
         }
     }
     if (!isset($radio)) {
         die('Cet objet ne vous appartient pas.');
     }
     if (empty($_POST['frequence'])) {
         $_POST['frequence'] = 0;
     }
     if (!is_numeric($_POST['frequence'])) {
         die('Cette fréquence n\'est pas numérique');
     }
     $radio->majFrequence($_POST['frequence']);
     die($radio->getInvId() . '|' . $_POST['frequence']);
 }
示例#17
0
文件: Test.php 项目: BalamWeb/ccv4
 public static function generatePage(&$tpl, &$session, &$account)
 {
     $timeNow = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"));
     $timeNowAff = fctToGameTime($timeNow);
     $timeFutur = strtotime("+1 month", $timeNow);
     $timeFuturAff = fctToGameTime($timeFutur);
     $tpl->set('TIMENOW', $timeNow);
     $tpl->set('TIMENOWAFF', $timeNowAff);
     $tpl->set('TIMEFUTUR', $timeFutur);
     $tpl->set('TIMEFUTURAFF', $timeFuturAff);
     $transactionArr = array('transaction_id' => 10, 'transaction_compte_from' => '1111-1111', 'transaction_compte_to' => '2222-2222', 'transaction_valeur' => 250, 'transaction_description' => 'description test', 'transaction_date' => $timeNow);
     $transaction = new Member_BanqueTransactionAuto($transactionArr);
     $tpl->set('TRANSACTIONARRAY', $transactionArr);
     $tpl->set('TRANSACTION', $transaction);
     $transaction2 = new Member_BanqueTransactionAuto($transactionArr);
     $transaction2->changeCompteIdTo(94);
     $tpl->set('TRANSACTION2', $transaction2);
     $dbMgr = DbManager::getInstance();
     //Instancier le gestionnaire
     $db = $dbMgr->getConn('game');
     //Demander la connexion existante
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'perso_fouille';
     $prep = $db->prepare($query);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     if (!empty($arr)) {
         $arr['expiration'] = fctToGameTime($arr['expiration']);
     }
     $tpl->set('FOUILLE', $arr);
     //Retourner le template complété/rempli
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Visitor/test.htm', __FILE__, __LINE__);
 }
示例#18
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__);
 }
示例#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
 /** Met a jour la clé de cryptage d'une memoire
  * @param int $key Clé numérique de cryptage, ou '' si aucun cryptage
  */
 public function setKey($key)
 {
     if ($key === '') {
         //transforme un '' en NULL
         $key = NULL;
     }
     if ($key != $this->getKey()) {
         $dbMgr = DbManager::getInstance();
         //Instancier le gestionnaire
         $db = $dbMgr->getConn('game');
         //Demander la connexion existante
         $query = 'UPDATE ' . DB_PREFIX . 'item_inv' . ' SET	inv_nip=:nip' . ' WHERE inv_id=:id' . ' LIMIT 1;';
         $prep = $db->prepare($query);
         if ($key === NULL) {
             $prep->bindValue(':nip', NULL, PDO::PARAM_NULL);
         } else {
             $prep->bindValue(':nip', $key, PDO::PARAM_INT);
         }
         $prep->bindValue(':id', $this->getInvId(), PDO::PARAM_INT);
         $prep->executePlus($db, __FILE__, __LINE__);
         $prep->closeCursor();
         $prep = NULL;
         $this->key = $key;
     }
 }
示例#21
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__);
 }
示例#22
0
文件: Lieu.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
        if (isset($_GET['id'])) {
            $_POST['id'] = $_GET['id'];
        }
        /*
        		if(isset($_POST['del']) || isset($_GET['del'])){
        require ('l_del.php');
        
        		}elseif(isset($_POST['mod']) || isset($_GET['mod'])){
        require ('l_mod.php');
        return $tpl->fetch(SITEPATH_TEMPLATE . SITE_SKIN . '/html/mj/l_add-mod.htm');
        
        		}elseif(isset($_POST['add']) || isset($_GET['add'])){
        require ('l_add.php');
        return $tpl->fetch(SITEPATH_TEMPLATE . SITE_SKIN . '/html/mj/l_add-mod.htm');
        
        		}else{
        */
        if (isset($_GET['qte_item'])) {
            //Afficher aussi le nombre d'item dans le lieu
            $query = 'SELECT id, nom_technique, nom_affiche, proprioid, COUNT(inv_id) as qte_item
						FROM ' . DB_PREFIX . 'lieu
						LEFT JOIN ' . DB_PREFIX . 'item_inv ON(inv_lieutech=nom_technique)
						GROUP BY id
						ORDER BY nom_technique ASC;';
        } elseif (isset($_GET['qte_perso'])) {
            //Afficher aussi le nombre de perso dans le lieu
            $query = 'SELECT l.id, l.nom_technique, l.nom_affiche, l.proprioid, COUNT(p.id) as qte_perso
						FROM ' . DB_PREFIX . 'lieu as l
						LEFT JOIN ' . DB_PREFIX . 'perso as p ON(p.lieu=l.nom_technique)
						GROUP BY l.id
						ORDER BY nom_technique ASC;';
        } else {
            //Afficher uniquement la liste des lieux
            $query = 'SELECT id, nom_technique, nom_affiche
						FROM ' . DB_PREFIX . 'lieu
						ORDER BY nom_technique ASC;';
        }
        $prep = $db->prepare($query);
        $prep->executePlus($db, __FILE__, __LINE__);
        $arrAll = $prep->fetchAll();
        $prep->closeCursor();
        $prep = NULL;
        if (count($arrAll) > 0) {
            $LIEUX = array();
            $i = 0;
            foreach ($arrAll as &$arr) {
                $arr['nom_affiché'] = stripslashes($arr['nom_affiche']);
                $LIEUX[$i] = $arr;
                $i++;
            }
            $tpl->set("LIEUX", $LIEUX);
        }
        return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Lieu.htm');
    }
示例#23
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['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__);
 }
示例#24
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($_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__);
 }
示例#25
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');
 }
示例#26
0
文件: LogMp.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
     $query = 'SELECT l.*, a.user' . ' FROM ' . DB_PREFIX . 'log_mp as l' . ' LEFT JOIN ' . DB_PREFIX . 'account as a ON (a.id=l.userId)' . ' ORDER BY `date` DESC' . ' LIMIT 25;';
     $prep = $db->prepare($query);
     $prep->execute($db, __FILE__, __LINE__);
     $LOGS = $prep->fetchAll();
     $prep->closeCursor();
     $prep = NULL;
     foreach ($LOGS as &$arr) {
         $arr['date'] = date('Y/m/d H:i:s', $arr['date']);
         $arr['post'] = str_replace('  ', '&nbsp;&nbsp;', nl2br(var_export(unserialize(stripslashes($arr['post'])), true)));
         if ($arr['statusCC'] != 'valide') {
             $arr['statusCC'] = '<span style="color:red;">' . $arr['statusCC'] . '</span>';
         }
         if ($arr['statusPP'] == 'invalide') {
             $arr['statusPP'] = '<span style="color:red;">' . $arr['statusPP'] . '</span>';
         }
     }
     //envoie des infos à l'autre page (tpl)
     $tpl->set('LOGS', $LOGS);
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Compte/logMp.htm');
 }
示例#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
 public function getPayments()
 {
     $payments = DbManager::i()->select("sf_purchases", array("token", "payerid", "type", "cart", "date", "amount", "pending"), array("userid" => intval($_SESSION['userid'])));
     if ($payments !== false) {
         $purchases = array();
         $pending = array();
         if (!is_array($payments)) {
             $payments = array($payments);
         }
         foreach ($payments as $payment) {
             $payment->type = base64_decode($payment->type);
             $payment->payerid = base64_decode($payment->payerid);
             $payment->cart = (array) json_decode(base64_decode(base64_decode($payment->cart)));
             if ($payment->pending == 1) {
                 array_push($pending, $payment);
             } else {
                 array_push($purchases, $payment);
             }
         }
         $ret = json_encode(array("payments" => $purchases, "pending" => $pending));
         unset($purchases);
         unset($pending);
         unset($payments);
         return $ret;
     }
     Logger::i()->writeLog("Could not get payments, error = " . DbManager::i()->error, 'dev');
     return null;
 }
示例#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
 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;
 }