public function contactMail() { // V�rifie l'adresse mail if (!filter_var($_POST['sMail'], FILTER_VALIDATE_EMAIL)) { return 1; } // V�rifie le t�l�phone $sTel = StrModel::is_NumPortable($_POST['sMobile']); if (!$sTel) { return 2; } if (!StrModel::strMinLen($_POST['sNom'], 2)) { return 3; } // Vérifie le nom if (!StrModel::strMinLen($_POST['sPrenom'], 2)) { return 4; } // Vérifie le prénom if (!StrModel::strMinLen($_POST['sMessage'], 30)) { return 5; } // Vérifie le message // r�cup�ration du mail � contacter if ($_POST['sContact'] == 'commercial') { $sMail = ConfigModel::get(4, 0); $sLogCat = 2; } else { $sMail = ConfigModel::get(3, 0); $sLogCat = 1; } // Formatage du nom / prénom $_POST['sNom'] = strtoupper($_POST['sNom']); $_POST['sPrenom'] = ucfirst(strtolower($_POST['sPrenom'])); $sWho = $_POST['sCivilite'] . ' ' . $_POST['sNom'] . ' ' . $_POST['sPrenom']; // Log l'action LogModel::logThis($sLogCat, array($sMail, $_POST['sMail'], $sWho, $_POST['sLogin'], $sTel, $_POST['sMotif'], $_POST['sMessage'])); // Construit le mail $aMessage = array('Envoyé depuis le formulaire de contact [ ' . $_POST['sContact'] . ' ]', '', 'Date: ' . date('d-m-Y - H:i'), 'Éméteur: ' . $sWho, 'Login: '******'sLogin'], 'Mobile: ' . $sTel, 'Mail: ' . $_POST['sMail'], 'Motif: ' . $_POST['sMotif'], '', 'Message:', '', $_POST['sMessage']); // Envoie le mail if (!$this->sendMail($sWho, $_POST['sMail'], $_POST['sContact'], 'Support ' . $_POST['sContact'], $aMessage)) { return 6; } else { return 7; } }
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; }