예제 #1
0
 public static function setConfig()
 {
     $module = new PayqrModule();
     PayqrConfig::$merchantID = $module->getOption("merchantID");
     PayqrConfig::$secretKeyIn = $module->getOption("secretKeyIn");
     PayqrConfig::$secretKeyOut = $module->getOption("secretKeyOut");
 }
예제 #2
0
 /**
  * Задаём настройки
  */
 private function setModuleConfig()
 {
     $user_id = isset($_GET["user_id"]) ? $_GET["user_id"] : 1;
     $auth = new PayqrModuleAuth($user_id);
     $module = new PayqrModule();
     PayqrConfig::$merchantID = $module->getOption("merchantID");
     PayqrConfig::$secretKeyIn = $module->getOption("secretKeyIn");
     PayqrConfig::$secretKeyOut = $module->getOption("secretKeyOut");
 }
 public function getLogUrl()
 {
     $url = "";
     $auth = new PayqrModuleAuth();
     if ($user = $auth->getUser()) {
         $url = PayqrModule::getBaseUrl() . "/log.php?user_id={$user->user_id}&key={$this->log_key}";
     }
     return $url;
 }
예제 #4
0
 public function register($post)
 {
     if ($post["password"] != $post["password_repeat"]) {
         return "Пароли не совпадают";
     }
     $db = PayqrModuleDb::getInstance();
     $user = $db->select("select * from " . PayqrModuleDb::getUserTable() . " where username = ?", array($post["username"]), array("s"));
     if ($user) {
         return "Пользователь с таким именем уже существует";
     }
     $auth = new PayqrModuleAuth();
     $password = $auth->encodePassword($post["password"]);
     $id = $db->insert(PayqrModuleDb::getUserTable(), array("username" => $post["username"], "password" => $password), array("%s", "%s"));
     $auth = new PayqrModuleAuth($id);
     PayqrModule::redirect("auth");
 }
 public function getHtml()
 {
     $step = isset($_GET["step"]) ? $_GET["step"] : 1;
     $install = new PayqrModuleInstall();
     $html = "";
     switch ($step) {
         case 1:
             if (isset($_POST["username"]) && !empty($_POST["username"])) {
                 if ($install->saveDbConfig($_POST)) {
                     PayqrModule::redirect("install", array("step" => "2"));
                 } else {
                     $html .= "<div class='error'>Неверные доступы в бд</div>";
                 }
             }
             $html .= "<form id='auth_form' method='post'>";
             $html .= "<div>Введите данные для доступа к бд</div>";
             $html .= "<input type='hidden' name='step1'/>";
             $html .= "<div><label>Имя пользователя: <input type='text' name='username'/></label></div>";
             $html .= "<div><label>Пароль: <input type='password' name='password'/></label></div>";
             $html .= "<div><label>Имя базы данных: <input type='text' name='database'/></label></div>";
             $html .= "<div><label>Префикс таблиц: <input type='text' name='prefix'/></label></div>";
             $html .= "<div><label>Хост: <input type='text' value='localhost' name='host'/></label></div>";
             $html .= "<div><input type='submit' value='Отправить'/></div>";
             $html .= "</form>";
             break;
         case 2:
             $install->createTables();
             if (isset($_POST["step2"])) {
                 $msg = $install->register($_POST);
                 $html .= "<div class='error'>{$msg}</div>";
             }
             $html .= "<form id='auth_form' method='post'>";
             $html .= "<input type='hidden' name='step2'/>";
             $html .= "<div>Введите данные для входа в кабинет</div>";
             $html .= "<div><label>Имя пользователя: <input type='text' name='username'/></label></div>";
             $html .= "<div><label>Пароль: <input type='password' name='password'/></label></div>";
             $html .= "<div><label>Повторите пароль: <input type='password' name='password_repeat'/></label></div>";
             $html .= "<div><input type='submit' value='Отправить'/></div>";
             $html .= "</form>";
             break;
         default:
             $html = "<h1>Установка завершена</h1>";
             break;
     }
     return $html;
 }
예제 #6
0
 private function recoverUser()
 {
     if (isset($_COOKIE[$this->key])) {
         $db = PayqrModuleDb::getInstance();
         $user = $db->select("select user_id, username, merch_id from " . PayqrModuleDb::getUserTable() . " where md5(concat(user_id, username, '" . $this->salt . "')) = ?", array($_COOKIE[$this->key]), array("s"));
         if ($user) {
             $_SESSION[$this->key] = $user;
         }
     } else {
         $location = PayqrModule::getBaseUrl() . "/module/auth/";
         $auth_location = "http://{$_SERVER['SERVER_NAME']}{$_SERVER['REQUEST_URI']}";
         if ($location != $auth_location) {
             header("Location: {$location}");
         }
         $_SESSION[$this->key] = false;
     }
 }
