Exemple #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
     $coutPa = 1;
     if ($perso->getPa() <= $coutPa) {
         return fctErrorMSG('Vous n\'avez pas assez de PA pour effectuer cette action.', $errorUrl);
     }
     //Vérifier les paramêtres requis
     if (!isset($_POST['compte'])) {
         return fctErrorMSG('Ce compte est invalide (aucun compte).');
     }
     //Valider si la case de confirmation à bien été cochée
     if (!isset($_POST['c_check'])) {
         return fctErrorMSG('Vous devez cocher la case pour confirmer que vous voulez bien fermer ce compte.', '?popup=1&amp;m=Action_Lieu_Banque');
     }
     //Valider le # du compte (TODO: REGEX !!!!)
     if (strlen($_POST['compte']) != 19) {
         return fctErrorMSG('Ce compte est invalide (no invalide).');
     }
     $banque_no = substr($_POST['compte'], 0, 4);
     $compte_no = substr($_POST['compte'], 5, 14);
     $tpl->set('COMPTE', $_POST['compte']);
     //Rechercher le compte afin d'y faire des opérations.
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'banque_comptes' . ' WHERE	compte_banque=:banque' . ' AND compte_compte:compte' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':compte', $compte_no, PDO::PARAM_STR);
     $prep->bindValue(':banque', $banque_no, PDO::PARAM_STR);
     $prep->executePlus($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     //Valider si le compte existe
     if ($arr === false) {
         return fctErrorMSG('Ce compte n\'existe pas.');
     }
     //Instancier le compte
     $compte = new Member_BanqueCompte($arr);
     //Vérifier si le compte appartiend bien au perso
     if ($compte->getIdPerso() != $perso->getId()) {
         return fctErrorMSG('Ce compte ne vous appartiend pas.');
     }
     //Effectuer le transfert d'argent (Transférer l'argent du compte vers le perso)
     $perso->changeCash('+', $compte->getCash());
     $perso->setCash();
     //Effacer le compte
     $query = 'DELETE FROM ' . DB_PREFIX . 'banque_comptes' . ' WHERE	compte_id=:compteId' . ' AND compte_idperso=:persoId' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':compteId', $_POST['id'], PDO::PARAM_INT);
     $prep->bindValue(':persoId', $perso->getId(), PDO::PARAM_INT);
     $prep->executePlus($db, __FILE__, __LINE__);
     $prep->closeCursor();
     $prep = NULL;
     //Retirer les PA
     $perso->changePa('-', $coutPa);
     $perso->setPa();
     //Ajouter l'ouverture à l'historique
     $compte->add_bq_hist('', 'FRMT', $compte->getCash(), 0, "FERMÉ");
     //Afficher la page
     $tpl->set('PAGE', 'Action_Lieu_Banque');
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/action_redirect.htm', __FILE__, __LINE__);
 }
