Esempio n. 1
0
 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();
 }
Esempio n. 2
0
 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();
 }
Esempio n. 4
0
                        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 () {

                                    }
                                }
                            }
                        });
Esempio n. 5
0
 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;
 }
Esempio n. 6
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);
 }
Esempio n. 7
0
 public function helpDevise($devise = 0)
 {
     return DeviseHelper::getLibelle($devise);
 }