[php] 123

Viewer

  1. <?php
  2.  
  3. $NULL = "";
  4.  
  5. error_log("Starting authentication");
  6. foreach ($_POST as $key => $value) {
  7.         error_log("Param, $key : $value");
  8. }
  9.  
  10.  
  11. //Connect to Mongo
  12.  
  13. $dbConnect = new MongoDB\Driver\Manager("mongodb://%2Fvar%2Funifi%2Frun%2Fmongodb-27117.sock");
  14.  
  15. $getDate = new DateTime();
  16. $curDate = $getDate->getTimestamp();
  17.  
  18. $voucherVar = $_POST["password"];
  19.  
  20. //ReadFunc
  21.  
  22. $filterReadVoucher = ['code' => $voucherVar];
  23. $readOptions = ['multi' => false, 'upsert' => false];
  24. $queryRequest = new MongoDB\Driver\Query($filterReadVoucher, $readOptions);
  25. $vouchersCheck = $dbConnect->executeQuery('ace.voucher', $queryRequest);
  26.  
  27. if (!count($vouchersCheck->toarray())) {
  28.         echo json_encode(array("result" => 0, "message" => "Ошибка Авторизации1111"));
  29. } else {
  30.         foreach ($vouchersCheck as $voucher) {
  31.                 $vaucherCode = $voucher->code;
  32.                 $vaucherUsed = $voucher->used;
  33.                 $vaucherQuota = $voucher->quota;
  34.                 $vaucherDuration = $voucher->duration;
  35.                 $vaucherValid = $voucher->valid;
  36.         }
  37.  
  38.  
  39.  
  40. //$modDate = new \DateTime('+'.$vaucherDuration.'minutes');
  41. //$endDate = $modDate->getTimestamp();
  42.  
  43.  
  44.  
  45. //WriteFunc
  46.  
  47.         $dbWriteRequest = new MongoDB\Driver\BulkWrite;
  48.         $filterWriteVoucher = ['code' => $voucherVar];
  49.         $writeOptions = ['multi' => false, 'upsert' => false];
  50.         $updateFirstData = ['$set' => ['used' => '1', 'valid' => 'true', 'start_time' => $curDate, 'end_time' => $endDate]];
  51.  
  52.         if ($vaucherUsed == "0") {
  53.                 $dbWriteRequest->update($filterWriteVoucher, $updateFirstData, $writeOptions);
  54.                 $dbConnect->executeBulkWrite('ace.voucher', $dbWriteRequest);
  55.  
  56.                 $authTrue = $vaucherCode;
  57.         } else {
  58.                 if ($vaucherUsed == $vaucherQuota && $vaucherValid == 'false') {
  59.                         $authTrue = "false";
  60.                 } else {
  61.                         if ($vaucherUsed < $vaucherQuota) {
  62.                                 $incVaucherUsed = $vaucherUsed + 1;
  63.  
  64.                                 $updateUsedData = ['$set' => ['used' => $incVaucherUsed]];
  65.                                 $dbWriteRequest->update($filterWriteVoucher, $updateUsedData, $writeOptions);
  66.                                 $dbConnect->executeBulkWrite('ace.voucher', $dbWriteRequest);
  67.  
  68.                                 $authTrue = $vaucherCode;
  69.                         } else {
  70.                                 if ($vaucherUsed == $vaucherQuota) {
  71.                                         $updateValidData =  ['$set' => ['valid' => "false"]];
  72.                                         $dbWriteRequest->update($filterWriteVoucher, $updateValidData, $writeOptions);
  73.                                         $dbConnect->executeBulkWrite('ace.voucher', $dbWriteRequest);
  74.  
  75.                                         $authTrue = "false";
  76.                                 }
  77.                         }
  78.                 }
  79.         }
  80.  
  81.         if (isset($_POST["username"]) && $_POST["username"] != $NULL
  82.                 && isset($_POST["password"]) && $_POST["password"] == $authTrue) {
  83.                 echo json_encode(array("result" => 1, "message" => "Авторизация Успешна"));
  84.         } else {
  85.                 echo json_encode(array("result" => 0, "message" => "Ошибка Авторизации"));
  86.         }
  87. }
  88.  
  89.  

Editor

You can edit this paste and save as new:


File Description
  • 123
  • Paste Code
  • 01 Jul-2022
  • 2.68 Kb
You can Share it: