Пример #1
0
 public function run()
 {
     global $request;
     $idAccount = $request->request->get("id");
     $page = $request->request->get("page");
     if ($page == 1) {
         $iDepart = 0;
         $iMax = 44;
     } else {
         if ($page == 2) {
             $iDepart = 45;
             $iMax = 90;
         } else {
             if ($page == 3) {
                 $iDepart = 90;
                 $iMax = 135;
             }
         }
     }
     $arrObjItems = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId($iDepart, $iMax, $idAccount, "SAFEBOX");
     $this->arrayTemplate["arrObjItems"] = $arrObjItems;
     $this->arrayTemplate["iDepart"] = $iDepart;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
 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);
     }
 }
 public function run()
 {
     global $request;
     $index = 0;
     $playerName = $request->request->get("recherche");
     $cacheManager = \CacheHelper::getCacheManager();
     if ($cacheManager->isExisting("arrObjPlayersCachePVP")) {
         $arrObjPlayersCachePVP = $cacheManager->get("arrObjPlayersCachePVP");
     } else {
         $arrObjPlayersCachePVP = \Player\PlayerHelper::getPlayerRepository()->findClassement("PVP", 0, 0, true);
         $cacheManager->set("arrObjPlayersCachePVP", $arrObjPlayersCachePVP, 3600);
     }
     foreach ($arrObjPlayersCachePVP as $objPlayersCachePVP) {
         $index++;
         if ($objPlayersCachePVP["name"] == $playerName) {
             break;
         }
     }
     if (count($arrObjPlayersCachePVP) != $index) {
         $intervalStartSearch = $index - 5;
         if ($intervalStartSearch < 0) {
             $intervalStartSearch = 0;
         }
         $arrObjPlayers = array_slice($arrObjPlayersCachePVP, $intervalStartSearch, 10);
         $this->arrayTemplate["finded"] = true;
         $this->arrayTemplate["arrObjPlayers"] = $arrObjPlayers;
         $this->arrayTemplate["search"] = $playerName;
         $this->arrayTemplate["place"] = $intervalStartSearch + 1;
     } else {
         $this->arrayTemplate["finded"] = false;
     }
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
 public function run()
 {
     global $request;
     $em = \Shared\DoctrineHelper::getEntityManager();
     $gmListMid = $request->request->get("GmListMid");
     $playerId = $request->request->get("playerId");
     $playerIp = $request->request->get("playerIp");
     $authority = $request->request->get("authority");
     $objPlayer = \Player\PlayerHelper::getPlayerRepository()->find($playerId);
     $objAccount = \Account\AccountHelper::getAccountRepository()->find($objPlayer->getIdAccount());
     if ($gmListMid > 0) {
         $objGmListMid = \Common\CommonHelper::getGmlistRepository()->find($gmListMid);
     } else {
         $objGmListMid = new \Common\Entity\Gmlist();
         $objGmListMid->setMserverip("ALL");
     }
     $objGmListMid->setMaccount($objAccount->getLogin());
     $objGmListMid->setMname($objPlayer->getName());
     $objGmListMid->setMauthority($authority);
     $objGmListMid->setMcontactip($playerIp);
     $em->persist($objGmListMid);
     $em->flush();
     $result = array('result' => true, 'reasons' => "");
     echo json_encode($result);
 }
 public function run()
 {
     global $request;
     $numPage = $request->query->get("page");
     $intervalStart = $numPage * 10;
     $cacheManager = \CacheHelper::getCacheManager();
     if ($cacheManager->isExisting("arrObjPlayersCachePVP")) {
         $arrObjPlayersCachePVP = $cacheManager->get("arrObjPlayersCachePVP");
     } else {
         $arrObjPlayersCachePVP = \Player\PlayerHelper::getPlayerRepository()->findClassement("PVP", 0, 0, true);
         $cacheManager->set("arrObjPlayersCachePVP", $arrObjPlayersCachePVP, 3600);
     }
     $arrObjPlayers = array_slice($arrObjPlayersCachePVP, $intervalStart, 10);
     $totalObjPlayers = count($arrObjPlayersCachePVP);
     $totalPage = $totalObjPlayers / 10 - 1;
     $i = $intervalStart + 1;
     $this->arrayTemplate["arrObjPlayers"] = $arrObjPlayers;
     $this->arrayTemplate["totalObjPlayers"] = $totalObjPlayers;
     $this->arrayTemplate["totalPage"] = $totalPage;
     $this->arrayTemplate["numPage"] = $numPage;
     $this->arrayTemplate["place"] = $i;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
Пример #6
0
 public function run()
 {
     global $request;
     $em = \Shared\DoctrineHelper::getEntityManager();
     $idPlayer = \Encryption::decrypt($request->request->get("idPlayer"));
     $objPlayer = \Player\PlayerHelper::getPlayerRepository()->findPlayerByIdPlayerAndIdAccount($idPlayer, $this->objAccount->getId());
     if ($objPlayer !== null) {
         if ($objPlayer->getGold() < 0) {
             $yangsOld = $objPlayer->getGold();
             $objPlayer->setGold("1500000000");
             $em->persist($objPlayer);
             $objLogsDeblocageYangs = new \Site\Entity\LogsDeblocageYangs();
             $objLogsDeblocageYangs->setIdPerso($idPlayer);
             $objLogsDeblocageYangs->setIdCompte($this->objAccount->getId());
             $objLogsDeblocageYangs->setDate(new \DateTime(date("Y-m-d H:i:s")));
             $objLogsDeblocageYangs->setIp($this->ipAdresse);
             $objLogsDeblocageYangs->setLogYangs($yangsOld);
             $em->persist($objLogsDeblocageYangs);
             $em->flush();
         } else {
             echo "YANGS";
         }
     } else {
         echo "NOT_YOU";
     }
 }
Пример #7
0
 public function run()
 {
     global $request;
     $em = \Shared\DoctrineHelper::getEntityManager();
     $idMarchePersonnage = $request->request->get("idMarchePersonnage");
     $objMarchePersonnage = \Site\SiteHelper::getMarchePersonnagesRepository()->findByIdAndIdProprietaire($idMarchePersonnage, $this->objAccount->getId());
     if ($objMarchePersonnage !== null) {
         $ID_Personnage = $objMarchePersonnage->getIdPersonnage();
         $Emplacement_Personnage = $objMarchePersonnage->getPid();
         $objPlayerIndex = \Player\PlayerHelper::getPlayerIndexRepository()->findByEmplacementAndAccountId($Emplacement_Personnage, $this->objAccount->getId());
         if ($objPlayerIndex !== null) {
             $objPlayer = \Player\PlayerHelper::getPlayerRepository()->find($ID_Personnage);
             if ($objPlayer !== null) {
                 $func = "setPid" . $Emplacement_Personnage;
                 $objPlayerIndex->{$func}($ID_Personnage);
                 $em->persist($objPlayerIndex);
                 $objPlayer->setIdAccount($this->objAccount->getId());
                 $em->persist($objPlayer);
                 $em->remove($objMarchePersonnage);
                 $em->flush();
                 \Site\SiteHelper::getMarcheArticlesRepository()->deleteByIdentifiantArticle($idMarchePersonnage);
                 $Tableau_Retour_Json = array('result' => true, 'reasons' => "");
             } else {
                 $Tableau_Retour_Json = array('result' => false, 'reasons' => "Le personnage est déja lié a un compte.");
             }
         } else {
             $Tableau_Retour_Json = array('result' => false, 'reasons' => "L'emplacement original est occupé par un vrai personnage.");
         }
     } else {
         $Tableau_Retour_Json = array('result' => false, 'reasons' => "Ce personnage ne vous appartient pas.");
     }
     echo json_encode($Tableau_Retour_Json);
 }
Пример #8
0
 public function run()
 {
     $arrObjPlayers = \Player\PlayerHelper::getPlayerRepository()->findPlayersBannis();
     $this->arrayTemplate["arrObjPlayers"] = $arrObjPlayers;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
Пример #9
0
 public function run()
 {
     $arrObjItems = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(0, 44, $this->objAccount->getId(), "MALL");
     $this->arrayTemplate["arrObjItems"] = $arrObjItems;
     $this->arrayTemplate["iDepart"] = 0;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
 public function run()
 {
     global $request;
     $em = \Shared\DoctrineHelper::getEntityManager();
     $idPlayer = $this->objPlayer->getId();
     $codeVerif = $request->request->get("numeroVerif");
     $objSuppressionPersonnage = \Site\SiteHelper::getSuppressionPersonnageRepository()->findByIdPlayerAndNumeroVerif($this->objPlayer->getId(), $codeVerif);
     if ($objSuppressionPersonnage !== null) {
         if (\Player\PlayerHelper::haveGuild($idPlayer) == false) {
             $objPlayerIndex = \Player\PlayerHelper::getPlayerIndexRepository()->find($this->objAccount->getId());
             if ($objPlayerIndex->getPid1() == $idPlayer) {
                 $func = "setPid1";
             } else {
                 if ($objPlayerIndex->getPid2() == $idPlayer) {
                     $func = "setPid2";
                 } else {
                     if ($objPlayerIndex->getPid3() == $idPlayer) {
                         $func = "setPid3";
                     } else {
                         if ($objPlayerIndex->getPid4() == $idPlayer) {
                             $func = "setPid4";
                         }
                     }
                 }
             }
             $objPlayerIndex->{$func}(0);
             $em->persist($objPlayerIndex);
             \Player\PlayerHelper::getMarriageRepository()->deleteByIdPlayer($idPlayer);
             \Player\PlayerHelper::getItemRepository()->deleteByOwnerId($idPlayer, ["EQUIPMENT", "INVENTORY"]);
             $objPlayerDelete = new \Player\Entity\PlayerDeleted();
             $oldReflection = new \ReflectionObject($this->objPlayer);
             $newReflection = new \ReflectionObject($objPlayerDelete);
             foreach ($oldReflection->getProperties() as $property) {
                 if ($newReflection->hasProperty($property->getName())) {
                     $newProperty = $newReflection->getProperty($property->getName());
                     $newProperty->setAccessible(true);
                     $newProperty->setValue($objPlayerDelete, $property->getValue($this->objPlayer));
                 }
             }
             $em->persist($objPlayerDelete);
             \Player\PlayerHelper::getMessengerListRepository()->deleteByNamePlayer($this->objPlayer->getName());
             $em->remove($this->objPlayer);
             $em->remove($objSuppressionPersonnage);
             $em->flush();
             $Tableau_Retour_Json = array('result' => true);
         } else {
             $em->remove($objSuppressionPersonnage);
             $em->flush();
             $Tableau_Retour_Json = array('result' => false, 'reasons' => "Le joueur est membre ou chef d'une guilde.");
         }
     } else {
         $Tableau_Retour_Json = array('result' => false, 'reasons' => "Le code de vérification n'est pas le bon.");
     }
     echo json_encode($Tableau_Retour_Json);
 }
 public function run()
 {
     $cacheManager = \CacheHelper::getCacheManager();
     if ($cacheManager->isExisting("resultcountPlayerOnline")) {
         $resultcountPlayerOnline = $cacheManager->get("resultcountPlayerOnline");
     } else {
         $resultcountPlayerOnline = \Player\PlayerHelper::getPlayerRepository()->countPlayerOnline(30);
         $cacheManager->set("resultcountPlayerOnline", $resultcountPlayerOnline, 60);
     }
     echo $resultcountPlayerOnline;
 }
 public function run()
 {
     global $request;
     $idPlayer = $request->query->get("id");
     $objPlayer = \Player\PlayerHelper::getPlayerRepository()->find($idPlayer);
     $haveGuild = \Player\PlayerHelper::haveGuild($objPlayer->getId());
     $this->arrayTemplate["objPlayer"] = $objPlayer;
     $this->arrayTemplate["haveGuild"] = $haveGuild;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
Пример #13
0
 public function run()
 {
     global $request;
     $idPlayer = $request->query->get("id");
     $objPlayer = \Player\PlayerHelper::getPlayerRepository()->find($idPlayer);
     $arrObjMessengerList = \Player\PlayerHelper::getMessengerListRepository()->findByPlayerName($objPlayer->getName());
     $this->arrayTemplate["objPlayer"] = $objPlayer;
     $this->arrayTemplate["arrObjMessengerList"] = $arrObjMessengerList;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
Пример #14
0
 public function run()
 {
     $arrObjItems = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(0, 45, $this->objAccount->getId(), "MALL");
     $templateEntrepotIs = $this->objTwig->loadTemplate("ajaxEntrepotIS.html5.twig");
     $viewEntrepotIs = $templateEntrepotIs->render(["arrObjItems" => $arrObjItems, "iDepart" => 0]);
     $arrObjLogsItemshopAchats = \Site\SiteHelper::getLogsItemshopAchatsRepository()->findByIdAccount($this->objAccount->getId());
     $this->arrayTemplate["viewEntrepotIs"] = $viewEntrepotIs;
     $this->arrayTemplate["arrObjLogsItemshopAchats"] = $arrObjLogsItemshopAchats;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
Пример #15
0
 public function run()
 {
     $arrObjPlayer = \Player\PlayerHelper::getPlayerRepository()->findByNameForAjaxSelect($_GET["term"]);
     $arrResult[] = array('label' => "", 'ID' => "");
     if (count($arrObjPlayer) > 0) {
         foreach ($arrObjPlayer as $objPlayer) {
             $arrResult[] = array('label' => $objPlayer['name'], 'ID' => $objPlayer['id']);
         }
     }
     echo json_encode($arrResult);
     exit;
 }
 public function run()
 {
     $arrObjItemProto = \Player\PlayerHelper::getItemProtoRepository()->findByNameForAjaxSelect($_GET["term"]);
     $arrResult[] = array('label' => "", 'ID' => "");
     if (count($arrObjItemProto) > 0) {
         foreach ($arrObjItemProto as $objItemProto) {
             $arrResult[] = array('label' => $objItemProto['localeName'], 'ID' => $objItemProto['vnum']);
         }
     }
     echo json_encode($arrResult);
     exit;
 }
 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();
     $playerNameOld = $this->objPlayer->getName();
     $playerNameNew = $request->request->get("newName");
     $devise = $config["mod_player"]["rename"]["devise"];
     $price = $config["mod_player"]["rename"]["price"];
     $monnaie = 0;
     if ($devise == \DeviseHelper::CASH) {
         $monnaie = $this->objAccount->getCash();
     } elseif ($devise == \DeviseHelper::MILEAGE) {
         $monnaie = $this->objAccount->getMileage();
     }
     $countPlayerByName = \Player\PlayerHelper::getPlayerRepository()->countPlayerByName($playerNameNew);
     if ($countPlayerByName == 0) {
         if ($monnaie >= $price) {
             $this->objPlayer->setName($playerNameNew);
             $em->persist($this->objPlayer);
             $objLogsPlayerRename = new \Site\Entity\LogsPlayerRename();
             $objLogsPlayerRename->setIdCompte($this->objAccount->getId());
             $objLogsPlayerRename->setOld($playerNameOld);
             $objLogsPlayerRename->setNew($playerNameNew);
             $objLogsPlayerRename->setPrix($config["mod_player"]["rename"]["price"]);
             $objLogsPlayerRename->setDevise($config["mod_player"]["rename"]["devise"]);
             $objLogsPlayerRename->setDate(new \DateTime(date("Y-m-d H:i:s")));
             $objLogsPlayerRename->setIp($this->ipAdresse);
             $em->persist($objLogsPlayerRename);
             if ($devise == \DeviseHelper::CASH) {
                 $this->objAccount->setCash($this->objAccount->getCash() - $price);
                 $this->objAccount->setMileage($this->objAccount->getMileage() + $price);
             } elseif ($devise == \DeviseHelper::MILEAGE) {
                 $this->objAccount->setMileage($this->objAccount->getMileage() - $price);
             }
             $em->persist($this->objAccount);
             $session->set("Cash", $this->objAccount->getCash());
             $session->set("Mileage", $this->objAccount->getMileage());
             $em->flush();
             $Tableau_Retour_Json = array('result' => true, 'reasons' => "Personnage renommé avec succès.");
         } else {
             $Tableau_Retour_Json = array('result' => false, 'reasons' => "Vous n'avez pas assez de monnaies.");
         }
     } else {
         $Tableau_Retour_Json = array('result' => false, 'reasons' => "Ce nom est déjà pris.");
     }
     echo json_encode($Tableau_Retour_Json);
 }
 public function run()
 {
     global $request;
     $idPlayer = $request->query->get("id");
     $templateEquipement = $this->objTwig->loadTemplate("playerEquipement.html5.twig");
     $tailleImageEquipement = getimagesize("../../images/equipement.png");
     $objItemArme = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(4, 4, $idPlayer, "EQUIPMENT", true);
     $objItemArmure = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(0, 0, $idPlayer, "EQUIPMENT", true);
     $objItemCasque = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(1, 1, $idPlayer, "EQUIPMENT", true);
     $objItemBouclier = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(10, 10, $idPlayer, "EQUIPMENT", true);
     $objItemBracelet = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(3, 3, $idPlayer, "EQUIPMENT", true);
     $objItemBoucle = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(6, 6, $idPlayer, "EQUIPMENT", true);
     $objItemCollier = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(5, 5, $idPlayer, "EQUIPMENT", true);
     $objItemChaussure = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(2, 2, $idPlayer, "EQUIPMENT", true);
     $objItemFleche = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(9, 9, $idPlayer, "EQUIPMENT", true);
     $objItemSpecial1 = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(7, 7, $idPlayer, "EQUIPMENT", true);
     $objItemSpecial2 = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(8, 8, $idPlayer, "EQUIPMENT", true);
     $objItemJambiere = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(23, 23, $idPlayer, "EQUIPMENT", true);
     $viewEquipement = $templateEquipement->render(["tailleImageEquipementWidth" => $tailleImageEquipement[0], "tailleImageEquipementHeight" => $tailleImageEquipement[1], "objItemArme" => $objItemArme, "objItemArmure" => $objItemArmure, "objItemCasque" => $objItemCasque, "objItemBouclier" => $objItemBouclier, "objItemBracelet" => $objItemBracelet, "objItemBoucle" => $objItemBoucle, "objItemCollier" => $objItemCollier, "objItemChaussure" => $objItemChaussure, "objItemFleche" => $objItemFleche, "objItemSpecial1" => $objItemSpecial1, "objItemSpecial2" => $objItemSpecial2, "objItemJambiere" => $objItemJambiere]);
     $arrObjItems = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(0, 180, $idPlayer, "INVENTORY");
     $arrObjItemsPage1 = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(0, 45, $idPlayer, "INVENTORY");
     $templateEntrepotPage1 = $this->objTwig->loadTemplate("ajaxInventairePage.html5.twig");
     $viewEntrepotPage1 = $templateEntrepotPage1->render(["arrObjItems" => $arrObjItemsPage1, "iDepart" => 0]);
     $templateInventaire = $this->objTwig->loadTemplate("playerInventaire.html5.twig");
     $viewInventaire = $templateInventaire->render(["objAccount" => $this->objAccount, "viewInventairePage1" => $viewEntrepotPage1, "arrObjItems" => $arrObjItems, "idPlayer" => $idPlayer]);
     $objPlayer = \Player\PlayerHelper::getPlayerRepository()->find($idPlayer);
     $objPlayerIndex = \Player\PlayerHelper::getPlayerIndexRepository()->find($objPlayer->getId());
     $calculateGrade = \Player\PlayerHelper::calculateGrade($objPlayer->getAlignment());
     $isConnected = \Player\PlayerHelper::isConnected($objPlayer, 30);
     $haveGuild = \Player\PlayerHelper::haveGuild($objPlayer->getId());
     $localisation = json_decode(\Localisation::localize(0, $objPlayer, $isConnected));
     $objMarriage = \Player\PlayerHelper::getMarriageRepository()->findMariageByIdPlayer($objPlayer->getId());
     $this->arrayTemplate["viewEquipement"] = $viewEquipement;
     $this->arrayTemplate["viewInventaire"] = $viewInventaire;
     $this->arrayTemplate["objPlayer"] = $objPlayer;
     $this->arrayTemplate["objPlayerIndex"] = $objPlayerIndex;
     $this->arrayTemplate["localisation"] = $localisation;
     $this->arrayTemplate["isConnected"] = $isConnected;
     $this->arrayTemplate["calculateGrade"] = $calculateGrade;
     $this->arrayTemplate["objAccount"] = $this->objAccount;
     $this->arrayTemplate["haveGuild"] = $haveGuild;
     $this->arrayTemplate["objMarriage"] = $objMarriage;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
Пример #20
0
 public function run()
 {
     $templateGenerale = $this->objTwig->loadTemplate("MonCompteGenerale.html5.twig");
     $arrObjPlayers = \Player\PlayerHelper::getPlayerRepository()->findPlayers($this->objAccount->getId());
     $objAccount = $this->objAccount;
     $objPlayerIndex = \Player\PlayerHelper::getPlayerIndexRepository()->find($this->objAccount->getId());
     $objSafebox = \Player\PlayerHelper::getSafeboxRepository()->findByIdCompte($this->objAccount->getId());
     $arrObjItemsPage1 = \Player\PlayerHelper::getItemRepository()->findByPosIntervalAndOwnerId(0, 45, $this->objAccount->getId(), "SAFEBOX");
     $templateEntrepotPage1 = $this->objTwig->loadTemplate("ajaxEntrepotPage.html5.twig");
     $viewEntrepotPage1 = $templateEntrepotPage1->render(["arrObjItems" => $arrObjItemsPage1, "iDepart" => 0]);
     $templateEntrepot = $this->objTwig->loadTemplate("MonCompteEntrepot.html5.twig");
     $viewEntrepot = $templateEntrepot->render(["objAccount" => $this->objAccount, "viewEntrepotPage1" => $viewEntrepotPage1]);
     $viewGenerale = $templateGenerale->render(["arrObjPlayers" => $arrObjPlayers, "objAccount" => $objAccount, "viewEntrepot" => $viewEntrepot, "objPlayerIndex" => $objPlayerIndex, "objSafebox" => $objSafebox]);
     $this->arrayTemplate["viewGenerale"] = $viewGenerale;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
Пример #21
0
 public function run()
 {
     global $request;
     $idMap = $request->query->get("idMap");
     $arrObjPlayers = \Player\PlayerHelper::getPlayerRepository()->findPlayerOnlineByMap(30, $idMap, true);
     $arrIndex = \Localisation::getMapByIndex($idMap);
     $mapX = $arrIndex[4];
     $mapY = $arrIndex[5];
     $baseX = $arrIndex[2];
     $baseY = $arrIndex[3];
     $this->arrayTemplate["idMap"] = $idMap;
     $this->arrayTemplate["arrObjPlayers"] = $arrObjPlayers;
     $this->arrayTemplate["baseX"] = $baseX;
     $this->arrayTemplate["baseY"] = $baseY;
     $this->arrayTemplate["mapX"] = $mapX;
     $this->arrayTemplate["mapY"] = $mapY;
     $this->arrayTemplate["countOnMap"] = count($arrObjPlayers);
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
 public function run()
 {
     global $request;
     $em = \Shared\DoctrineHelper::getEntityManager();
     $passwordSafeboxOld = $request->request->get("Code_Avant");
     $passwordSafeboxNew = $request->request->get("Code_Entrepot");
     //On recherche l'entrepot du compte
     $objSafebox = \Player\PlayerHelper::getSafeboxRepository()->findByIdCompte($this->objAccount->getId());
     if ($objSafebox !== null) {
         $objSafebox->setPassword($passwordSafeboxNew);
         $em->persist($objSafebox);
         $objLogsChangementCodeEntrepot = new \Site\Entity\LogsChangementCodeEntrepot();
         $objLogsChangementCodeEntrepot->setIdCompte($this->objAccount->getId());
         $objLogsChangementCodeEntrepot->setDate(new \DateTime(date("Y-m-d H:i:s")));
         $objLogsChangementCodeEntrepot->setIp($this->ipAdresse);
         $em->persist($objLogsChangementCodeEntrepot);
         $em->flush();
         echo '1';
     } else {
         echo '2';
     }
 }
 public function run()
 {
     global $request;
     $mode = $request->query->get("mode");
     if ($mode == "create") {
         $objItemshop = new \Site\Entity\Itemshop();
     } else {
         if ($mode == "mod") {
             $id = $request->query->get("idArticle");
             $objItemshop = \Site\SiteHelper::getItemshopRepository()->find($id);
             if ($objItemshop->getType() != "2") {
                 $objItemProto = \Player\PlayerHelper::getItemProtoRepository()->find($objItemshop->getIdItem());
                 $this->arrayTemplate["objItemProto"] = $objItemProto;
             }
         }
     }
     $arrObjItemShopCategorie = \Site\SiteHelper::getItemshopCategoriesRepository()->findAll();
     $this->arrayTemplate["objItemshop"] = $objItemshop;
     $this->arrayTemplate["arrObjItemShopCategorie"] = $arrObjItemShopCategorie;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
Пример #24
0
 public function run()
 {
     $numPage = 0;
     $i = $numPage + 1;
     $cacheManager = \CacheHelper::getCacheManager();
     if ($cacheManager->isExisting("arrObjPlayersCachePVE")) {
         $arrObjPlayersCachePVE = $cacheManager->get("arrObjPlayersCachePVE");
     } else {
         $arrObjPlayersCachePVE = \Player\PlayerHelper::getPlayerRepository()->findClassement("PVE", 0, 0, true);
         $cacheManager->set("arrObjPlayersCachePVE", $arrObjPlayersCachePVE, 3600);
     }
     $arrObjPlayers = array_slice($arrObjPlayersCachePVE, 0, 10);
     $totalObjPlayers = count($arrObjPlayersCachePVE);
     $totalPage = $totalObjPlayers / 10 - 1;
     $this->arrayTemplate["arrObjPlayers"] = $arrObjPlayers;
     $this->arrayTemplate["totalObjPlayers"] = $totalObjPlayers;
     $this->arrayTemplate["totalPage"] = $totalPage;
     $this->arrayTemplate["numPage"] = $numPage;
     $this->arrayTemplate["place"] = $i;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
Пример #25
0
 public function run()
 {
     global $request;
     $mode = $request->query->get("mode");
     $objPlayer = null;
     $objAccount = null;
     if ($mode == "create") {
         $objGmList = new \Common\Entity\Gmlist();
     } else {
         if ($mode == "mod") {
             $id = $request->query->get("idMembre");
             $objGmList = \Common\CommonHelper::getGmlistRepository()->find($id);
             $objPlayer = \Player\PlayerHelper::getPlayerRepository()->findByName($objGmList->getMname());
             $objAccount = \Account\AccountHelper::getAccountRepository()->findAccountByLogin($objGmList->getMaccount());
         }
     }
     $this->arrayTemplate["arrAuthority"] = \AuthorityHelper::getAll();
     $this->arrayTemplate["objGmList"] = $objGmList;
     $this->arrayTemplate["objPlayer"] = $objPlayer;
     $this->arrayTemplate["objAccount"] = $objAccount;
     $view = $this->template->render($this->arrayTemplate);
     $this->response->setContent($view);
     $this->response->send();
 }
Пример #26
0
<?php

if ($cacheManager->isExisting("arrObjGuildsTop")) {
    $arrObjGuilds = $cacheManager->get("arrObjGuildsTop");
} else {
    $arrObjGuilds = Player\PlayerHelper::getGuildRepository()->findTop(6);
    $cacheManager->set("arrObjGuildsTop", $arrObjPlayers, 21600);
}
$templateTop = $this->objTwig->loadTemplate("ClassementGuildesTop.html5.twig");
$view = $templateTop->render(["arrObjGuilds" => $arrObjGuilds]);
echo $view;
if ($cacheManager->isExisting("resultcountPlayerOnline")) {
    $resultcountPlayerOnline = $cacheManager->get("resultcountPlayerOnline");
} else {
    $resultcountPlayerOnline = \Player\PlayerHelper::getPlayerRepository()->countPlayerOnline(90);
    $cacheManager->set("resultcountPlayerOnline", $resultcountPlayerOnline, 60);
}
?>

<div class="box box-default flat  hidden-sm hidden-xs">
    <div class="box-header">
        <h3 class="box-title">Serveur</h3>

        <div class="box-tools" style="padding-top: 3px; padding-right: 1px;">
            <span class="iconStatutServer"></span>
        </div>
    </div>

    <div class="box-body">

        <span data-tooltip="Connectés ou téléportés les 15 dernières minutes." id="nombrePlayerConnected"><?php 
Пример #27
0
 public function VerifMonJoueur($idParametre = 0)
 {
     global $session;
     $objPlayer = \Player\PlayerHelper::getPlayerRepository()->verifyIsMyPlayer($session->get("ID"), $idParametre);
     if ($objPlayer !== null) {
         return $objPlayer;
     } else {
         include BASE_ROOT . '/pages/MagicWord.php';
         exit;
     }
 }
Пример #28
0
 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);
 }
Пример #29
0
 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);
 }
Пример #30
0
 public function run()
 {
     global $request;
     $cacheManager = \CacheHelper::getCacheManager();
     $intervalStat = \Encryption::decrypt($request->request->get("page"));
     if ($cacheManager->isExisting("arrStatistiques" . $intervalStat)) {
         $arrStatistiques = $cacheManager->get("arrStatistiques" . $intervalStat);
         echo $arrStatistiques;
     } else {
         $nombreCompte = \Account\AccountHelper::getAccountRepository()->statAccountCreate($intervalStat);
         if ($intervalStat < 4) {
             $nombrePlayer = \Site\SiteHelper::getLogsCreationJoueursRepository()->statPlayerCreate($intervalStat);
             $nombrePlayerHomme = \Site\SiteHelper::getLogsCreationJoueursRepository()->statPlayerCreate($intervalStat, [0, 2, 5, 7]);
             $nombrePlayerFemme = \Site\SiteHelper::getLogsCreationJoueursRepository()->statPlayerCreate($intervalStat, [1, 3, 4, 6]);
             $nombrePlayerShinsoo = \Site\SiteHelper::getLogsCreationJoueursRepository()->statPlayerCreate($intervalStat, "", [1]);
             $nombrePlayerChunjo = \Site\SiteHelper::getLogsCreationJoueursRepository()->statPlayerCreate($intervalStat, "", [2]);
             $nombrePlayerJinno = \Site\SiteHelper::getLogsCreationJoueursRepository()->statPlayerCreate($intervalStat, "", [3]);
             $nombrePlayerGuerrier = \Site\SiteHelper::getLogsCreationJoueursRepository()->statPlayerCreate($intervalStat, [0, 4]);
             $nombrePlayerSura = \Site\SiteHelper::getLogsCreationJoueursRepository()->statPlayerCreate($intervalStat, [2, 6]);
             $nombrePlayerNinja = \Site\SiteHelper::getLogsCreationJoueursRepository()->statPlayerCreate($intervalStat, [1, 5]);
             $nombrePlayerShaman = \Site\SiteHelper::getLogsCreationJoueursRepository()->statPlayerCreate($intervalStat, [3, 7]);
         } else {
             $nombrePlayer = \Player\PlayerHelper::getPlayerRepository()->statPlayer();
             $nombrePlayerHomme = \Player\PlayerHelper::getPlayerRepository()->statPlayer([0, 2, 5, 7]);
             $nombrePlayerFemme = \Player\PlayerHelper::getPlayerRepository()->statPlayer([1, 3, 4, 6]);
             $nombrePlayerShinsoo = \Player\PlayerHelper::getPlayerRepository()->statPlayer("", [1]);
             $nombrePlayerChunjo = \Player\PlayerHelper::getPlayerRepository()->statPlayer("", [2]);
             $nombrePlayerJinno = \Player\PlayerHelper::getPlayerRepository()->statPlayer("", [3]);
             $nombrePlayerGuerrier = \Player\PlayerHelper::getPlayerRepository()->statPlayer([0, 4]);
             $nombrePlayerSura = \Player\PlayerHelper::getPlayerRepository()->statPlayer([2, 6]);
             $nombrePlayerNinja = \Player\PlayerHelper::getPlayerRepository()->statPlayer([1, 5]);
             $nombrePlayerShaman = \Player\PlayerHelper::getPlayerRepository()->statPlayer([3, 7]);
         }
         $nombreConnexion = \Site\SiteHelper::getLogsConnexionRepository()->statConnexions($intervalStat, 1);
         $nombreConnexionUnique = \Site\SiteHelper::getLogsConnexionRepository()->statConnexions($intervalStat, 1, true);
         $nombreMailChangement = \Site\SiteHelper::getLogsChangementMailRepository()->statChangementMails($intervalStat);
         $nombreOublieMotDePasse = \Site\SiteHelper::getLogsOublieMotDePasseRepository()->statOublieMotDePasse($intervalStat, 1);
         $nombreChangementMotDePasse = \Site\SiteHelper::getLogsChangementPasswordRepository()->statChangementMotDePasse($intervalStat);
         $nombreChangementCodeEntrepot = \Site\SiteHelper::getLogsChangementCodeEntrepotRepository()->statChangementCodeEntrepot($intervalStat);
         $nombreDeblocageYang = \Site\SiteHelper::getLogsDeblocageYangsRepository()->statDeblocageYangs($intervalStat);
         $nombreVote = \Site\SiteHelper::getVotesLogsRepository()->statVotes($intervalStat);
         $nombreAchatMarche = \Site\SiteHelper::getLogsMarcheAchatsRepository()->statMarcheAchats($intervalStat);
         $nombreDiscussion = \Site\SiteHelper::getSupportDiscussionsRepository()->statDiscussions($intervalStat, false);
         $nombreDiscussionArchive = \Site\SiteHelper::getSupportDiscussionsRepository()->statDiscussions($intervalStat, true);
         $nombreMessage = \Site\SiteHelper::getSupportMessagesRepository()->statMessages($intervalStat);
         $nombreProvenanceFR = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "FRA");
         $nombreProvenanceCH = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "CHE");
         $nombreProvenanceGB = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "GBR");
         $nombreProvenanceDE = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "DEU");
         $nombreProvenanceRO = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "ROM");
         $nombreProvenanceUS = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "USA");
         $nombreProvenanceIT = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "ITA");
         $nombreProvenanceES = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "ESP");
         $nombreProvenancePL = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "POL");
         $nombreProvenancePT = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "PRT");
         $nombreProvenanceTN = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "TUN");
         $nombreProvenanceDZ = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "DZA");
         $nombreProvenanceJP = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "JPN");
         $nombreProvenanceBE = \Account\AccountHelper::getAccountRepository()->statProvenance($intervalStat, "BEL");
         $Tableau_Json = array('comptes' => "" . $nombreCompte, 'joueurs' => "" . $nombrePlayer, 'hommes' => "" . $nombrePlayerHomme, 'femmes' => "" . $nombrePlayerFemme, 'shinsoo' => "" . $nombrePlayerShinsoo, 'chunjo' => "" . $nombrePlayerChunjo, 'jinno' => "" . $nombrePlayerJinno, 'guerriers' => "" . $nombrePlayerGuerrier, 'suras' => "" . $nombrePlayerSura, 'ninjas' => "" . $nombrePlayerNinja, 'shamans' => "" . $nombrePlayerShaman, 'connexion_site' => "" . $nombreConnexion, 'connexion_site_unique' => "" . $nombreConnexionUnique, 'changement_mail' => "" . $nombreMailChangement, 'recup_mdp' => "" . $nombreOublieMotDePasse, 'changement_mdp' => "" . $nombreChangementMotDePasse, 'changement_entrepot' => "" . $nombreChangementCodeEntrepot, 'deblocage_yangs' => "" . $nombreDeblocageYang, 'nombre_vote' => "" . $nombreVote, 'nombre_achats_perso' => "" . $nombreAchatMarche, 'tickets_ouvert' => "" . $nombreDiscussion, 'message_ecrits' => "" . $nombreMessage, 'discussion_archives' => "" . $nombreDiscussionArchive, 'pays_fr' => "" . $nombreProvenanceFR, 'pays_ch' => "" . $nombreProvenanceCH, 'pays_gb' => "" . $nombreProvenanceGB, 'pays_de' => "" . $nombreProvenanceDE, 'pays_ro' => "" . $nombreProvenanceRO, 'pays_us' => "" . $nombreProvenanceUS, 'pays_it' => "" . $nombreProvenanceIT, 'pays_es' => "" . $nombreProvenanceES, 'pays_pl' => "" . $nombreProvenancePL, 'pays_pt' => "" . $nombreProvenancePT, 'pays_tn' => "" . $nombreProvenanceTN, 'pays_dz' => "" . $nombreProvenanceDZ, 'pays_jp' => "" . $nombreProvenanceJP, 'pays_be' => "" . $nombreProvenanceBE);
         echo json_encode($Tableau_Json);
         $cacheManager->set("arrStatistiques" . $intervalStat, json_encode($Tableau_Json), 21600);
     }
 }