Exemple #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
     //Vérifier les paramêtres requis
     if (!isset($_POST['compte'])) {
         return fctErrorMSG('Ce compte est invalide (aucun compte).');
     }
     //Valider le # du compte (TODO: REGEX !!!!)
     if (strlen($_POST['compte']) != 19) {
         return fctErrorMSG('Ce compte est invalide (no invalide).');
     }
     //Séparer le # de banque
     $banque_no = substr($_POST['compte'], 0, 4);
     $compte_no = substr($_POST['compte'], 5, 14);
     //Passer le # de compte au template
     $tpl->set('COMPTE', $_POST['compte']);
     //Rechercher le compte afin d'y faire des opérations.
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'banque_comptes' . ' WHERE	compte_banque=:banque' . ' AND compte_compte=:compte' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':compte', $compte_no, PDO::PARAM_STR);
     $prep->bindValue(':banque', $banque_no, PDO::PARAM_STR);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     //Valider si le compte existe
     if ($arr === false) {
         return fctErrorMSG('Ce compte n\'existe pas (' . $_POST['compte'] . ')');
     }
     //Instancier le compte
     $compte = new Member_BanqueCompte($arr);
     //Vérifier si le compte appartiend bien au perso
     if ($compte->getIdPerso() != $perso->getId()) {
         return fctErrorMSG('Ce compte ne vous appartiend pas.');
     }
     //Lister toutes les transaction
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'banque_historique' . ' WHERE compte=:compte' . ' ORDER BY date ASC;';
     $prep = $db->prepare($query);
     $prep->bindValue(':compte', $_POST['compte'], PDO::PARAM_STR);
     $prep->execute($db, __FILE__, __LINE__);
     $arrTrs = $prep->fetchAll();
     $prep->closeCursor();
     $prep = NULL;
     if (count($arrTrs) == 0) {
         $HISTORIQUE = array();
         $i = 0;
         foreach ($arrTrs as &$arr) {
             $HISTORIQUE[$i]['id'] = $arr['id'];
             $HISTORIQUE[$i]['date'] = fctToGameTime($arr['date']);
             //A quelle heure à été envoyé le message ?
             $HISTORIQUE[$i]['code'] = $arr['code'];
             $HISTORIQUE[$i]['depot'] = $arr['depot'] == 0 ? '' : fctCreditFormat($arr['depot']);
             $HISTORIQUE[$i]['retrait'] = $arr['retrait'] == 0 ? '' : fctCreditFormat($arr['retrait']);
             $HISTORIQUE[$i]['solde'] = fctCreditFormat($arr['solde']);
             $i++;
         }
         $tpl->set('HISTORIQUE', $HISTORIQUE);
     }
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/Banque_historique.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
     //Vérifier l'état du perso
     if (!$perso->isAutonome()) {
         return fctErrorMSG('Votre n\'êtes pas en état d\'effectuer cette action.');
     }
     //Vérifier les paramêtres requis
     if (!isset($_POST['compte'])) {
         return fctErrorMSG('Ce compte est invalide (aucun compte).');
     }
     if (!isset($_POST['trsid'])) {
         return fctErrorMSG('Cette transaction est invalide (aucune transaction).');
     }
     //Valider le # du compte (TODO: REGEX !!!!)
     if (strlen($_POST['compte']) != 19) {
         return fctErrorMSG('Ce compte est invalide (no invalide).');
     }
     $banque_no = substr($_POST['compte'], 0, 4);
     $compte_no = substr($_POST['compte'], 5, 14);
     $tpl->set('COMPTE', $_POST['compte']);
     //Chercher le compte afin d'y faire des opérations.
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'banque_comptes' . ' WHERE	compte_banque=:banque' . ' AND compte_compte=:compte' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':compte', $compte_no, PDO::PARAM_STR);
     $prep->bindValue(':banque', $banque_no, PDO::PARAM_STR);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     //Valider si le compte existe
     if ($arr === false) {
         return fctErrorMSG('Ce compte n\'existe pas.');
     }
     //Instancier le compte
     $compte = new Member_BanqueCompte($arr);
     //Vérifier si le compte appartiend bien au perso
     if ($compte->getIdPerso() != $perso->getId()) {
         return fctErrorMSG('Ce compte ne vous appartiend pas.');
     }
     //Charger l'historique des transactions
     $fullCompte = $compte->getNoBanque() . '-' . $compte->getNoCompte();
     $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'banque_historique' . ' WHERE compte=:fullCompte' . ' AND id=:id' . ' LIMIT 1;';
     $prep = $db->prepare($query);
     $prep->bindValue(':fullCompte', $fullCompte, PDO::PARAM_STR);
     $prep->bindValue(':id', $_POST['trsid'], PDO::PARAM_INT);
     $prep->execute($db, __FILE__, __LINE__);
     $arr = $prep->fetch();
     $prep->closeCursor();
     $prep = NULL;
     //Valider si la transaction existe
     if ($arr === false) {
         return fctErrorMSG('Cette transaction est invalide (transaction innexistante).');
     }
     //Formater les variables
     $arr['date'] = fctToGameTime($arr['date'], true);
     $arr['solde'] = fctCreditFormat($arr['solde'], true);
     //Afficher le template approprié selon le type de transaction
     switch ($arr['code']) {
         case 'RETR':
             $arr['montant'] = fctCreditFormat($arr['retrait']);
             $tpl->set('TRANSACTION', $arr);
             return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/Banque_historique_detailsdirect.htm', __FILE__, __LINE__);
             break;
         case 'DPOT':
             $arr['montant'] = fctCreditFormat($arr['depot']);
             $tpl->set('TRANSACTION', $arr);
             return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/Banque_historique_detailsdirect.htm', __FILE__, __LINE__);
             break;
         case 'RTRF':
             $arr['montant'] = fctCreditFormat($arr['depot']);
             $tpl->set('TRANSACTION', $arr);
             return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/Banque_historique_detailstransfert.htm', __FILE__, __LINE__);
             break;
         case 'STRF':
             $arr['montant'] = fctCreditFormat($arr['retrait']);
             $tpl->set('TRANSACTION', $arr);
             return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/Banque_historique_detailstransfert.htm', __FILE__, __LINE__);
             break;
         default:
             $tpl->set('TRANSACTION', $arr);
             return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Member/Action/Lieu/Banque_historique_detailsnodetails.htm', __FILE__, __LINE__);
             break;
     }
 }