public function run() { $columnsParameters = array(array('dbField' => 'AccountEntity.login', 'dtField' => 'compte'), array('dbField' => 'PlayerIndexEntity.empire', 'filterLevel' => 'strict', 'dtField' => 'empire', 'formatter' => function ($d, $row) { return \FonctionsUtiles::findIconEmpire($d); }), array('dbField' => ['PlayerEntity1.name', 'PlayerEntity2.name', 'PlayerEntity3.name', 'PlayerEntity4.name'], 'dbSortReplaceField' => ["PlayerEntity1.name" => "PlayerEntity2.name", "PlayerEntity2.name" => "PlayerEntity3.name", "PlayerEntity3.name" => "PlayerEntity4.name", "PlayerEntity4.name" => "PlayerEntity1.name"], 'dbConcatSeparator' => "|VAMOS|", 'dtField' => 'names', 'formatter' => function ($d, $row) { $arrReturn = array_unique(explode("|VAMOS|", $d)); return implode(", ", $arrReturn); }), array('dbField' => 'BannissementsActifsEntity.raisonBannissement', 'dtField' => 'raison', 'formatter' => function ($d, $row) { return \BanRaisonHelper::getLibelle($d); }), array('dbField' => 'BannissementsActifsEntity.duree', 'filterLevel' => 'strict', 'dtField' => 'duree', 'formatter' => function ($d, $row) { if ($d == 999) { return "Définitif"; } else { return \BanDureeHelper::getLibelle($d); } }), array('dbField' => 'AccountEntity.ipCreation', 'dtField' => 'ip'), array('dbField' => 'AccountEntity.id', 'dtField' => 'actions', 'formatter' => function ($d, $row) { if ($this->HaveTheRight(\DroitsHelper::DEBANNISSEMENT)) { $varButton = '<a class="btn btn-material btn-success btn-sm" onclick="SuppressionBannissement(' . $d . ')" data-tooltip="Lever"><i class="material-icons md-icon-lock-open"></i></a>'; } else { $varButton = ""; } return '<div class="btn-toolbar">' . $varButton . "</div>"; })); $datatable = new \DataTable(); $datatable->setColumnsParameters($columnsParameters)->setRequest($_GET)->from("\\Account\\Entity\\Account", "AccountEntity")->leftJoin("\\Player\\Entity\\PlayerIndex", "PlayerIndexEntity", "WITH", "PlayerIndexEntity.id = AccountEntity.id")->leftJoin("\\Player\\Entity\\Player", "PlayerEntity1", "WITH", "PlayerEntity1.id = PlayerIndexEntity.pid1")->leftJoin("\\Player\\Entity\\Player", "PlayerEntity2", "WITH", "PlayerEntity2.id = PlayerIndexEntity.pid2")->leftJoin("\\Player\\Entity\\Player", "PlayerEntity3", "WITH", "PlayerEntity3.id = PlayerIndexEntity.pid3")->leftJoin("\\Player\\Entity\\Player", "PlayerEntity4", "WITH", "PlayerEntity4.id = PlayerIndexEntity.pid4")->leftJoin("\\Site\\Entity\\BannissementsActifs", "BannissementsActifsEntity", "WITH", "BannissementsActifsEntity.idCompte = AccountEntity.id")->andWhere("AccountEntity.status = '" . \StatusHelper::BANNI . "'"); $datatable->getResult()->toJson(); }
public function run() { global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $idAccount = $request->request->get("accountId"); $banRaison = $request->request->get("banRaison"); $banDuree = $request->request->get("banDuree"); $banCommentaire = $request->request->get("banCommentaire"); $withBanEmail = $request->request->get("withBanEmail"); $withBanIp = $request->request->get("withBanIp"); $arrObjAccount = []; $objAccount = \Account\AccountHelper::getAccountRepository()->find($idAccount); if ($objAccount !== null) { array_push($arrObjAccount, $objAccount); } if ($this->HaveTheRight(\DroitsHelper::BANNISSEMENT_EMAIL)) { if ($withBanEmail !== null && $withBanEmail == "true") { $arrBanEmail = \Account\AccountHelper::getAccountRepository()->findAccountByEmail($objAccount->getEmail()); if (count($arrBanEmail) > 0) { foreach ($arrBanEmail as $banEmail) { array_push($arrObjAccount, $banEmail); } } } } if ($this->HaveTheRight(\DroitsHelper::BANNISSEMENT_IP)) { if ($withBanIp !== null && $withBanIp == "true") { $arrBanIp = \Account\AccountHelper::getAccountRepository()->findByIpCreation($objAccount->getIpCreation()); if (count($arrBanIp) > 0) { foreach ($arrBanIp as $banIp) { array_push($arrObjAccount, $banIp); } } } } $arrObjAccount = array_unique($arrObjAccount, SORT_REGULAR); foreach ($arrObjAccount as $objAccount) { $libelleRaison = \BanRaisonHelper::getLibelle($banRaison); $estDefinitif = false; if ($banDuree == 0) { $estDefinitif = true; } $objAccount->setStatus(\StatusHelper::BANNI); $em->persist($objAccount); $dateDebutBanissement = \Carbon\Carbon::now(); $dateFinBanissement = \Carbon\Carbon::now()->addDay($banDuree); $objBanissementActifs = new \Site\Entity\BannissementsActifs(); $objBanissementActifs->setIdCompte($objAccount->getId()); $objBanissementActifs->setRaisonBannissement($banRaison); $objBanissementActifs->setCommentaireBannissement($banCommentaire); $objBanissementActifs->setIdCompteGm($this->objAccount->getId()); $objBanissementActifs->setIpGm($this->ipAdresse); $objBanissementActifs->setDuree($banDuree); $objBanissementActifs->setDateDebutBannissement($dateDebutBanissement); $objBanissementActifs->setDateFinBannissement($dateFinBanissement); $objBanissementActifs->setDefinitif($estDefinitif); $em->persist($objBanissementActifs); $em->flush(); $template = $this->objTwig->loadTemplate("BanissementCompte.html5.twig"); $resultTemplate = $template->render(["compte" => $objAccount->getLogin(), "definitif" => $estDefinitif, "raison" => $libelleRaison]); $subject = 'VamosMt2 - Bannissement de ' . $objAccount->getLogin() . ''; \EmailHelper::sendEmail($objAccount->getEmail(), $subject, $resultTemplate); } $result = array('result' => true, 'reasons' => ""); echo json_encode($result); }
public function helpBanRaison($raison = 0) { return BanRaisonHelper::getLibelle($raison); }