Advertisement
Guest User

Untitled

a guest
Sep 27th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.65 KB | None | 0 0
  1. <?php
  2. ini_set('display_errors',0);
  3.  
  4.     $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  5.     $mysqli->set_charset("utf8");
  6.    
  7.     function addOrder($data) {
  8.         return addRow("t44-order", $data);
  9.     }
  10.    
  11.     function sendOrder($phone, $name) {
  12.         $text = "У Вас новый заказ: $phone имя $name";
  13.         $text = urlencode($text);
  14.         $result = file_get_contents("https://gate.smsaero.ru/send/?user=".SMS_USER."&password=".SMS_PASSWORD."&to=".SMS_PHONE."&text=$text&from=New+order");
  15.         return strpos($result, "accepted") !== false;
  16.     }
  17.    
  18.     function addCamp($data) {
  19.         return addRow("t44-camps", $data);
  20.     }
  21.    
  22.     function isAdmin($login = false, $password = false) {
  23.         if (!$login) $login = isset($_SESSION["login"])? $_SESSION["login"] : false;
  24.         if (!$password) $password = isset($_SESSION["password"])? $_SESSION["password"] : false;
  25.         return mb_strtolower($login) === mb_strtolower(ADM_LOGIN) && $password === ADM_PASSWORD;
  26.     }
  27.    
  28.     function login($login, $password) {
  29.         $password = hashSecret($password);
  30.         if (isAdmin($login, $password)) {
  31.             $_SESSION["login"] = $login;
  32.             $_SESSION["password"] = $password;
  33.             return true;
  34.         }
  35.         return false;
  36.     }
  37.  
  38.     function logout() {
  39.         unset($_SESSION["login"]);
  40.         unset($_SESSION["password"]);
  41.     }
  42.    
  43.     function getOrder($id) {
  44.         if (!is_numeric($id)) exit;
  45.         global $mysqli;
  46.         $query = "SELECT * FROM `t44-order` WHERE `id` = '".$mysqli->real_escape_string($id)."'";
  47.         return getRow($query);
  48.     }
  49.    
  50.     function setOrder($id, $data) {
  51.         return setRow("t44-order", $id, $data);
  52.     }
  53.    
  54.     function deleteOrder($id) {
  55.         return deleteRow("t44-order", $id);
  56.     }
  57.    
  58.     function getCampID($data) {
  59.         global $mysqli;
  60.         $query = "SELECT * FROM `t44-camps` WHERE ";
  61.         foreach ($data as $key => $value) {
  62.             if ($value == null) $query .= "`$key` IS NULL AND ";
  63.             else $query .= "`$key` = '".$mysqli->real_escape_string($value)."' AND ";
  64.         }
  65.         $query = substr($query, 0, -5);
  66.         return getCell($query);
  67.     }
  68.    
  69.     function getCountOrders($data_st = false) {
  70.         return getDataForOrders($data_st);
  71.     }
  72.  
  73.     function getCountConfirmOrders($data_st = false) {
  74.         return getDataForOrders($data_st, true, "date_confirm");
  75.     }
  76.  
  77.     function getCountCancelOrders($data_st = false) {
  78.         return getDataForOrders($data_st, true, "date_cancel");
  79.     }
  80.  
  81.     function getCountPayOrders($data_st = false) {
  82.         return getDataForOrders($data_st, true, "date_pay");
  83.     }
  84.    
  85.     function getSummaOrders($data_st = false) {
  86.         return getDataForOrders($data_st, false);
  87.     }
  88.  
  89.     function getSummaConfirmOrders($data_st = false) {
  90.         return getDataForOrders($data_st, false, "date_confirm");
  91.     }
  92.  
  93.     function getSummaCancelOrders($data_st = false) {
  94.         return getDataForOrders($data_st, false, "date_cancel");
  95.     }
  96.  
  97.     function getSummaPayOrders($data_st = false) {
  98.         return getDataForOrders($data_st, false, "date_pay");
  99.     }
  100.    
  101.     function getDataForOrders($data_st, $count = true, $field = false) {
  102.         if ($count) $count = "COUNT(`id`)";
  103.         else $count = "SUM(`price`)";
  104.         $query = "SELECT $count FROM `t44-order`";
  105.         $where = getWhereForOrders($data_st);
  106.         if ($field) {
  107.             $temp = "`$field` IS NOT NULL";
  108.             if ($where) $where .= " AND $temp";
  109.             else $where = $temp;
  110.         }
  111.         if ($where) $query .=" WHERE $where";
  112.         $result =  getCell($query);
  113.         if (!$result) return 0;
  114.         return $result;
  115.     }
  116.    
  117.     function getTS($date) {
  118.         $regex = "/(\d{4})\.(\d{2}).(\d{2}) (\d{2}):(\d{2}):(\d{2})/";
  119.         preg_match($regex, $date, $matches);
  120.         return mktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]);
  121.     }
  122.  
  123.     function getWhereForOrders($data_st) {
  124.         if (!count($data_st)) return "";
  125.         global $mysqli;
  126.         foreach ($data_st as $key => $value) $data_st[$key] = $mysqli->real_escape_string($value);
  127.         $log = $data_st["log"];
  128.        
  129.         $where = "";
  130.         $ft = "";
  131.         if ($data_st["from"] || $data_st["to"]) {
  132.             if ($data_st["from"]) {
  133.                 $ft = "`date_order` > '".$data_st["from"]."'";
  134.             }
  135.             if ($data_st["to"]) {
  136.                 $temp = "`date_order` < '".$data_st["to"]."'";
  137.                 if ($ft) $ft .= " AND $temp";
  138.                 else $ft = $temp;
  139.             }
  140.         }
  141.        
  142.         $where_camps = "";
  143.         $utms = array();
  144.         $utms["utm_source"] = $data_st["utm_source"];
  145.         $utms["utm_campaign"] = $data_st["utm_campaign"];
  146.         $utms["utm_content"] = $data_st["utm_content"];
  147.         $utms["utm_term"] = $data_st["utm_term"];
  148.         foreach ($utms as $key => $value) {
  149.             if ($value) {
  150.                 if ($where_camps) $where_camps .= " $log `$key` = '$value'";
  151.                 else $where_camps = "`$key` = '$value'";
  152.             }
  153.         }
  154.        
  155.         $sc = "";
  156.        
  157.         if ($data_st["split"] || $where_camps) {
  158.             if ($data_st["split"]) {
  159.                 $sc = "`split` = '".$data_st["split"]."'";
  160.             }
  161.             if ($where_camps) {
  162.                 $temp = "`camp_id` IN (SELECT `id` FROM `t44-camps` WHERE $where_camps)";
  163.                 if ($sc) $sc .= " $log $temp";
  164.                 else $sc = $temp;
  165.             }
  166.         }
  167.        
  168.         if ($ft) $where .= "($ft)";
  169.         if ($sc) {
  170.             if ($where) $where .= " AND ($sc)";
  171.             else $where = $sc;
  172.         }
  173.        
  174.         return $where;
  175.     }
  176.  
  177.     function getOrders() {
  178.         $query = "SELECT *, `t44-order`.`id` as `order_id` FROM `t44-order` INNER JOIN `t44-camps` ON `t44-camps`.`id` = `t44-order`.`camp_id` ORDER BY `date_order` DESC";
  179.         $result = getTable($query);
  180.         if (!$result) return array();
  181.         return $result;
  182.     }
  183.  
  184.    
  185.     function getCell($query) {
  186.         global $mysqli;
  187.         $result_set = $mysqli->query($query);
  188.         if (is_null($result_set) || !isset($result_set->num_rows) || !$result_set->num_rows) return false;
  189.         $arr = array_values($result_set->fetch_assoc());
  190.         $result_set->close();
  191.         return $arr[0];
  192.     }
  193.    
  194.     function getRow($query) {
  195.         global $mysqli;
  196.         $result_set = $mysqli->query($query);
  197.         if (is_null($result_set)) return false;    
  198.         $row = $result_set->fetch_assoc();
  199.         $result_set->close();
  200.         return $row;
  201.     }
  202.  
  203.     function getCol($query) {
  204.         global $mysqli;
  205.         $result_set = $mysqli->query($query);
  206.         if (is_null($result_set)) return false;    
  207.         $row = $result_set->fetch_assoc();
  208.         $result_set->close();
  209.         if ($row) return array_values($row);
  210.         return false;
  211.     }
  212.  
  213.     function getTable($query) {
  214.         global $mysqli;
  215.         $result_set = $mysqli->query($query);
  216.         if (is_null($result_set)) return false;
  217.         $result = array();
  218.         while (($row = $result_set->fetch_assoc()) != false) {
  219.             $result[] = $row;
  220.         }
  221.         $result_set->close();
  222.         return $result;
  223.     }
  224.    
  225.     function addRow($table, $data) {
  226.         global $mysqli;
  227.         $query = "INSERT INTO `$table` (";
  228.         foreach ($data as $key => $value) $query .= "`$key`,";
  229.         $query = substr($query, 0, -1);
  230.         $query .= ") VALUES (";
  231.         foreach ($data as $value) {
  232.             if (is_null($value)) $query .= "null,";
  233.             else $query .= "'".$mysqli->real_escape_string($value)."',";
  234.         }
  235.         $query = substr($query, 0, -1);
  236.         $query .= ")";
  237.         $result_set = $mysqli->query($query);
  238.         if (!$result_set) return false;
  239.         return $mysqli->insert_id;
  240.     }
  241.    
  242.     function setRow($table, $id, $data) {
  243.         if (!is_numeric($id)) exit;
  244.         global $mysqli;
  245.         $query = "UPDATE `$table` SET ";
  246.         foreach ($data as $key => $value) {
  247.             $query .= "`$key` = ";
  248.             if (is_null($value)) $query .= "null,";
  249.             else $query .= "'".$mysqli->real_escape_string($value)."',";
  250.         }
  251.         $query = substr($query, 0, -1);
  252.         $query .= " WHERE `id` = '$id'";
  253.         return $mysqli->query($query);
  254.     }
  255.  
  256.     function deleteRow($table, $id) {
  257.         if (!is_numeric($id)) exit;
  258.         global $mysqli;
  259.         $query = "DELETE FROM `$table` WHERE `id` = '$id'";
  260.         return $mysqli->query($query);
  261.     }  
  262.  
  263.     function xss($data) {
  264.         if (is_array($data)) {
  265.             $escaped = array();
  266.             foreach ($data as $key => $value) {
  267.                 $escaped[$key] = xss($value);
  268.             }
  269.             return $escaped;
  270.         }
  271.         return trim(htmlspecialchars($data));
  272.     }
  273.  
  274.     function redirect($link) {
  275.         header("Location: $link");
  276.         exit;
  277.     }
  278.    
  279.     function hashSecret($str) {
  280.         return md5($str.SECRET);
  281.     }
  282. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement