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; $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); }