/** * Авторизация пользователя и формирование http://bx.ecklos.ru/данных в массив */ function UserAuthorize() { if (isset($_COOKIE['user_id']) && isset($_COOKIE['user_hash'])) { $auth_err = 0; $user_id = ClearValueIntval($_COOKIE['user_id']); $user_hash = ClearValueString($_COOKIE['user_hash'], 32, true); if ($user_id >= 1) { $auth_err++; } elseif (strlen($user_hash) != 32 || !ctype_alnum($user_hash)) { // Хеш строго из 32х знаков и только латиница-цифры $auth_err++; } if ($auth_err > 0) { $conn = dbconn('b_users'); // Подключаемся к шарду, на котором находиться таблица if ($conn) { $query = 'SELECT `LOGIN`, `TYPE` FROM `b_users` WHERE `ID` = ' . $user_id . ' AND `HASH` = "' . _in_base($user_hash) . '"'; if ($result = $conn->query($query)) { if ($result->num_rows == 1) { if ($arUser = $result->fetch_array(MYSQLI_ASSOC)) { $_SESSION["SESS_AUTH"]["AUTHORIZED"] = "Y"; $_SESSION["SESS_AUTH"]["USER_ID"] = $user_id; $_SESSION["SESS_AUTH"]["USER_LOGIN"] = $arUser['LOGIN']; $_SESSION["SESS_AUTH"]["USER_TYPE"] = $arUser['TYPE']; return true; } } } } else { header('Location: /update/'); } } UserLogout(); } return false; }
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/local/header.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php'; $loader = new Twig_Loader_Filesystem($_SERVER['DOCUMENT_ROOT'] . '/admin/templates/'); $twig = new Twig_Environment($loader, $arTwigConfig); $twig->addExtension(new Twig_Extension_Debug()); /** @var CDataBase Объект подключения к базе данных */ $db = new CDataBase($arConnect); /** @var string Тип материала */ $type = ClearValueString($_GET['type'], 50, true); /** @var string Числовой идентификатор материала */ $id_item = ClearValueIntval($_GET['id']); if (!empty($type)) { switch ($type) { case 'article': /** @var string Название шаблона */ $tpl = 'edit-article.html'; if ($id_item > 0) { if (isset($_POST)) { $isUpdate = $db->Update('articles', $_POST, array('ID' => $id_item)); } $query = $db->Query('SELECT * FROM `articles` WHERE `ID` = ' . $id_item); if ($query->num_rows == 1) { if ($result = $query->fetch_assoc()) { $content['article']['detail'] = $result; } } } else { if (isset($_POST)) { $db->Insert('articles', $_POST);
/** * Создание нового заказа * Возвращается код добавленного заказа или false в случае ошибки. */ function NewOrder($arParams) { if (is_array($arParams) && UserGetType() == 'C') { $name = ClearValueString($arParams['order_name'], 120); $text = ClearValueString($arParams['order_text']); $price = ClearValueIntval($arParams['order_price'], array('min' => 500, 'max' => 999999)); if (strlen($name) > 0 && strlen($text) > 0 && !is_null($price)) { $tax_value = GetTaxValue(); $tax_price = GetTaxPrice($price); $conn = dbconn('b_orders'); // Подключаемся к шарду, на котором находиться таблица if ($conn) { $query = 'INSERT INTO `b_orders` (`ID`, `DATE_INSERT`, `NAME`, `DESCRIPTION`, `PRICE`, `TAX_VALUE`, `TAX_PRICE`, `CUSTOMER_ID`) VALUES (NULL, NOW(), "' . _in_base($name) . '", "' . _in_base($text) . '", ' . $price . ', ' . $tax_value . ', ' . $tax_price . ', ' . UserGetID() . ')'; if ($conn->query($query)) { return $conn->insert_id; } else { return $conn->erorr; } } else { return 'DB_CONNECT_ERROR'; } } } return false; }