public function run() { global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $loginCompte = $request->request->get("Mot_De_Passe_Oublie_Compte"); $emailCompte = $request->request->get("Mot_De_Passe_Oublie_Email"); $passwordNew = \FonctionsUtiles::GenerateString(8); $objLogsOublieMotDePasse = new \Site\Entity\LogsOublieMotDePasse(); $objLogsOublieMotDePasse->setCompteEssaye($loginCompte); $objLogsOublieMotDePasse->setEmailEssaye($emailCompte); $objLogsOublieMotDePasse->setIp($this->ipAdresse); $objLogsOublieMotDePasse->setDateEssai(new \DateTime(date("Y-m-d H:i:s"))); $objAccount = \Account\AccountHelper::getAccountRepository()->findAccountByEmailAndLogin($emailCompte, $loginCompte); if ($objAccount !== null) { \Account\AccountHelper::getAccountRepository()->updateAccountPassword($objAccount->getId(), $passwordNew); $template = $this->objTwig->loadTemplate("PasswordForgottenEmail.html5.twig"); $result = $template->render(["newMDP" => $passwordNew]); $subject = 'VamosMT2 - Nouveau mot de passe'; \EmailHelper::sendEmail($emailCompte, $subject, $result); $objLogsOublieMotDePasse->setResultatDemande("1"); echo "1"; } else { $objLogsOublieMotDePasse->setResultatDemande("2"); echo "2"; } $em->persist($objLogsOublieMotDePasse); $em->flush(); }
public function run() { global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $passwordOld = $request->request->get("Ancien_Mot_De_Passe"); $passwordNew = $request->request->get("Nouveau_Mot_De_Passe"); $objAccount = \Account\AccountHelper::getAccountRepository()->findAccountByLoginAndPassword($this->objAccount->getLogin(), $passwordOld); if ($objAccount !== null) { //Suppression des autres demandes \Site\SiteHelper::getControleChangementMotDePasseRepository()->deleteByAccountId($objAccount->getId()); $Nombre_Unique = \FonctionsUtiles::GenerateString(8, "INT"); $objControleChangementMotDePasse = new \Site\Entity\ControleChangementMotDePasse(); $objControleChangementMotDePasse->setIdCompte($objAccount->getId()); $objControleChangementMotDePasse->setCompte($objAccount->getLogin()); $objControleChangementMotDePasse->setNouveauMotDePasse($passwordNew); $objControleChangementMotDePasse->setNumeroVerif($Nombre_Unique); $objControleChangementMotDePasse->setIp($this->ipAdresse); $em->persist($objControleChangementMotDePasse); $em->flush(); $template = $this->objTwig->loadTemplate("PasswordChangeEmail.html5.twig"); $result = $template->render(["account" => $objAccount->getLogin(), "key" => $Nombre_Unique]); $subject = 'VamosMT2 - Changement de mot de passe'; \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $result); echo '1'; } else { echo '2'; } }
public function run() { global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $AccountLogin = $this->objAccount->getLogin(); $AccountEmailOld = $this->objAccount->getEmail(); $AccountId = $this->objAccount->getId(); $AccountEmailNew = $request->request->get("emailapres"); $IP = $request->server->get("REMOTE_ADDR"); //Application de la modification $this->objAccount->setEmail($AccountEmailNew); $em->persist($this->objAccount); //Suppression de l'entrée de vérification \Site\SiteHelper::getControleChangementMailRepository()->deleteByAccountId($AccountId); //On insère dans les logs $objLogsChangementMail = new \Site\Entity\LogsChangementMail(); $objLogsChangementMail->setIdCompte($AccountId); $objLogsChangementMail->setOld($AccountEmailOld); $objLogsChangementMail->setNew($AccountEmailNew); $objLogsChangementMail->setIp($IP); $objLogsChangementMail->setDate(new \DateTime(date("Y-m-d H:i:s"))); $em->persist($objLogsChangementMail); $em->flush(); //Envoi sur l'ancienne adresse $templateOld = $this->objTwig->loadTemplate("EmailChangeEmailOld.html5.twig"); $resultOld = $templateOld->render(["compte" => $AccountLogin]); $subject = 'VamosMt2 - Changement de mail de ' . $AccountLogin . ''; \EmailHelper::sendEmail($AccountEmailOld, $subject, $resultOld); //Envoi sur la nouvelle adresse $templateNew = $this->objTwig->loadTemplate("EmailChangeEmailNew.html5.twig"); $resultNew = $templateNew->render(["compte" => $AccountLogin, "new" => $AccountEmailNew, "old" => $AccountEmailOld]); $subject = 'VamosMt2 - Changement de mail de ' . $AccountLogin . ''; \EmailHelper::sendEmail($AccountEmailNew, $subject, $resultNew); echo '1'; }
public function run() { global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $numeroVerif = $request->request->get("code"); $objControleChangementMotDePasse = \Site\SiteHelper::getControleChangementMotDePasseRepository()->findByIdCompteAndNumeroVerif($this->objAccount->getId(), $numeroVerif); if ($objControleChangementMotDePasse !== null) { //Application du mot de passe $this->objAccount->setPassword($objControleChangementMotDePasse->getNouveauMotDePasse()); $em->persist($this->objAccount); //Suppression des demandes \Site\SiteHelper::getControleChangementMotDePasseRepository()->deleteByAccountId($objControleChangementMotDePasse->getIdCompte()); //Ajout dans les logs $objLogsChangementPassword = new \Site\Entity\LogsChangementPassword(); $objLogsChangementPassword->setIdCompte($this->objAccount->getId()); $objLogsChangementPassword->setEmail($this->objAccount->getEmail()); $objLogsChangementPassword->setDate(new \DateTime(date("Y-m-d H:i:s"))); $objLogsChangementPassword->setIp($this->ipAdresse); $em->persist($objLogsChangementPassword); $em->flush(); //Envoi de l'email $template = $this->objTwig->loadTemplate("PasswordChangeTermEmail.html5.twig"); $result = $template->render(["account" => $this->objAccount->getLogin()]); $subject = 'VamosMT2 - Changement du mot de passe terminé'; \EmailHelper::sendEmail($this->objAccount->getEmail(), $subject, $result); echo "1"; } else { echo "2"; } }
public function run() { global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $idCompte = $request->request->get("idCompte"); $idDiscussion = $request->request->get("idDiscussion"); $message = $request->request->get("message"); $objSupportMessage = new \Site\Entity\SupportMessages(); $objSupportMessage->setIdCompte($idCompte); $objSupportMessage->setIdDiscussion($idDiscussion); $objSupportMessage->setMessage($message); $objSupportMessage->setDate(new \DateTime(date("Y-m-d H:i:s"))); $objSupportMessage->setEtat(\SupportEtatMessageHelper::NON_LU); $objSupportMessage->setDatechangementEtat(new \DateTime(date("Y-m-d H:i:s"))); $objSupportMessage->setIp($this->ipAdresse); try { $objSupportDiscussion = \Site\SiteHelper::getSupportDiscussionsRepository()->find($idDiscussion); $objSupportDiscussion->setDateDernierMessage(new \DateTime(date("Y-m-d H:i:s"))); $em->persist($objSupportDiscussion); $em->persist($objSupportMessage); $em->flush(); if ($idCompte == $objSupportDiscussion->getIdAdmin()) { $objAccountJoueur = \Account\AccountHelper::getAccountRepository()->find($objSupportDiscussion->getIdCompte()); if ($objAccountJoueur !== null) { $template = $this->objTwig->loadTemplate("MessagerieMessageAdd.html5.twig"); $result = $template->render(["compte" => $objAccountJoueur->getLogin(), "objet" => \SupportObjetsHelper::getLibelle($objSupportDiscussion->getIdObjet())]); $subject = 'VamosMT2 - Réponse à votre ticket'; \EmailHelper::sendEmail($objAccountJoueur->getEmail(), $subject, $result); } } echo json_encode(["id" => $objSupportMessage->getId(), "date" => \DateTimeHelper::dateTimeToFormatedString($objSupportMessage->getDate(), "H:i"), "message" => nl2br($objSupportMessage->getMessage())]); } catch (Exception $ex) { } }
public function run() { global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $idCompte = $this->objAccount->getId(); $idPersonnage = $request->request->get("id_personnage"); $objPlayer = \Player\PlayerHelper::getPlayerRepository()->find($idPersonnage); if ($objPlayer !== null) { //Suppression des autres demandes \Site\SiteHelper::getSuppressionPersonnageRepository()->deleteByPlayerId($idPersonnage); $objAccount = \Account\AccountHelper::getAccountRepository()->find($idCompte); if ($objAccount !== null) { $numeroVerif = \FonctionsUtiles::GenerateString(8, "INT"); //Envoie de l'email de vérification $template = $this->objTwig->loadTemplate("PersonnageDeleteEmailVerify.html5.twig"); $result = $template->render(["account" => $objAccount->getLogin(), "player" => $objPlayer->getName(), "key" => $numeroVerif]); $subject = 'VamosMt2 - Suppression du personnage ' . $objPlayer->getName() . ''; \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $result); //Insertion de la demande $objSuppressionPersonnage = new \Site\Entity\SuppressionPersonnage(); $objSuppressionPersonnage->setIdCompte($idCompte); $objSuppressionPersonnage->setIdPersonnage($idPersonnage); $objSuppressionPersonnage->setEmail($objAccount->getEmail()); $objSuppressionPersonnage->setNumeroVerif($numeroVerif); $objSuppressionPersonnage->setDate(new \DateTime(date("Y-m-d H:i:s"))); $objSuppressionPersonnage->setIp($this->ipAdresse); $em->persist($objSuppressionPersonnage); $em->flush(); $Tableau_Retour_Json = array('result' => true); } else { $Tableau_Retour_Json = array('result' => false, 'reasons' => "Le compte n'existe pas."); } echo json_encode($Tableau_Retour_Json); } }
/** * Override to avoid actually sending emails out through transport. * (non-PHPdoc) * @see EmailHelper::sendEmail() */ protected function sendEmail(Mailer $mailer, EmailMessage $emailMessage) { if (!$this->sendEmailThroughTransport) { $emailMessage->error = null; $emailMessage->folder = EmailFolder::getByBoxAndType($emailMessage->folder->emailBox, EmailFolder::TYPE_SENT); } else { parent::sendEmail($mailer, $emailMessage); } }
public function run() { $objSafebox = \Player\PlayerHelper::getSafeboxRepository()->findByIdCompte($this->objAccount->getId()); $template = $this->objTwig->loadTemplate("CodeEntrepotForgottenEmail.html5.twig"); if ($objSafebox !== null) { $result = $template->render(["password" => $objSafebox->getPassword()]); } else { $result = $template->render(["password" => "000000"]); } $subject = 'VamosMt2 - Mot de passe entrepot'; \EmailHelper::sendEmail($this->objAccount->getEmail(), $subject, $result); echo json_encode(["result" => true]); }
public function run() { global $request; global $session; global $config; $em = \Shared\DoctrineHelper::getEntityManager(); $login = $request->request->get("Utilisateur"); $password = $request->request->get("Mot_De_Passe"); $email = $request->request->get("Email"); $objIpToCountry = \Site\SiteHelper::getIpToCountryRepository()->findCountryBetween(ip2long($this->ipAdresse)); if ($objIpToCountry !== null) { $Langue = $objIpToCountry->getCntry(); } else { $Langue = "Inconnu"; } $passwordEncrypted = \FonctionsUtiles::myPasswordToDoubleSha1($password); $objAccount = new \Account\Entity\Account(); $objAccount->setLogin(trim($login)); $objAccount->setPassword($passwordEncrypted); $objAccount->setEmail($email); $objAccount->setCash($config["register"]["initCash"]); $objAccount->setMileage($config["register"]["initMileage"]); $objAccount->setIpCreation($this->ipAdresse); $objAccount->setLangue($Langue); $objAccount->setCreateTime(new \DateTime(date("Y-m-d H:i:s"))); $anneeRestantMysql = 2037 - date("Y"); $dateActuel = \Carbon\Carbon::now(); $dateBonusNew = $dateActuel->addYear($anneeRestantMysql); $objAccount->setMarriageFastExpire(new \DateTime(date("Y-m-d H:i:s"))); $objAccount->setMoneyDropRateExpire(new \DateTime(date("Y-m-d H:i:s"))); $objAccount->setGoldExpire(new \DateTime(date("Y-m-d H:i:s"))); $objAccount->setSilverExpire(new \DateTime(date("Y-m-d H:i:s"))); $objAccount->setAutolootExpire($dateBonusNew); $objAccount->setFishMindExpire(new \DateTime(date("Y-m-d H:i:s"))); $objAccount->setSafeboxExpire($dateBonusNew); if ($config["register"]["emailActivation"]) { $objAccount->setStatus(\StatusHelper::NON_CONFIRME); } else { $objAccount->setStatus(\StatusHelper::ACTIF); } $em->persist($objAccount); $em->flush(); if ($config["register"]["emailActivation"]) { $template = $this->objTwig->loadTemplate("InscriptionSubmitVerif.html5.twig"); $result = $template->render(["account" => $objAccount->getLogin(), "accountId" => $objAccount->getId()]); $subject = 'VamosMT2 - Activez votre compte ' . $objAccount->getLogin(); \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $result); } $session->set("NomTemporaire", trim($login)); echo "1"; }
public function actionSendMailQueue() { $criteria = new CDbCriteria(array('condition' => 'success=:success AND attempts < max_attempts', 'params' => array(':success' => 0))); $queueList = MailQueue::model()->findAll($criteria); foreach ($queueList as $queueItem) { $result = EmailHelper::sendEmail($queueItem->subject, $queueItem->to_email, $queueItem->message, $queueItem->from_email, $queueItem->from_name); if ($result) { $queueItem->attempts = $queueItem->attempts + 1; $queueItem->success = 1; $queueItem->last_attempt = time(); $queueItem->date_sent = time(); $queueItem->save(FALSE); } else { $queueItem->attempts = $queueItem->attempts + 1; $queueItem->last_attempt = time(); $queueItem->save(FALSE); } } }
public function run() { global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $idAccount = $request->request->get("idAccount"); if ($idAccount > 0) { $objAccount = \Account\AccountHelper::getAccountRepository()->find($idAccount); if ($objAccount !== null) { $objAccount->setStatus(\StatusHelper::ACTIF); $em->persist($objAccount); $objBannissementsActif = \Site\SiteHelper::getBannissementsActifsRepository()->findByIdAccount($objAccount->getId()); if ($objBannissementsActif !== null) { $objHistoriqueBannissement = new \Site\Entity\HistoriqueBanissements(); $oldReflection = new \ReflectionObject($objBannissementsActif); $newReflection = new \ReflectionObject($objHistoriqueBannissement); foreach ($oldReflection->getProperties() as $property) { if ($newReflection->hasProperty($property->getName())) { $newProperty = $newReflection->getProperty($property->getName()); $newProperty->setAccessible(true); $newProperty->setValue($objHistoriqueBannissement, $property->getValue($objBannissementsActif)); } } $objHistoriqueBannissement->setDebannPar($this->objAccount->getId()); $em->persist($objHistoriqueBannissement); $em->remove($objBannissementsActif); } $em->flush(); $template = $this->objTwig->loadTemplate("Debannissement.html5.twig"); $result = $template->render(["compte" => $objAccount->getLogin()]); $subject = 'VamosMt2 - Levé du bannissement de ' . $objAccount->getLogin() . ''; \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $result); $result = array('result' => true, 'reasons' => ""); } else { $result = array('result' => false, 'reasons' => "Le compte sélectionné n'existe pas."); } } else { $result = array('result' => false, 'reasons' => "Problème de transmission d'identifiant."); } echo json_encode($result); }
public function run() { $em = \Shared\DoctrineHelper::getEntityManager(); $Nombre_Unique = \FonctionsUtiles::GenerateString(8, "INT"); //Suppression des autres entrées de vérification \Site\SiteHelper::getControleChangementMailRepository()->deleteByAccountId($this->objAccount->getId()); //Insertion de la clés de vérification $objControleChangementMail = new \Site\Entity\ControleChangementMail(); $objControleChangementMail->setIdCompte($this->objAccount->getId()); $objControleChangementMail->setEmail($this->objAccount->getEmail()); $objControleChangementMail->setNumeroVerif($Nombre_Unique); $objControleChangementMail->setIp($this->ipAdresse); $objControleChangementMail->setDate(new \DateTime(date("Y-m-d H:i:s"))); $em->persist($objControleChangementMail); $em->flush(); //Envoi de l'email avec la clés $templateOld = $this->objTwig->loadTemplate("EmailChangeEmailVerify.html5.twig"); $resultOld = $templateOld->render(["compte" => $this->objAccount->getLogin(), "key" => $Nombre_Unique]); $subject = 'VamosMt2 - Changement de mail de ' . $this->objAccount->getLogin() . ''; \EmailHelper::sendEmail($this->objAccount->getEmail(), $subject, $resultOld); echo '1'; }
public function run() { global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $idDiscussion = \Encryption::decrypt($request->request->get("idDiscussion")); $objSupportDiscussion = \Site\SiteHelper::getSupportDiscussionsRepository()->find($idDiscussion); $objAccount = \Account\AccountHelper::getAccountRepository()->find($objSupportDiscussion->getIdCompte()); if ($objSupportDiscussion !== null) { if ($objSupportDiscussion->getIdCompte() == $this->objAccount->getId() or $objSupportDiscussion->getIdAdmin() == $this->objAccount->getId()) { $objSupportDiscussion->setEstArchive(1); $em->persist($objSupportDiscussion); $em->flush(); $template = $this->objTwig->loadTemplate("MessagerieDiscussionCloture.html5.twig"); $result = $template->render(["compte" => $objAccount->getLogin(), "objet" => \SupportObjetsHelper::getLibelle($objSupportDiscussion->getIdObjet())]); $subject = 'VamosMT2 - Clôture de votre ticket'; \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $result); echo json_encode(["result" => true]); } else { echo json_encode(["result" => false, "message" => "Le ticket est introuvable."]); } } }
public function run() { global $request; global $config; global $session; $em = \Shared\DoctrineHelper::getEntityManager(); $paymentResult = false; // Script to create a signature define('API_BASE_URL', $config["item_shop"]["rechargement"]["hipay"]["apiBaseUrl"]); define('API_KEY', $config["item_shop"]["rechargement"]["hipay"]["apiKey"]); define('API_SECRET_KEY', $config["item_shop"]["rechargement"]["hipay"]["apiSecretKey"]); define('API_HASH_FUNCTION', 'sha1'); date_default_timezone_set('UTC'); // STEPS 1 and 2: Construction of query parameters $queryParameters = array('site_id' => $config["item_shop"]["rechargement"]["hipay"]["siteId"], 'product_id' => $config["item_shop"]["rechargement"]["hipay"]["productId"], 'api_key' => API_KEY, 'api_hash' => API_HASH_FUNCTION, 'api_ts' => time(), 'format' => "json"); // STEP 3 : Sort parameters by ascending alphabetical order by name ofparameter ksort($queryParameters); /* STEP 4 * Prepare a string to hash with the hash function "API_HASH_FUNCTION" */ $stringToHash = ''; foreach ($queryParameters as $parameter => $value) { $stringToHash .= $parameter . (is_array($value) ? implode('', $value) : $value); } $stringToHash .= API_SECRET_KEY; // STEP 5: Creation of signature $signature = hash(API_HASH_FUNCTION, $stringToHash); // STEP 6 : Generating URL $queryParameters['api_sig'] = $signature; $url = API_BASE_URL . '/onetime/pricing?' . http_build_query($queryParameters); \Debug::log(time()); $data = file_get_contents($url); $dataDecode = json_decode($data); foreach ($dataDecode->response as $response) { if ($response->code == 0 and $response->message == "OK") { $paymentResult = true; $codeResult = "Réussi"; } } $objAccount = \Account\AccountHelper::getAccountRepository()->find($request->query->get("data")); if ($paymentResult) { $codeResult = "Réussi"; if ($config["item_shop"]["rechargement"]["hipay"]["devise"] == \DeviseHelper::CASH) { $objAccount->setCash($objAccount->getCash() + $config["item_shop"]["rechargement"]["hipay"]["cash"]); } else { if ($config["item_shop"]["rechargement"]["hipay"]["devise"] == \DeviseHelper::MILEAGE) { $objAccount->setMileage($objAccount->getMileage() + $config["item_shop"]["rechargement"]["hipay"]["cash"]); } } $em->persist($objAccount); $session->set("Cash", $objAccount->getCash()); $session->set("Mileage", $objAccount->getMileage()); $objLogsRechargement = new \Site\Entity\LogsRechargements(); $objLogsRechargement->setIdCompte($objAccount->getId()); $objLogsRechargement->setCompte($objAccount->getLogin()); $objLogsRechargement->setEmailCompte($objAccount->getEmail()); $objLogsRechargement->setCode($request->query->get("RECALL")); $objLogsRechargement->setNombreVamonaies($config["item_shop"]["rechargement"]["hipay"]["cash"]); $objLogsRechargement->setResultat($codeResult); $objLogsRechargement->setDate(new \DateTime(date("Y-m-d H:i:s"))); $objLogsRechargement->setIp($this->ipAdresse); $em->persist($objLogsRechargement); $em->flush(); $template = $this->objTwig->loadTemplate("emailItemShopRechargement.html5.twig"); $result = $template->render(["compte" => $objAccount->getLogin(), "system" => "Hipay", "nombre" => $config["item_shop"]["rechargement"]["hipay"]["cash"], "devise" => $config["item_shop"]["rechargement"]["hipay"]["devise"], "identifiantRechargement" => $objLogsRechargement->getId()]); $subject = 'VamosMT2 - Rechargement de compte'; \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $result); if ($this->isConnected) { header('Location: ../../ItemShopRechargementTerm.php?result=1&id=' . $objLogsRechargement->getId() . '&isConnected=1'); exit; } else { header('Location: ../../ItemShopRechargementTerm.php?result=1&id=' . $objLogsRechargement->getId() . '&isConnected=0'); exit; } } else { $codeResult = "Mauvaise clès"; $objLogsRechargement = new \Site\Entity\LogsRechargements(); $objLogsRechargement->setIdCompte($objAccount->getId()); $objLogsRechargement->setCompte($objAccount->getLogin()); $objLogsRechargement->setEmailCompte($objAccount->getEmail()); $objLogsRechargement->setCode($request->query->get("RECALL")); $objLogsRechargement->setResultat($codeResult); $objLogsRechargement->setDate(new \DateTime(date("Y-m-d H:i:s"))); $objLogsRechargement->setIp($this->ipAdresse); $em->persist($objLogsRechargement); $em->flush(); header('Location: ../../ItemShopRechargementTerm.php?result=0&Raison=ClesMauvaise&id=' . $objLogsRechargement->getId() . ''); exit; } }
public function run() { global $session; global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $idMarchePersonnage = $request->request->get("idMarchePersonnage"); $objMarchePersonnage = \Site\SiteHelper::getMarchePersonnagesRepository()->find($idMarchePersonnage); if ($objMarchePersonnage !== null) { $idVendeur = $objMarchePersonnage->getIdProprietaire(); $idPlayer = $objMarchePersonnage->getIdPersonnage(); $pidVendeur = $objMarchePersonnage->getPid(); $objMarcheArticle = \Site\SiteHelper::getMarcheArticlesRepository()->findByIdentifiantArticle($idMarchePersonnage); if ($objMarcheArticle !== null) { $prixMarcheArticle = $objMarcheArticle->getPrix(); $deviseMarcheArticle = $objMarcheArticle->getDevise(); $asserDeMonnaies = false; if ($deviseMarcheArticle == 1) { if ($this->objAccount->getCash() >= $prixMarcheArticle) { $asserDeMonnaies = true; } } else { if ($deviseMarcheArticle == 2) { if ($this->objAccount->getMileage() >= $prixMarcheArticle) { $asserDeMonnaies = true; } } } if ($asserDeMonnaies) { $objPlayerIndex = \Player\PlayerHelper::getPlayerIndexRepository()->find($this->objAccount->getId()); if ($objPlayerIndex !== null) { $pidDisponible = false; if ($objPlayerIndex->getPid1() == "0") { $pidDisponible = "1"; } else { if ($objPlayerIndex->getPid2() == "0") { $pidDisponible = "2"; } else { if ($objPlayerIndex->getPid3() == "0") { $pidDisponible = "3"; } else { if ($objPlayerIndex->getPid4() == "0") { $pidDisponible = "4"; } } } } if ($pidDisponible != false) { $objAccountProprietaire = \Account\AccountHelper::getAccountRepository()->find($idVendeur); if ($objAccountProprietaire !== null) { if ($deviseMarcheArticle == 1) { $objAccountProprietaire->setCash($objAccountProprietaire->getCash() + $prixMarcheArticle); $this->objAccount->setCash($this->objAccount->getCash() - $prixMarcheArticle); } else { if ($deviseMarcheArticle == 2) { $objAccountProprietaire->setMileage($objAccountProprietaire->getMileage() + $prixMarcheArticle); $this->objAccount->setMileage($this->objAccount->getMileage() - $prixMarcheArticle); } } $em->persist($objAccountProprietaire); $em->persist($this->objAccount); $session->set("Cash", $this->objAccount->getCash()); $session->set("Mileage", $this->objAccount->getMileage()); $objLogsMarcheAchats = new \Site\Entity\LogsMarcheAchats(); $objLogsMarcheAchats->setIdVendeur($idVendeur); $objLogsMarcheAchats->setIdAcheteur($this->objAccount->getId()); $objLogsMarcheAchats->setIdPersonnage($idPlayer); $objLogsMarcheAchats->setPrix($prixMarcheArticle); $objLogsMarcheAchats->setDate(\Carbon\Carbon::now()); $objLogsMarcheAchats->setDevise($deviseMarcheArticle); $objLogsMarcheAchats->setIp($this->ipAdresse); $em->persist($objLogsMarcheAchats); //Ajout du personnage sur le compte acheteur $funcAcheteur = "setPid" . $pidDisponible; $objPlayerIndex->{$funcAcheteur}($idPlayer); $em->persist($objPlayerIndex); //Rajout du compte acheteur sur le personnage $objPlayer = \Player\PlayerHelper::getPlayerRepository()->find($idPlayer); $objPlayer->setIdAccount($this->objAccount->getId()); $objPlayer->setIp(""); $em->persist($objPlayer); //Suppression du personnage fictif du compte vendeur $objPlayerIndexVendeur = \Player\PlayerHelper::getPlayerIndexRepository()->find($idVendeur); $funcVendeur = "setPid" . $pidVendeur; $objPlayerIndexVendeur->{$funcVendeur}(0); $em->persist($objPlayerIndexVendeur); //Suppression de l'article de la vente $em->remove($objMarcheArticle); //Suppression du personnage de la vente $em->remove($objMarchePersonnage); $em->flush(); //Email vendeur $template = $this->objTwig->loadTemplate("ajaxBuyPlayerVendeur.html5.twig"); $result = $template->render(["compte" => $objAccountProprietaire->getLogin(), "player" => $objPlayer->getName(), "prix" => $prixMarcheArticle, "devise" => $deviseMarcheArticle]); $subject = 'VamosMT2 - Vente du joueur ' . $objPlayer->getName(); \EmailHelper::sendEmail($objAccountProprietaire->getEmail(), $subject, $result); //Email acheteur $templateAcheteur = $this->objTwig->loadTemplate("ajaxBuyPlayerAcheteur.html5.twig"); $resultAcheteur = $templateAcheteur->render(["compte" => $this->objAccount->getLogin(), "player" => $objPlayer->getName(), "prix" => $prixMarcheArticle, "devise" => $deviseMarcheArticle]); $subjectAcheteur = 'VamosMT2 - Achat du joueur ' . $objPlayer->getName(); \EmailHelper::sendEmail($this->objAccount->getEmail(), $subjectAcheteur, $resultAcheteur); $Tableau_Retour_Json = array('result' => true, 'cash' => $this->objAccount->getCash(), 'mileage' => $this->objAccount->getMileage(), 'idPlayer' => \Encryption::encryptForUrl($idPlayer)); } else { $Tableau_Retour_Json = array('result' => false, 'reasons' => "Le proprietaire n'existe pas."); } } else { $Tableau_Retour_Json = array('result' => false, 'reasons' => "Vous n'avez pas d'emplacement pour mettre ce joueur."); } } else { $Tableau_Retour_Json = array('result' => false, 'reasons' => "Votre compte n'existe pas."); } } else { $Tableau_Retour_Json = array('result' => false, 'reasons' => "Vous n'avez pas assez de monnaies."); } } else { $Tableau_Retour_Json = array('result' => false, 'reasons' => "L'article n'existe plus."); } } else { $Tableau_Retour_Json = array('result' => false, 'reasons' => "Ce personnage n'est plus en vente."); } echo json_encode($Tableau_Retour_Json); }
public function run() { global $session; global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $arrResult["result"] = 1; $arrResult["isBonusCompte"] = 0; $idItem = $request->request->get("id_item"); $nombreItem = $request->request->get("nombre_item"); $nombreItemBuy = 0; $objItemshop = \Site\SiteHelper::getItemshopRepository()->findItem($idItem, true); if (!$this->checkEntrepotIS()) { $arrResult["result"] = 0; $arrResult["code"] = 8; echo json_encode($arrResult); die; } if ($objItemshop !== null) { /* ------- Si l'item est de type Simple 1 -------- */ if ($objItemshop->getType() == 1) { //Si le Membre a assez de Cash if ($session->get("Cash") >= $objItemshop->getPrix() * $nombreItem) { $flagItem = \Player\PlayerHelper::getItemProtoRepository()->findFlagByVnum($objItemshop->getIdItem()); $socketPct = \Player\PlayerHelper::getItemProtoRepository()->findSocketPctByVnum($objItemshop->getIdItem()); //Si empilable if ($flagItem == 4 || $flagItem == 20 || $flagItem == 132 || $flagItem == 2052 || $flagItem == 8212) { $nombreItemTotal = $nombreItem * $objItemshop->getNbItem(); $nombreItemPendingTotal = $nombreItemTotal; $nombreItemOkTotal = 0; $nombreCase = round($nombreItemTotal / 200); for ($iModulo = 0; $iModulo <= $nombreCase; $iModulo++) { if ($nombreItemTotal > 0) { if ($this->checkFieldEntrepotIS() !== false) { $nextFreePosition = $this->checkFieldEntrepotIS(); $objItem = new \Player\Entity\Item(); $objItem->setOwnerId($this->objAccount->getId()); $objItem->setWindow("MALL"); $objItem->setPos($nextFreePosition); if ($nombreItemTotal > 200) { $objItem->setCount(200); $nombreItemTotal = $nombreItemTotal - 200; $nombreItemOkTotal = $nombreItemOkTotal + 200; } else { $objItem->setCount($nombreItemTotal); $nombreItemTotal = $nombreItemTotal - $nombreItemTotal; $nombreItemOkTotal = $nombreItemOkTotal + $nombreItemTotal; } $objItem->setVnum($objItemshop->getIdItem()); $em->persist($objItem); $em->flush(); $em->detach($objItem); $nombreItemBuy++; } else { $arrResult = ["result" => 0, "code" => 5]; break; } } } if ($arrResult["result"] == 0) { if ($nombreItemOkTotal > 0) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $proportionItemOk = $nombreItemOkTotal / $nombreItemPendingTotal * 100; $soustraction = round($objItemshop->getPrix() * $nombreItem * $proportionItemOk / 100); $prixTotal = $soustraction; $arrResult["result"] = 1; } else { $prixTotal = 0; } } elseif ($arrResult["result"] == 1) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $nombreItemBuy = $nombreItem; } $this->objAccount->setCash($this->objAccount->getCash() - $prixTotal); $this->objAccount->setMileage($this->objAccount->getMileage() + $prixTotal); $em->persist($this->objAccount); $em->flush(); $session->set("Cash", $this->objAccount->getCash()); $session->set("Mileage", $this->objAccount->getMileage()); } else { $nombreItemTotal = $nombreItem * $objItemshop->getNbItem(); $nombreItemPendingTotal = $nombreItemTotal; $nombreItemOkTotal = 0; for ($i = 0; $i < $nombreItemTotal; $i++) { $nextFreePosition = $this->checkFieldEntrepotIS(); if ($nextFreePosition !== false) { $objItem = new \Player\Entity\Item(); $objItem->setOwnerId($this->objAccount->getId()); $objItem->setWindow("MALL"); $objItem->setPos($nextFreePosition); $objItem->setCount(1); $objItem->setVnum($objItemshop->getIdItem()); if ($socketPct > 0) { for ($iSocket = 0; $iSocket < $socketPct; $iSocket++) { $func = "setSocket" . $iSocket; $objItem->{$func}("1"); } } $em->persist($objItem); $em->flush(); $em->detach($objItem); $nombreItemBuy++; $nombreItemOkTotal++; } else { $arrResult = ["result" => 0, "code" => 5]; break; } } if ($arrResult["result"] == 0) { if ($nombreItemOkTotal > 0) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $proportionItemOk = $nombreItemOkTotal / $nombreItemPendingTotal * 100; $soustraction = round($objItemshop->getPrix() * $nombreItem * $proportionItemOk / 100); $prixTotal = $soustraction; $arrResult["result"] = 1; } else { $prixTotal = 0; } if ($nombreItemBuy > 1) { $nombreItemBuy = round($nombreItemBuy / $objItemshop->getNbItem()); } } elseif ($arrResult["result"] == 1) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $nombreItemBuy = $nombreItem; } $this->objAccount->setCash($this->objAccount->getCash() - $prixTotal); $this->objAccount->setMileage($this->objAccount->getMileage() + $prixTotal); $em->persist($this->objAccount); $em->flush(); $session->set("Cash", $this->objAccount->getCash()); $session->set("Mileage", $this->objAccount->getMileage()); } } else { $arrResult = ["result" => 0, "code" => 3]; } /* ----------- Si l'item est de type durée ------------ */ } elseif ($objItemshop->getType() == 2) { //Si le membre a assez de cash if ($session->get("Cash") >= $objItemshop->getPrix()) { $anneeRestantMysql = 2037 - date("Y"); $dateActuel = \Carbon\Carbon::now(); switch ($objItemshop->getIdItem()) { case 1: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getGoldExpire()->getTimestamp()); break; case 2: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getSilverExpire()->getTimestamp()); break; case 3: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getSafeboxExpire()->getTimestamp()); break; case 4: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getAutolootExpire()->getTimestamp()); break; case 5: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getFishMindExpire()->getTimestamp()); break; case 6: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getMarriageFastExpire()->getTimestamp()); break; case 7: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getMoneyDropRateExpire()->getTimestamp()); break; } if ($objItemshop->getNbItem() == 9999) { $dateBonusNew = $dateActuel->addYear($anneeRestantMysql); } else { if ($dateBonusActuel->gt($dateActuel)) { $dateBonusNew = $dateBonusActuel->addDay($objItemshop->getNbItem()); } else { $dateBonusNew = $dateActuel->addDay($objItemshop->getNbItem()); } } switch ($objItemshop->getIdItem()) { case 1: $this->objAccount->setGoldExpire($dateBonusNew); break; case 2: $this->objAccount->setSilverExpire($dateBonusNew); break; case 3: $this->objAccount->setSafeboxExpire($dateBonusNew); break; case 4: $this->objAccount->setAutolootExpire($dateBonusNew); break; case 5: $this->objAccount->setFishMindExpire($dateBonusNew); break; case 6: $this->objAccount->setMarriageFastExpire($dateBonusNew); break; case 7: $this->objAccount->setMoneyDropRateExpire($dateBonusNew); break; } $prixTotal = $objItemshop->getPrix() * $nombreItem; $this->objAccount->setCash($this->objAccount->getCash() - $prixTotal); $this->objAccount->setMileage($this->objAccount->getMileage() + $prixTotal); $em->persist($this->objAccount); $em->flush(); $session->set("Cash", $this->objAccount->getCash()); $session->set("Mileage", $this->objAccount->getMileage()); $arrResult["isBonusCompte"] = 1; } else { $arrResult = ["result" => 0, "code" => 3]; } /* -------------- Si l'item est de type Mileage -------------- */ } elseif ($objItemshop->getType() == 3) { //Si le membre a assez de marques if ($session->get("Mileage") >= $objItemshop->getPrix() * $nombreItem) { $flagItem = \Player\PlayerHelper::getItemProtoRepository()->findFlagByVnum($objItemshop->getIdItem()); $socketPct = \Player\PlayerHelper::getItemProtoRepository()->findSocketPctByVnum($objItemshop->getIdItem()); //Si empilable if ($flagItem == 4 || $flagItem == 20 || $flagItem == 132 || $flagItem == 2052 || $flagItem == 8212) { $nombreItemTotal = $nombreItem * $objItemshop->getNbItem(); $nombreItemPendingTotal = $nombreItemTotal; $nombreItemOkTotal = 0; $nombreCase = round($nombreItemTotal / 200); for ($iModulo = 0; $iModulo <= $nombreCase; $iModulo++) { if ($nombreItemTotal > 0) { if ($this->checkFieldEntrepotIS() !== false) { $nextFreePosition = $this->checkFieldEntrepotIS(); $objItem = new \Player\Entity\Item(); $objItem->setOwnerId($this->objAccount->getId()); $objItem->setWindow("MALL"); $objItem->setPos($nextFreePosition); if ($nombreItemTotal > 200) { $objItem->setCount(200); $nombreItemTotal = $nombreItemTotal - 200; $nombreItemOkTotal = $nombreItemOkTotal + 200; } else { $objItem->setCount($nombreItemTotal); $nombreItemTotal = $nombreItemTotal - $nombreItemTotal; $nombreItemOkTotal = $nombreItemOkTotal + $nombreItemTotal; } $objItem->setVnum($objItemshop->getIdItem()); $em->persist($objItem); $em->flush(); $em->detach($objItem); $nombreItemBuy++; } else { $arrResult = ["result" => 0, "code" => 5]; break; } } } if ($arrResult["result"] == 0) { if ($nombreItemOkTotal > 0) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $proportionItemOk = $nombreItemOkTotal / $nombreItemPendingTotal * 100; $soustraction = round($objItemshop->getPrix() * $nombreItem * $proportionItemOk / 100); $prixTotal = $soustraction; $arrResult["result"] = 1; } else { $prixTotal = 0; } } elseif ($arrResult["result"] == 1) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $nombreItemBuy = $nombreItem; } $this->objAccount->setMileage($this->objAccount->getMileage() - $prixTotal); $em->persist($this->objAccount); $em->flush(); $session->set("Mileage", $this->objAccount->getMileage()); } else { $nombreItemTotal = $nombreItem * $objItemshop->getNbItem(); $nombreItemPendingTotal = $nombreItemTotal; $nombreItemOkTotal = 0; for ($i = 0; $i < $nombreItemTotal; $i++) { $nextFreePosition = $this->checkFieldEntrepotIS(); if ($nextFreePosition !== false) { $nextFreePosition = $this->checkFieldEntrepotIS(); $objItem = new \Player\Entity\Item(); $objItem->setOwnerId($this->objAccount->getId()); $objItem->setWindow("MALL"); $objItem->setPos($nextFreePosition); $objItem->setCount(1); $objItem->setVnum($objItemshop->getIdItem()); if ($socketPct > 0) { for ($iSocket = 0; $iSocket < $socketPct; $iSocket++) { $func = "setSocket" . $iSocket; $objItem->{$func}("1"); } } $em->persist($objItem); $em->flush(); $em->detach($objItem); $nombreItemBuy++; $nombreItemOkTotal++; } else { $arrResult = ["result" => 0, "code" => 5]; break; } } if ($arrResult["result"] == 0) { if ($nombreItemOkTotal > 0) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $proportionItemOk = $nombreItemOkTotal / $nombreItemPendingTotal * 100; $soustraction = round($objItemshop->getPrix() * $nombreItem * $proportionItemOk / 100); $prixTotal = $soustraction; $arrResult["result"] = 1; } else { $prixTotal = 0; } if ($nombreItemBuy > 1) { $nombreItemBuy = round($nombreItemBuy / $objItemshop->getNbItem()); } } elseif ($arrResult["result"] == 1) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $nombreItemBuy = $nombreItem; } $this->objAccount->setMileage($this->objAccount->getMileage() - $prixTotal); $em->persist($this->objAccount); $em->flush(); $session->set("Mileage", $this->objAccount->getMileage()); } } else { $arrResult = ["result" => 0, "code" => 6]; } } else { $arrResult = ["result" => 0, "code" => 4]; } } if ($objItemshop->getType() == 1) { $idDevise = "1"; } else { if ($objItemshop->getType() == 3) { $idDevise = "2"; } else { if ($objItemshop->getType() == 2) { $idDevise = "1"; } } } if ($arrResult["result"] == 1) { $Resultat_Achat = "Réussi"; } else { if ($arrResult["code"] == 4) { $Resultat_Achat = "Type d'item inconnu"; } elseif ($arrResult["code"] == 5) { if ($nombreItemOkTotal > 0) { $Resultat_Achat = "Livraison partiel"; } else { $Resultat_Achat = "Manque de place"; } } elseif ($arrResult["code"] == 6) { $Resultat_Achat = "Pas assez de " . \DeviseHelper::getLibelle(2); } elseif ($arrResult["code"] == 3) { $Resultat_Achat = "Pas assez de " . \DeviseHelper::getLibelle(1); } else { $Resultat_Achat = "Erreur"; } } $objLogsItemshopAchats = new \Site\Entity\LogsItemshopAchats(); $objLogsItemshopAchats->setIdCompte($this->objAccount->getId()); $objLogsItemshopAchats->setVnum($objItemshop->getIdItem()); if ($objItemshop->getNbItem() > 1) { $objLogsItemshopAchats->setItem($objItemshop->getNameItem() . " (x" . $nombreItemBuy . ")"); } else { $objLogsItemshopAchats->setItem($objItemshop->getNameItem()); } $objLogsItemshopAchats->setQuantite($nombreItemBuy); $objLogsItemshopAchats->setPrix($prixTotal); $objLogsItemshopAchats->setDevise($idDevise); $objLogsItemshopAchats->setIp($this->ipAdresse); $objLogsItemshopAchats->setDate(\Carbon\Carbon::now()); $objLogsItemshopAchats->setResultat($Resultat_Achat); $em->persist($objLogsItemshopAchats); $em->flush(); if ($arrResult["result"] == 1) { $template = $this->objTwig->loadTemplate("ItemShopArticleBuy.html5.twig"); $result = $template->render(["compte" => $this->objAccount->getLogin(), "article" => $objItemshop->getNameItem(), "nombre" => $nombreItemBuy, "prix" => $prixTotal, "devise" => $idDevise, "identifiantAchat" => $objLogsItemshopAchats->getId()]); $subject = 'VamosMT2 - Achat de ' . $objItemshop->getNameItem(); \EmailHelper::sendEmail($this->objAccount->getEmail(), $subject, $result); } $arrResult["nombreBuy"] = $nombreItemBuy; $arrResult["idTransaction"] = $objLogsItemshopAchats->getId(); echo json_encode($arrResult); }
public function run() { global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $idAccount = $request->request->get("accountId"); $banRaison = $request->request->get("banRaison"); $banDuree = $request->request->get("banDuree"); $banCommentaire = $request->request->get("banCommentaire"); $withBanEmail = $request->request->get("withBanEmail"); $withBanIp = $request->request->get("withBanIp"); $arrObjAccount = []; $objAccount = \Account\AccountHelper::getAccountRepository()->find($idAccount); if ($objAccount !== null) { array_push($arrObjAccount, $objAccount); } if ($this->HaveTheRight(\DroitsHelper::BANNISSEMENT_EMAIL)) { if ($withBanEmail !== null && $withBanEmail == "true") { $arrBanEmail = \Account\AccountHelper::getAccountRepository()->findAccountByEmail($objAccount->getEmail()); if (count($arrBanEmail) > 0) { foreach ($arrBanEmail as $banEmail) { array_push($arrObjAccount, $banEmail); } } } } if ($this->HaveTheRight(\DroitsHelper::BANNISSEMENT_IP)) { if ($withBanIp !== null && $withBanIp == "true") { $arrBanIp = \Account\AccountHelper::getAccountRepository()->findByIpCreation($objAccount->getIpCreation()); if (count($arrBanIp) > 0) { foreach ($arrBanIp as $banIp) { array_push($arrObjAccount, $banIp); } } } } $arrObjAccount = array_unique($arrObjAccount, SORT_REGULAR); foreach ($arrObjAccount as $objAccount) { $libelleRaison = \BanRaisonHelper::getLibelle($banRaison); $estDefinitif = false; if ($banDuree == 0) { $estDefinitif = true; } $objAccount->setStatus(\StatusHelper::BANNI); $em->persist($objAccount); $dateDebutBanissement = \Carbon\Carbon::now(); $dateFinBanissement = \Carbon\Carbon::now()->addDay($banDuree); $objBanissementActifs = new \Site\Entity\BannissementsActifs(); $objBanissementActifs->setIdCompte($objAccount->getId()); $objBanissementActifs->setRaisonBannissement($banRaison); $objBanissementActifs->setCommentaireBannissement($banCommentaire); $objBanissementActifs->setIdCompteGm($this->objAccount->getId()); $objBanissementActifs->setIpGm($this->ipAdresse); $objBanissementActifs->setDuree($banDuree); $objBanissementActifs->setDateDebutBannissement($dateDebutBanissement); $objBanissementActifs->setDateFinBannissement($dateFinBanissement); $objBanissementActifs->setDefinitif($estDefinitif); $em->persist($objBanissementActifs); $em->flush(); $template = $this->objTwig->loadTemplate("BanissementCompte.html5.twig"); $resultTemplate = $template->render(["compte" => $objAccount->getLogin(), "definitif" => $estDefinitif, "raison" => $libelleRaison]); $subject = 'VamosMt2 - Bannissement de ' . $objAccount->getLogin() . ''; \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $resultTemplate); } $result = array('result' => true, 'reasons' => ""); echo json_encode($result); }
public function run() { global $request; global $config; global $session; $em = \Shared\DoctrineHelper::getEntityManager(); $paymentResult = false; $ident = $idp = $ids = $idd = $codes = $code1 = $code2 = $code3 = $code4 = $code5 = $datas = ''; $idp = 196161; $idd = 337955; $ident = $idp . ";" . $ids . ";" . $idd; if (isset($_POST['code1'])) { $code1 = $_POST['code1']; } if (isset($_POST['code2'])) { $code2 = ";" . $_POST['code2']; } if (isset($_POST['code3'])) { $code3 = ";" . $_POST['code3']; } if (isset($_POST['code4'])) { $code4 = ";" . $_POST['code4']; } if (isset($_POST['code5'])) { $code5 = ";" . $_POST['code5']; } $codes = $code1 . $code2 . $code3 . $code4 . $code5; if (isset($_POST['DATAS'])) { $datas = $_POST['DATAS']; } $ident = urlencode($ident); $codes = urlencode($codes); $datas = urlencode($datas); /* Envoi de la requête vers le serveur StarPass Dans la variable tab[0] on récupère la réponse du serveur Dans la variable tab[1] on récupère l'URL d'accès ou d'erreur suivant la réponse du serveur */ $get_f = @file("http://script.starpass.fr/check_php.php?ident={$ident}&codes={$codes}&DATAS={$datas}"); if (!$get_f) { exit("Votre serveur n'a pas accès au serveur de StarPass, merci de contacter votre hébergeur. "); } $tab = explode("|", $get_f[0]); if (!$tab[1]) { $url = "http://script.starpass.fr/error.php"; } else { $url = $tab[1]; } $pays = $tab[2]; $palier = urldecode($tab[3]); $id_palier = urldecode($tab[4]); $type = urldecode($tab[5]); if (substr($tab[0], 0, 3) != "OUI") { $paymentResult = false; } else { $paymentResult = true; } $objAccount = \Account\AccountHelper::getAccountRepository()->find($datas); if ($paymentResult) { $codeResult = "Réussi"; if ($config["item_shop"]["rechargement"]["starpass"]["devise"] == \DeviseHelper::CASH) { $objAccount->setCash($objAccount->getCash() + $config["item_shop"]["rechargement"]["starpass"]["cash"]); } else { if ($config["item_shop"]["rechargement"]["starpass"]["devise"] == \DeviseHelper::MILEAGE) { $objAccount->setMileage($objAccount->getMileage() + $config["item_shop"]["rechargement"]["starpass"]["cash"]); } } $em->persist($objAccount); $session->set("Cash", $objAccount->getCash()); $session->set("Mileage", $objAccount->getMileage()); $objLogsRechargement = new \Site\Entity\LogsRechargements(); $objLogsRechargement->setIdCompte($objAccount->getId()); $objLogsRechargement->setCompte($objAccount->getLogin()); $objLogsRechargement->setEmailCompte($objAccount->getEmail()); $objLogsRechargement->setCode($request->query->get("RECALL")); $objLogsRechargement->setNombreVamonaies($config["item_shop"]["rechargement"]["starpass"]["cash"]); $objLogsRechargement->setResultat($codeResult); $objLogsRechargement->setDate(new \DateTime(date("Y-m-d H:i:s"))); $objLogsRechargement->setIp($this->ipAdresse); $em->persist($objLogsRechargement); $em->flush(); $template = $this->objTwig->loadTemplate("emailItemShopRechargement.html5.twig"); $result = $template->render(["compte" => $objAccount->getLogin(), "system" => "StarPass", "nombre" => $config["item_shop"]["rechargement"]["starpass"]["cash"], "devise" => $config["item_shop"]["rechargement"]["starpass"]["devise"], "identifiantRechargement" => $objLogsRechargement->getId()]); $subject = 'VamosMT2 - Rechargement de compte'; \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $result); if ($this->isConnected) { header('Location: ../../ItemShopRechargementTerm.php?result=1&id=' . $objLogsRechargement->getId() . '&isConnected=1'); exit; } else { header('Location: ../../ItemShopRechargementTerm.php?result=1&id=' . $objLogsRechargement->getId() . '&isConnected=0'); exit; } } else { $codeResult = "Mauvaise clès"; $objLogsRechargement = new \Site\Entity\LogsRechargements(); $objLogsRechargement->setIdCompte($objAccount->getId()); $objLogsRechargement->setCompte($objAccount->getLogin()); $objLogsRechargement->setEmailCompte($objAccount->getEmail()); $objLogsRechargement->setCode($request->query->get("RECALL")); $objLogsRechargement->setResultat($codeResult); $objLogsRechargement->setDate(new \DateTime(date("Y-m-d H:i:s"))); $objLogsRechargement->setIp($this->ipAdresse); $em->persist($objLogsRechargement); $em->flush(); header('Location: ../../ItemShopRechargementTerm.php?result=0&Raison=ClesMauvaise&id=' . $objLogsRechargement->getId() . ''); exit; } }