public function run() { $arrDevise = \DeviseHelper::getAll(false); $sColumns = ''; $sColumns .= '{ "mData": "date", "bSortable": true, "sWidth": "120px" },'; $sColumns .= '{ "mData": "emetteur", "bSortable": true, "sWidth": "90px" },'; $sColumns .= '{ "mData": "operation", "bSortable": true, "sWidth": "65px" },'; $sColumns .= '{ "mData": "montant", "bSortable": true },'; $sColumns .= '{ "mData": "devise", "bSortable": true, "sWidth": "90px" },'; $sColumns .= '{ "mData": "recepteur", "bSortable": true, "sWidth": "90px" },'; $sFilterColumns = ''; $sFilterColumns .= '{ type: "date-range"},'; $sFilterColumns .= '{ type: "text", placeholder: "" },'; $sFilterColumns .= '{ type: "select", values: [{value:"1", label:"Ajoute"}, {value:"2", label:"Enlève"}] },'; $sFilterColumns .= '{ type: "text", placeholder: "" },'; $sFilterColumns .= '{ type: "select", values: [' . \DeviseHelper::getForDatatableSelect(false) . '] },'; $sFilterColumns .= '{ type: "text", placeholder: "" }'; $this->arrayTemplate["dtColumns"] = rtrim($sColumns, ','); $this->arrayTemplate["dtFilterColumns"] = rtrim($sFilterColumns, ','); $this->arrayTemplate["ajaxSource"] = "pages/Admin/ajax/listHistoGererMonnaies.php?sEcho=1"; $this->arrayTemplate["arrDevise"] = $arrDevise; $view = $this->template->render($this->arrayTemplate); $this->response->setContent($view); $this->response->send(); }
public function run() { $arrDevises = \DeviseHelper::getAll(false); $this->arrayTemplate["objPlayer"] = $this->objPlayer; $this->arrayTemplate["arrDevises"] = $arrDevises; $view = $this->template->render($this->arrayTemplate); $this->response->setContent($view); $this->response->send(); }
public function run() { $columnsParameters = array(array('dbField' => 'LogsAdminGererMonnaieEntity.idCompte', 'dtField' => 'idCompte'), array('dbField' => 'AccountEntityUser.login', 'dtField' => 'recepteur', 'formatter' => function ($d, $row) { if ($row["idCompte"] == 0) { return "Tout le monde"; } else { return $d; } }), array('dbField' => 'LogsAdminGererMonnaieEntity.date', 'dtField' => 'date', 'formatter' => function ($d, $row) { return \DateTimeHelper::dateTimeToFormatedString($d); }), array('dbField' => 'AccountEntityAdmin.login', 'dtField' => 'emetteur'), array('dbField' => 'LogsAdminGererMonnaieEntity.operation', 'filterLevel' => 'strict', 'dtField' => 'operation', 'formatter' => function ($d, $row) { if ($d == 1) { return "a donné"; } else { return "a enlevé"; } }), array('dbField' => 'LogsAdminGererMonnaieEntity.montant', 'filterLevel' => 'strict', 'dtField' => 'montant'), array('dbField' => 'LogsAdminGererMonnaieEntity.devise', 'filterLevel' => 'strict', 'dtField' => 'devise', 'formatter' => function ($d, $row) { return \DeviseHelper::getLibelle($d); })); $datatable = new \DataTable(); $datatable->setColumnsParameters($columnsParameters)->setRequest($_GET)->from("\\Site\\Entity\\LogsAdminGererMonnaie", "LogsAdminGererMonnaieEntity")->leftJoin("\\Account\\Entity\\Account", "AccountEntityUser", "WITH", "AccountEntityUser.id = LogsAdminGererMonnaieEntity.idCompte")->innerJoin("\\Account\\Entity\\Account", "AccountEntityAdmin", "WITH", "AccountEntityAdmin.id = LogsAdminGererMonnaieEntity.idGm"); $datatable->getResult()->toJson(); }
Barre_De_Statut("En attente de votre vote..."); Icone_Chargement(1); $("#overlayMt2").html('<div style="position: relative;top: 45%;width: 200px; margin: 0 auto 0 auto;"><h2>Vote en cours...</h2></div>'); $("#overlayMt2").css('display', "inline"); setTimeout(DistribuerMonnaiesVote, 15000); } else { bootbox.dialog({ message: "Votre vote ne vous a pas rapporté de <?php echo DeviseHelper::getLibelle(1); ?> .<br/><br/>Il semble que vous ayez voté il y à moins de 2 heures.<br/>Pour recevoir de nouveau des <?php echo DeviseHelper::getLibelle(1); ?> , il faut patienter.", animate: false, className: "myBootBox", title: 'Information', buttons: { success: { label: "J'ai compris", className: "btn-primary", callback: function () { } } } });
static function findIconDevise($idDevise) { $iconElement = '<i data-tooltip="' . DeviseHelper::getLibelle($idDevise) . '" class="'; if ($idDevise == 1) { $iconElement .= "text-yellow "; } else { if ($idDevise == 2) { $iconElement .= "text-gray "; } } $iconElement .= 'material-icons md-icon-whatshot md-16"></i>'; return $iconElement; }
public function run() { global $session; global $request; $em = \Shared\DoctrineHelper::getEntityManager(); $arrResult["result"] = 1; $arrResult["isBonusCompte"] = 0; $idItem = $request->request->get("id_item"); $nombreItem = $request->request->get("nombre_item"); $nombreItemBuy = 0; $objItemshop = \Site\SiteHelper::getItemshopRepository()->findItem($idItem, true); if (!$this->checkEntrepotIS()) { $arrResult["result"] = 0; $arrResult["code"] = 8; echo json_encode($arrResult); die; } if ($objItemshop !== null) { /* ------- Si l'item est de type Simple 1 -------- */ if ($objItemshop->getType() == 1) { //Si le Membre a assez de Cash if ($session->get("Cash") >= $objItemshop->getPrix() * $nombreItem) { $flagItem = \Player\PlayerHelper::getItemProtoRepository()->findFlagByVnum($objItemshop->getIdItem()); $socketPct = \Player\PlayerHelper::getItemProtoRepository()->findSocketPctByVnum($objItemshop->getIdItem()); //Si empilable if ($flagItem == 4 || $flagItem == 20 || $flagItem == 132 || $flagItem == 2052 || $flagItem == 8212) { $nombreItemTotal = $nombreItem * $objItemshop->getNbItem(); $nombreItemPendingTotal = $nombreItemTotal; $nombreItemOkTotal = 0; $nombreCase = round($nombreItemTotal / 200); for ($iModulo = 0; $iModulo <= $nombreCase; $iModulo++) { if ($nombreItemTotal > 0) { if ($this->checkFieldEntrepotIS() !== false) { $nextFreePosition = $this->checkFieldEntrepotIS(); $objItem = new \Player\Entity\Item(); $objItem->setOwnerId($this->objAccount->getId()); $objItem->setWindow("MALL"); $objItem->setPos($nextFreePosition); if ($nombreItemTotal > 200) { $objItem->setCount(200); $nombreItemTotal = $nombreItemTotal - 200; $nombreItemOkTotal = $nombreItemOkTotal + 200; } else { $objItem->setCount($nombreItemTotal); $nombreItemTotal = $nombreItemTotal - $nombreItemTotal; $nombreItemOkTotal = $nombreItemOkTotal + $nombreItemTotal; } $objItem->setVnum($objItemshop->getIdItem()); $em->persist($objItem); $em->flush(); $em->detach($objItem); $nombreItemBuy++; } else { $arrResult = ["result" => 0, "code" => 5]; break; } } } if ($arrResult["result"] == 0) { if ($nombreItemOkTotal > 0) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $proportionItemOk = $nombreItemOkTotal / $nombreItemPendingTotal * 100; $soustraction = round($objItemshop->getPrix() * $nombreItem * $proportionItemOk / 100); $prixTotal = $soustraction; $arrResult["result"] = 1; } else { $prixTotal = 0; } } elseif ($arrResult["result"] == 1) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $nombreItemBuy = $nombreItem; } $this->objAccount->setCash($this->objAccount->getCash() - $prixTotal); $this->objAccount->setMileage($this->objAccount->getMileage() + $prixTotal); $em->persist($this->objAccount); $em->flush(); $session->set("Cash", $this->objAccount->getCash()); $session->set("Mileage", $this->objAccount->getMileage()); } else { $nombreItemTotal = $nombreItem * $objItemshop->getNbItem(); $nombreItemPendingTotal = $nombreItemTotal; $nombreItemOkTotal = 0; for ($i = 0; $i < $nombreItemTotal; $i++) { $nextFreePosition = $this->checkFieldEntrepotIS(); if ($nextFreePosition !== false) { $objItem = new \Player\Entity\Item(); $objItem->setOwnerId($this->objAccount->getId()); $objItem->setWindow("MALL"); $objItem->setPos($nextFreePosition); $objItem->setCount(1); $objItem->setVnum($objItemshop->getIdItem()); if ($socketPct > 0) { for ($iSocket = 0; $iSocket < $socketPct; $iSocket++) { $func = "setSocket" . $iSocket; $objItem->{$func}("1"); } } $em->persist($objItem); $em->flush(); $em->detach($objItem); $nombreItemBuy++; $nombreItemOkTotal++; } else { $arrResult = ["result" => 0, "code" => 5]; break; } } if ($arrResult["result"] == 0) { if ($nombreItemOkTotal > 0) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $proportionItemOk = $nombreItemOkTotal / $nombreItemPendingTotal * 100; $soustraction = round($objItemshop->getPrix() * $nombreItem * $proportionItemOk / 100); $prixTotal = $soustraction; $arrResult["result"] = 1; } else { $prixTotal = 0; } if ($nombreItemBuy > 1) { $nombreItemBuy = round($nombreItemBuy / $objItemshop->getNbItem()); } } elseif ($arrResult["result"] == 1) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $nombreItemBuy = $nombreItem; } $this->objAccount->setCash($this->objAccount->getCash() - $prixTotal); $this->objAccount->setMileage($this->objAccount->getMileage() + $prixTotal); $em->persist($this->objAccount); $em->flush(); $session->set("Cash", $this->objAccount->getCash()); $session->set("Mileage", $this->objAccount->getMileage()); } } else { $arrResult = ["result" => 0, "code" => 3]; } /* ----------- Si l'item est de type durée ------------ */ } elseif ($objItemshop->getType() == 2) { //Si le membre a assez de cash if ($session->get("Cash") >= $objItemshop->getPrix()) { $anneeRestantMysql = 2037 - date("Y"); $dateActuel = \Carbon\Carbon::now(); switch ($objItemshop->getIdItem()) { case 1: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getGoldExpire()->getTimestamp()); break; case 2: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getSilverExpire()->getTimestamp()); break; case 3: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getSafeboxExpire()->getTimestamp()); break; case 4: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getAutolootExpire()->getTimestamp()); break; case 5: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getFishMindExpire()->getTimestamp()); break; case 6: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getMarriageFastExpire()->getTimestamp()); break; case 7: $dateBonusActuel = \Carbon\Carbon::createFromTimestamp($this->objAccount->getMoneyDropRateExpire()->getTimestamp()); break; } if ($objItemshop->getNbItem() == 9999) { $dateBonusNew = $dateActuel->addYear($anneeRestantMysql); } else { if ($dateBonusActuel->gt($dateActuel)) { $dateBonusNew = $dateBonusActuel->addDay($objItemshop->getNbItem()); } else { $dateBonusNew = $dateActuel->addDay($objItemshop->getNbItem()); } } switch ($objItemshop->getIdItem()) { case 1: $this->objAccount->setGoldExpire($dateBonusNew); break; case 2: $this->objAccount->setSilverExpire($dateBonusNew); break; case 3: $this->objAccount->setSafeboxExpire($dateBonusNew); break; case 4: $this->objAccount->setAutolootExpire($dateBonusNew); break; case 5: $this->objAccount->setFishMindExpire($dateBonusNew); break; case 6: $this->objAccount->setMarriageFastExpire($dateBonusNew); break; case 7: $this->objAccount->setMoneyDropRateExpire($dateBonusNew); break; } $prixTotal = $objItemshop->getPrix() * $nombreItem; $this->objAccount->setCash($this->objAccount->getCash() - $prixTotal); $this->objAccount->setMileage($this->objAccount->getMileage() + $prixTotal); $em->persist($this->objAccount); $em->flush(); $session->set("Cash", $this->objAccount->getCash()); $session->set("Mileage", $this->objAccount->getMileage()); $arrResult["isBonusCompte"] = 1; } else { $arrResult = ["result" => 0, "code" => 3]; } /* -------------- Si l'item est de type Mileage -------------- */ } elseif ($objItemshop->getType() == 3) { //Si le membre a assez de marques if ($session->get("Mileage") >= $objItemshop->getPrix() * $nombreItem) { $flagItem = \Player\PlayerHelper::getItemProtoRepository()->findFlagByVnum($objItemshop->getIdItem()); $socketPct = \Player\PlayerHelper::getItemProtoRepository()->findSocketPctByVnum($objItemshop->getIdItem()); //Si empilable if ($flagItem == 4 || $flagItem == 20 || $flagItem == 132 || $flagItem == 2052 || $flagItem == 8212) { $nombreItemTotal = $nombreItem * $objItemshop->getNbItem(); $nombreItemPendingTotal = $nombreItemTotal; $nombreItemOkTotal = 0; $nombreCase = round($nombreItemTotal / 200); for ($iModulo = 0; $iModulo <= $nombreCase; $iModulo++) { if ($nombreItemTotal > 0) { if ($this->checkFieldEntrepotIS() !== false) { $nextFreePosition = $this->checkFieldEntrepotIS(); $objItem = new \Player\Entity\Item(); $objItem->setOwnerId($this->objAccount->getId()); $objItem->setWindow("MALL"); $objItem->setPos($nextFreePosition); if ($nombreItemTotal > 200) { $objItem->setCount(200); $nombreItemTotal = $nombreItemTotal - 200; $nombreItemOkTotal = $nombreItemOkTotal + 200; } else { $objItem->setCount($nombreItemTotal); $nombreItemTotal = $nombreItemTotal - $nombreItemTotal; $nombreItemOkTotal = $nombreItemOkTotal + $nombreItemTotal; } $objItem->setVnum($objItemshop->getIdItem()); $em->persist($objItem); $em->flush(); $em->detach($objItem); $nombreItemBuy++; } else { $arrResult = ["result" => 0, "code" => 5]; break; } } } if ($arrResult["result"] == 0) { if ($nombreItemOkTotal > 0) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $proportionItemOk = $nombreItemOkTotal / $nombreItemPendingTotal * 100; $soustraction = round($objItemshop->getPrix() * $nombreItem * $proportionItemOk / 100); $prixTotal = $soustraction; $arrResult["result"] = 1; } else { $prixTotal = 0; } } elseif ($arrResult["result"] == 1) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $nombreItemBuy = $nombreItem; } $this->objAccount->setMileage($this->objAccount->getMileage() - $prixTotal); $em->persist($this->objAccount); $em->flush(); $session->set("Mileage", $this->objAccount->getMileage()); } else { $nombreItemTotal = $nombreItem * $objItemshop->getNbItem(); $nombreItemPendingTotal = $nombreItemTotal; $nombreItemOkTotal = 0; for ($i = 0; $i < $nombreItemTotal; $i++) { $nextFreePosition = $this->checkFieldEntrepotIS(); if ($nextFreePosition !== false) { $nextFreePosition = $this->checkFieldEntrepotIS(); $objItem = new \Player\Entity\Item(); $objItem->setOwnerId($this->objAccount->getId()); $objItem->setWindow("MALL"); $objItem->setPos($nextFreePosition); $objItem->setCount(1); $objItem->setVnum($objItemshop->getIdItem()); if ($socketPct > 0) { for ($iSocket = 0; $iSocket < $socketPct; $iSocket++) { $func = "setSocket" . $iSocket; $objItem->{$func}("1"); } } $em->persist($objItem); $em->flush(); $em->detach($objItem); $nombreItemBuy++; $nombreItemOkTotal++; } else { $arrResult = ["result" => 0, "code" => 5]; break; } } if ($arrResult["result"] == 0) { if ($nombreItemOkTotal > 0) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $proportionItemOk = $nombreItemOkTotal / $nombreItemPendingTotal * 100; $soustraction = round($objItemshop->getPrix() * $nombreItem * $proportionItemOk / 100); $prixTotal = $soustraction; $arrResult["result"] = 1; } else { $prixTotal = 0; } if ($nombreItemBuy > 1) { $nombreItemBuy = round($nombreItemBuy / $objItemshop->getNbItem()); } } elseif ($arrResult["result"] == 1) { $prixTotal = $objItemshop->getPrix() * $nombreItem; $nombreItemBuy = $nombreItem; } $this->objAccount->setMileage($this->objAccount->getMileage() - $prixTotal); $em->persist($this->objAccount); $em->flush(); $session->set("Mileage", $this->objAccount->getMileage()); } } else { $arrResult = ["result" => 0, "code" => 6]; } } else { $arrResult = ["result" => 0, "code" => 4]; } } if ($objItemshop->getType() == 1) { $idDevise = "1"; } else { if ($objItemshop->getType() == 3) { $idDevise = "2"; } else { if ($objItemshop->getType() == 2) { $idDevise = "1"; } } } if ($arrResult["result"] == 1) { $Resultat_Achat = "Réussi"; } else { if ($arrResult["code"] == 4) { $Resultat_Achat = "Type d'item inconnu"; } elseif ($arrResult["code"] == 5) { if ($nombreItemOkTotal > 0) { $Resultat_Achat = "Livraison partiel"; } else { $Resultat_Achat = "Manque de place"; } } elseif ($arrResult["code"] == 6) { $Resultat_Achat = "Pas assez de " . \DeviseHelper::getLibelle(2); } elseif ($arrResult["code"] == 3) { $Resultat_Achat = "Pas assez de " . \DeviseHelper::getLibelle(1); } else { $Resultat_Achat = "Erreur"; } } $objLogsItemshopAchats = new \Site\Entity\LogsItemshopAchats(); $objLogsItemshopAchats->setIdCompte($this->objAccount->getId()); $objLogsItemshopAchats->setVnum($objItemshop->getIdItem()); if ($objItemshop->getNbItem() > 1) { $objLogsItemshopAchats->setItem($objItemshop->getNameItem() . " (x" . $nombreItemBuy . ")"); } else { $objLogsItemshopAchats->setItem($objItemshop->getNameItem()); } $objLogsItemshopAchats->setQuantite($nombreItemBuy); $objLogsItemshopAchats->setPrix($prixTotal); $objLogsItemshopAchats->setDevise($idDevise); $objLogsItemshopAchats->setIp($this->ipAdresse); $objLogsItemshopAchats->setDate(\Carbon\Carbon::now()); $objLogsItemshopAchats->setResultat($Resultat_Achat); $em->persist($objLogsItemshopAchats); $em->flush(); if ($arrResult["result"] == 1) { $template = $this->objTwig->loadTemplate("ItemShopArticleBuy.html5.twig"); $result = $template->render(["compte" => $this->objAccount->getLogin(), "article" => $objItemshop->getNameItem(), "nombre" => $nombreItemBuy, "prix" => $prixTotal, "devise" => $idDevise, "identifiantAchat" => $objLogsItemshopAchats->getId()]); $subject = 'VamosMT2 - Achat de ' . $objItemshop->getNameItem(); \EmailHelper::sendEmail($this->objAccount->getEmail(), $subject, $result); } $arrResult["nombreBuy"] = $nombreItemBuy; $arrResult["idTransaction"] = $objLogsItemshopAchats->getId(); echo json_encode($arrResult); }
public function helpDevise($devise = 0) { return DeviseHelper::getLibelle($devise); }