예제 #1
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);
 }
 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()
 {
     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();
 }
예제 #4
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();
 }
예제 #5
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);
 }
예제 #6
0
 public function run()
 {
     global $request;
     $em = \Shared\DoctrineHelper::getEntityManager();
     $playerId = \Encryption::decrypt($request->request->get("id_personnage"));
     $titre = $request->request->get("texte_titre");
     $description = $request->request->get("texte_description");
     $prix = trim($request->request->get("prix"));
     $idDevise = $request->request->get("id_devise");
     if (is_numeric($prix)) {
         $objPlayer = parent::VerifMonJoueur($playerId);
         if (\Player\PlayerHelper::haveGuild($objPlayer->getId()) === false) {
             $objPlayerIndex = \Player\PlayerHelper::getPlayerIndexRepository()->find($this->objAccount->getId());
             $playerIndexPid = 0;
             if ($objPlayerIndex->getPid1() == $objPlayer->getId()) {
                 $playerIndexPid = 1;
             } else {
                 if ($objPlayerIndex->getPid2() == $objPlayer->getId()) {
                     $playerIndexPid = 2;
                 } else {
                     if ($objPlayerIndex->getPid3() == $objPlayer->getId()) {
                         $playerIndexPid = 3;
                     } else {
                         if ($objPlayerIndex->getPid4() == $objPlayer->getId()) {
                             $playerIndexPid = 4;
                         }
                     }
                 }
             }
             if ($playerIndexPid != 0) {
                 $objMarchePersonnage = new \Site\Entity\MarchePersonnages();
                 $objMarchePersonnage->setIdProprietaire($this->objAccount->getId());
                 $objMarchePersonnage->setIdPersonnage($objPlayer->getId());
                 $objMarchePersonnage->setPid($playerIndexPid);
                 $em->persist($objMarchePersonnage);
                 $em->flush();
                 $func = "setPid" . $playerIndexPid;
                 $objPlayerIndex->{$func}("9999999");
                 $em->persist($objPlayerIndex);
                 $objPlayer->setIdAccount(0);
                 $em->persist($objPlayer);
                 $objMarcheArticles = new \Site\Entity\MarcheArticles();
                 $objMarcheArticles->setDesignation($titre);
                 $objMarcheArticles->setDescription($description);
                 $objMarcheArticles->setCategorie(1);
                 $objMarcheArticles->setIdentifiantArticle($objMarchePersonnage->getId());
                 $objMarcheArticles->setPrix($prix);
                 $objMarcheArticles->setDevise($idDevise);
                 $objMarcheArticles->setDateAjout(new \DateTime(date("Y-m-d H:i:s")));
                 $objMarcheArticles->setIp($this->ipAdresse);
                 $em->persist($objMarcheArticles);
                 $objLogsMarcheMiseEnVente = new \Site\Entity\LogsMarcheMiseEnVente();
                 $objLogsMarcheMiseEnVente->setIdCompte($this->objAccount->getId());
                 $objLogsMarcheMiseEnVente->setIdPersonnage($playerId);
                 $objLogsMarcheMiseEnVente->setPrix($prix);
                 $objLogsMarcheMiseEnVente->setDevise($idDevise);
                 $objLogsMarcheMiseEnVente->setDate(new \DateTime(date("Y-m-d H:i:s")));
                 $objLogsMarcheMiseEnVente->setIp($this->ipAdresse);
                 $em->persist($objLogsMarcheMiseEnVente);
                 $em->flush();
                 $Tableau_Retour_Json = array('result' => true, 'reasons' => "");
             } else {
                 $Tableau_Retour_Json = array('result' => false, 'reasons' => "Ce personnage n'existe pas.");
             }
         } else {
             $Tableau_Retour_Json = array('result' => false, 'reasons' => "Le perso ne doit pas avoir de guilde.");
         }
     } else {
         $Tableau_Retour_Json = array('result' => false, 'reasons' => "Vous n'avez pas indiquer un chiffre.");
     }
     echo json_encode($Tableau_Retour_Json);
 }