예제 #7
0
 /**
  * Получить значение для настроек кнопки
  * 
  * @param string $key
  * @return string
  */
 private function getOption($key)
 {
     $module = new PayqrModule();
     $value = $module->getOption($key);
     return $value;
 }
예제 #8
0
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
$step = isset($_GET["step"]) ? $_GET["step"] : 1;
require_once __DIR__ . '/../../PayqrConfig.php';
$install = new PayqrModuleInstall();
$html = "";
switch ($step) {
    case 1:
        if ($install->checkDbConfigConn()) {
            PayqrModule::redirect("/module/install/index.php?step=2");
        } else {
            if (isset($_POST["username"]) && !empty($_POST["username"])) {
                if ($install->saveDbConfig($_POST)) {
                    PayqrModule::redirect("/module/install/index.php?step=2");
                } else {
                    $html .= "<div class='error'>Неверные доступы в бд</div>";
                }
            }
            $html .= "<form method='post'>";
            $html .= "<div>Введите данные для доступа к бд</div>";
            $html .= "<input type='hidden' name='step1'/>";
            $html .= "<div><label>Имя пользователя: <input type='text' name='username'/></label></div>";
            $html .= "<div><label>Пароль: <input type='password' name='password'/></label></div>";
            $html .= "<div><label>Имя базы данных: <input type='text' name='database'/></label></div>";
            $html .= "<div><label>Префикс таблиц: <input type='text' name='prefix'/></label></div>";
            $html .= "<div><label>Хост: <input type='text' value='localhost' name='host'/></label></div>";
            $html .= "<div><input type='submit' value='Отправить'/></div>";
            $html .= "</form>";
        }
예제 #9
0
 public function revertOrder()
 {
     //отправка сообщений
     $module = new PayqrModule();
     if ($module->getOption("message-invoice-reverted")) {
         $message = $this->invoice->getMessage();
         if ($message) {
             $message->article = $module->getOption("message-invoice-reverted-article");
             $message->text = $module->getOption("message-invoice-reverted-text");
             $message->imageUrl = $module->getOption("message-invoice-reverted-imageUrl");
             $message->url = $module->getOption("message-invoice-reverted-url");
             $this->invoice->setMessage($message);
         }
     }
 }
예제 #10
0
 public function revertOrder()
 {
     PayqrLog::log("revertOrder");
     $order_id = $this->invoice->getOrderId();
     PayqrLog::log("revertOrder получили номер заказа: " . $order_id);
     if (!empty($order_id)) {
         //получаем статус заказа "в обработке"
         $status_id = DB::query_result("SELECT id FROM {shop_order_status} WHERE status='2' LIMIT 1");
         PayqrLog::log("cancelOrder получили статус заказа 'Отменен': " . $status_id);
         //меняем статус заказа
         DB::query("UPDATE {shop_order} set status_id=%d WHERE id=%d", $status_id, $order_id);
         PayqrLog::log("cancelOrder произвели обновление статуса заказа: ");
     }
     //отправка сообщений
     $module = new PayqrModule();
     if ($module->getOption("message-invoice-reverted")) {
         $message = $this->invoice->getMessage();
         if ($message) {
             $message->article = $module->getOption("message-invoice-reverted-article");
             $message->text = $module->getOption("message-invoice-reverted-text");
             $message->imageUrl = $module->getOption("message-invoice-reverted-imageUrl");
             $message->url = $module->getOption("message-invoice-reverted-url");
             $this->invoice->setMessage($message);
         }
     }
 }
예제 #11
0
 public static function redirect($url)
 {
     $location = PayqrModule::getBaseUrl() . $url;
     header("Location: {$location}");
 }
예제 #12
0
<?php

/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
require_once __DIR__ . "/PayqrConfig.php";
$key = PayqrConfig::$logKey;
if (empty($key)) {
    $module = new PayqrModule();
    $key = $module->getOption("logKey");
}
if (isset($_GET["key"]) && $_GET["key"] == $key) {
    $text = PayqrLog::showLog();
} else {
    $text = "Введён неверный ключ доступа к логам";
}
echo $text;