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 }
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|Votre n\'êtes pas en état d\'effectuer cette action.'); } if (!preg_match('/^[A-Za-z0-9.-_]+$/', $_POST['url'], $matches)) { die('03|L\'URL du site est invalide (' . $_POST['url'] . ').'); } //Vérifier si l'URL existe $site = Member_Siteweb::loadSite($_POST['url']); if (!$site) { die('10|Cette URL n\'existe pas.'); } //Vérifier si l'accès est valide $acces = $site->checkAcces($_POST['user'], $_POST['pass']); if ($acces === false) { die('11|Vous ne possèdez pas les autorisations nécésaires (1).'); } if (!$acces->canPoste() && !$acces->isAdmin()) { die('12|Vous ne possèdez pas les autorisations nécésaires (2).'); } //Tout est ok, Créer la page !!!!! $query = 'INSERT INTO ' . DB_PREFIX . 'sitesweb_pages' . ' (`site_id`, `titre`, `content`, `acces`, `showIndex`)' . ' VALUES' . ' (:site_id, :titre, :content, :acces, :showIndex);'; $prep = $db->prepare($query); $prep->bindValue(':site_id', $site->getId(), PDO::PARAM_INT); $prep->bindValue(':titre', $_POST['titre'], PDO::PARAM_STR); $prep->bindValue(':content', $_POST['content'], PDO::PARAM_STR); $prep->bindValue(':acces', $_POST['acces'] == 'true' ? 'pub' : 'priv', PDO::PARAM_STR); $prep->bindValue(':showIndex', $_POST['showIndex'] == 'true' ? '1' : '0', PDO::PARAM_STR); $prep->executePlus($db, __FILE__, __LINE__); $prep->closeCursor(); $prep = NULL; $pageid = $db->lastInsertId(); //Si la page est privé et que la personne qui crée est pas admin, lui donner droit d'accès if ($_POST['acces'] == 'priv' && $acces['admin'] != 1) { $query = 'INSERT INTO ' . DB_PREFIX . 'sitesweb_pages_acces (`page_id`, `user_id`) VALUES (:page_id,:user_id);'; $prep->bindValue(':page_id', $pageid, PDO::PARAM_INT); $prep->bindValue(':user_id', $acces['id'], PDO::PARAM_INT); $prep->executePlus($db, __FILE__, __LINE__); $prep->closeCursor(); $prep = NULL; } die('OK|' . $perso->getPa() . '|' . $_POST['url'] . '/' . $pageid); //Tout est OK }
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 (!preg_match('/^[A-Za-z0-9.-_]*$/', $_POST['url'], $matches)) { return fctErrorMsg('L\'URL du site est invalide.'); } //Vérifier si l'URL existe $site = Member_Siteweb::loadSite($_POST['url']); if (!$site) { die('10|' . rawurlencode('Cette URL n\'existe pas.')); } //Vérifier si l'accès est valide $acces = $site->checkAcces($_POST['user'], $_POST['pass']); if ($acces === false) { die('11|' . rawurlencode('Vous ne possèdez pas les autorisations nécésaires (1).')); } if (!$acces->isAdmin()) { die('12|' . rawurlencode('Vous ne possèdez pas les autorisations nécésaires (2).')); } //Tout est ok, modifier le site !!!!! //Valider si la page d'accueil demandée appartiend au site $query = 'SELECT id' . ' FROM ' . DB_PREFIX . 'sitesweb_pages' . ' WHERE site_id = :site_id' . ' AND id = :id;'; $prep = $db->prepare($query); $prep->bindValue(':site_id', $site->getId(), PDO::PARAM_INT); $prep->bindValue(':id', $_POST['accueil'], PDO::PARAM_INT); $prep->execute($db, __FILE__, __LINE__); $arr = $prep->fetch(); $prep->closeCursor(); $prep = NULL; if ($arr === false) { $_POST['accueil'] = 0; } $query = 'UPDATE ' . DB_PREFIX . 'sitesweb' . ' SET `url` =:urlNew,' . ' `titre` =:titre,' . ' `acces` =:acces,' . ' `first_page`=:firstPage' . ' WHERE url=:urlOld;'; $prep = $db->prepare($query); $prep->bindValue(':urlNew', $_POST['new_url'], PDO::PARAM_STR); $prep->bindValue(':titre', $_POST['titre'], PDO::PARAM_STR); $prep->bindValue(':acces', $_POST['acces'], PDO::PARAM_STR); $prep->bindValue(':firstPage', $_POST['accueil'], PDO::PARAM_INT); $prep->bindValue(':urlOld', $_POST['url'], PDO::PARAM_STR); $prep->execute($db, __FILE__, __LINE__); $prep->closeCursor(); $prep = NULL; die('OK|' . $perso->getPa() . '|' . $_POST['new_url']); //Tout est OK }
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.'); } //Retourner le template complété/rempli return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/OrdinateurFixe.htm', __FILE__, __LINE__); }
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 $actionPa = 3; $cout_ouverture = 7500; if ($perso->getPa() <= $actionPa) { return fctErrorMsg('Vous n\'avez pas assez de PA pour effectuer cette action.'); } if (!isset($_POST['url'])) { return fctErrorMsg('Paramètre requis manquant.'); } //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|' . 'Votre n\'êtes pas en état d\'effectuer cette action.'); } if ($perso->getPa() < $actionPa) { die('02|' . 'Vous n\'avez pas assez de PA pour effectuer cette action.'); } if (!preg_match('/^[A-Za-z0-9\\.-_]+$/', $_POST['url'], $matches)) { die('03|' . 'L\'URL dU site est invalide.'); } if (!preg_match('/^([0-9]{4})-([0-9]{4}-[0-9]{4}-[0-9]{4})-([0-9]+)$/', $_POST['no'], $matches)) { die('04|' . 'Le # de la carte est invalide.'); } $carte_banque = $matches[1]; $carte_compte = $matches[2]; $carte_id = $matches[3]; $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'banque_cartes' . ' WHERE carte_banque=:carteBanque' . ' AND carte_compte=:carteCompte' . ' AND carte_id =:carteId' . ' LIMIT 1;'; $prep = $db->prepare($query); $prep->bindValue(':carteBanque', $carte_banque, PDO::PARAM_STR); $prep->bindValue(':carteCompte', $carte_compte, PDO::PARAM_STR); $prep->bindValue(':carteId', $carte_id, PDO::PARAM_INT); $prep->executePlus($db, __FILE__, __LINE__); $carte = $prep->fetch(); $prep->closeCursor(); $prep = NULL; if ($carte === false) { die('05|' . 'Cette carte est innexistante.'); } if ($carte['carte_valid'] == 0) { die('06|' . 'Cette carte a été désactivée.'); } if ($carte['carte_nip'] != $_POST['nip']) { die('07|' . 'NIP erroné.'); } //Valider le montant du compte associé à la carte $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'banque_comptes' . ' WHERE compte_banque=:carteBanque' . ' AND compte_compte=:carteCompte;'; $prep = $db->prepare($query); $prep->bindValue(':carteBanque', $carte_banque, PDO::PARAM_STR); $prep->bindValue(':carteCompte', $carte_compte, PDO::PARAM_STR); $prep->executePlus($db, __FILE__, __LINE__); $arr = $prep->fetch(); $prep->closeCursor(); $prep = NULL; if ($arr === false) { die('08|' . 'Le compte associé à la carte a été fermé.'); } $compte = new Member_BanqueCompte($arr); if ($compte->getCash() < $cout_ouverture) { die('09|' . 'Compte sans fond.'); } //Vérifier si l'URL existe déjà $query = 'SELECT id' . ' FROM ' . DB_PREFIX . 'sitesweb' . ' WHERE url=:url;'; $prep = $db->prepare($query); $prep->bindValue(':url', $_POST['url'], PDO::PARAM_STR); $prep->executePlus($db, __FILE__, __LINE__); $arr = $prep->fetch(); $prep->closeCursor(); $prep = NULL; if ($arr !== false) { die('10|' . 'Cette URL existe déjà, veuillez en choisir une autre.'); } //Tout est ok, Créer le site !!!!! $perso->changePa('-', $actionPa); $perso->setPa(); $compte->changeCash('-', $cout_ouverture); $compte->setCash(); $compte->add_bq_hist('', 'WWWA', $cout_ouverture); $query = 'INSERT INTO ' . DB_PREFIX . 'sitesweb' . ' (`url`, `titre`, `acces`)' . ' VALUES' . ' (:url, :titre, "pub");'; $prep = $db->prepare($query); $prep->bindValue(':url', $_POST['url'], PDO::PARAM_STR); $prep->bindValue(':titre', $_POST['titre'], PDO::PARAM_STR); $prep->executePlus($db, __FILE__, __LINE__); $prep->closeCursor(); $prep = NULL; $siteid = $db->lastInsertId(); //Créer l'accès admin au site $query = 'INSERT INTO ' . DB_PREFIX . 'sitesweb_acces' . ' (`site_id`, `user`, `pass`, `accede`, `poste`, `modifier`, `admin`)' . ' VALUES' . ' (:siteId, :user, :pass, "1", "1", "1", "1");'; $prep = $db->prepare($query); $prep->bindValue(':siteId', $siteid, PDO::PARAM_INT); $prep->bindValue(':user', $_POST['user'], PDO::PARAM_STR); $prep->bindValue(':pass', $_POST['pass'], PDO::PARAM_STR); $prep->executePlus($db, __FILE__, __LINE__); $prep->closeCursor(); $prep = NULL; die('OK|' . $perso->getPa() . '|' . $_POST['url']); //Tout est OK }
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 (!preg_match('/^([^\\/]+)(?:[\\/]([0-9]+))?(?:[?](.+))?/', $_POST['url'], $matches)) { die('03|' . rawurlencode('L\'URL du site est invalide.')); } if (count($matches) <= 2) { die('04|' . rawurlencode('L\'id du site est manquant ou invalide.')); } //Vérifier si l'URL existe $site = Member_Siteweb::loadSite($matches[1]); if (!$site) { die('10|' . rawurlencode('Cette URL n\'existe pas.')); } //Vérifier si l'accès est valide $acces = $site->checkAcces($_POST['user'], $_POST['pass']); if (!$acces) { die('11|' . rawurlencode('Vous ne possèdez pas les autorisations nécésaires (1).')); } if (!$acces->canModifier() && !$acces->isAdmin()) { die('12|' . rawurlencode('Vous ne possèdez pas les autorisations nécésaires (2).')); } //Vérifier que la page appartient au site $i = 0; $e = 0; $found = false; while ($page = $site->getPage($i++)) { if ($page->getId() == $matches[2]) { $found = true; } } if (!$found) { die('12|' . rawurlencode('Cette page n\'appartiend pas à ce site.')); } //Tout est ok, Effacer la page :( $query = 'DELETE FROM ' . DB_PREFIX . 'sitesweb_pages_acces' . ' WHERE page_id=:id;'; $prep = $db->prepare($query); $prep->bindValue(':id', $matches[2], PDO::PARAM_INT); $prep->execute($db, __FILE__, __LINE__); $prep->closeCursor(); $prep = NULL; $query = 'DELETE FROM ' . DB_PREFIX . 'sitesweb_pages WHERE id=:id;'; $prep = $db->prepare($query); $prep->bindValue(':id', $matches[2], PDO::PARAM_INT); $prep->execute($db, __FILE__, __LINE__); $prep->closeCursor(); $prep = NULL; die('OK|' . $perso->getPa()); //Tout est OK }