public function Step1Method() { unset($_SESSION['aUser']); unset($_SESSION['aProduct']); /* * Détermine les offres accessible pour cette résidence * ( Uniquement si il passe la vérification ) */ $iCanGetAbonnement = $this->canGetAbonnement(); // Vérifie la résidence if ($iCanGetAbonnement == '1') { // Rediréction car, résidence non listé exit; } // Vérifie si l'user est déjà abonné if ($iCanGetAbonnement == '2') { // Rediréction car, utilisateur déjà abonné exit; } $oResidence = new ResidenceModel(); $this->aView['aProduct'] = $oResidence->getProduct(); // Déconnexion SQL $oResidence->oPDO = NULL; $oPayline->oPDO = NULL; }
public function validationStep1() { /* * Vérifie le contenue des donné envoyé par la requette ajax * de Step1, si le contenue est valide il est sauvegarder en * session puis on envoie l'utilisateur sur la page Step2 */ // Vérifie les champs vide $aReturn = array(); $_SESSION['aProduct'] = array(); if ($_POST['CGV'] == 'false') { $aReturn['CGV'] = 1; } else { $aReturn['CGV'] = 0; } // Vérifie le contenue du Mail if (empty($_POST['sMail']) || !StrModel::isMail($_POST['sMail'])) { $aReturn['sMail'] = 1; } else { $aReturn['sMail'] = 0; } if ($_POST['sMail'] != $_POST['sMail2']) { $aReturn['sMail'] = 1; } // Vérifie le contenue du numéro Portable if (empty($_POST['sPortable'])) { $aReturn['sPortable'] = 1; } $_POST['sPortable'] = StrModel::is_NumPortable($_POST['sPortable']); if (!$_POST['sPortable']) { $aReturn['sPortable'] = 1; } else { $aReturn['sPortable'] = 0; } /* * Si un champs n'est pas correct on stop l'analyse * ici et renvoie le contenue des erreur */ foreach ($aReturn as $iValue) { // Si on trouve au moins une iValue à 1 alors on stop if ($iValue == 1) { return $aReturn; } } /* * Sauvegarde les donné envoyé dans la table bo_user_temp * ceci permet de relancer les utilisateur qui n'on pas fini leurs abonnement * (uniquement pour les user B2C) */ $oResidence = new ResidenceModel(); $aResidence = $oResidence->getResidence(); if ($aResidence['mode'] == 'b2c') { // Déléte les entré de rappelle déjà existante $oUserTemp = $this->oPDO->prepare('DELETE FROM bo_user_temp WHERE mail=:mail OR portable=:portable'); $oUserTemp->bindValue(':mail', $_POST['sMail']); $oUserTemp->bindValue(':portable', $_POST['sPortable']); $oUserTemp->execute(); // Enregistre le rappel $oUserTemp = $this->oPDO->prepare('INSERT INTO bo_user_temp SET registered="' . date('Y-m-d') . '", mail=:mail, portable=:portable'); $oUserTemp->bindValue(':mail', $_POST['sMail']); $oUserTemp->bindValue(':portable', $_POST['sPortable']); $oUserTemp->execute(); } /* * Sauvegarde les donné pour l'étape 2 */ $_SESSION['aUser']['mail'] = $_POST['sMail']; $_SESSION['aUser']['portable'] = $_POST['sPortable']; /* * Récupà¨re la listes des produit autorisé pour cet utiliateur * puis analyse dans les donnée envoyé uniquement celle correspondante * (évite le fraudes) */ $aProduct = $oResidence->getProduct(); // Déconnexion SQL $oResidence->oPDO = NULL; /* * Listes les produits proposé pour cette résidence * et remanie la liste pour l'utiliser plus facilement */ $aPID = array(); foreach ($aProduct as $iKey => $aValue) { $iPID = $aValue['PID']; $aPID[$iPID] = $aValue; } /* * Vérifie chaque options souscrit à l'abonnement */ $_SESSION['aProduct'] = array(); if (isset($aPID[1]) && isset($aPID[2])) { /* * Cette utilisateur à le choix entre les deux abonnement * On vérifie celui qu'il a choisis, si il y a une fraude * (tentative de validation sans choix d'abonnement) * on force l'abonnement 12 mois */ if (isset($_POST['PID2']) && $_POST['PID2'] == 'true') { $_SESSION['aProduct'][1] = false; $_SESSION['aProduct'][2] = true; } else { $_SESSION['aProduct'][1] = true; $_SESSION['aProduct'][2] = false; } } else { if (isset($aPID[1]) && !isset($aPID[2])) { /* * Cette utilisateur n'a pas le choix d'abonnement * donc on lui souscrit obligatoirement un abonnement * de 12 mois */ $_SESSION['aProduct'][1] = true; $_SESSION['aProduct'][2] = false; } else { /* * Cet utilisateur n'a pas d'abonnement internet disponible * (Utilisateur B2B) */ $_SESSION['aProduct'][1] = false; $_SESSION['aProduct'][2] = false; } } // Si la résidence comprends des frais d'inscription obligatoire if (isset($aPID[3])) { $_SESSION['aProduct'][3] = true; } else { $_SESSION['aProduct'][3] = false; } // Clé WiFi if (isset($aPID[4]) && $_POST['PID4'] == 'true') { $_SESSION['aProduct'][4] = true; } else { $_SESSION['aProduct'][4] = false; } // Antivirus if (isset($aPID[5]) && $_POST['PID5'] == 'true') { $_SESSION['aProduct'][5] = true; } else { $_SESSION['aProduct'][5] = false; } // Contrà´le Parental if (isset($aPID[6]) && $_POST['PID6'] == 'true') { $_SESSION['aProduct'][6] = true; } else { $_SESSION['aProduct'][6] = false; } return $aReturn; }