Example #1
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
    }
Example #2
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|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
    }
Example #3
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 (!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
 }
Example #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
     //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__);
 }
Example #5
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
     $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
 }
Example #6
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 (!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
    }