本文整理汇总了PHP中URL::getQueryParametr方法的典型用法代码示例。如果您正苦于以下问题:PHP URL::getQueryParametr方法的具体用法?PHP URL::getQueryParametr怎么用?PHP URL::getQueryParametr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类URL
的用法示例。
在下文中一共展示了URL::getQueryParametr方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validDataForm
/**
* Проверяет корректность введенных данных в форме регистрации.
*
* @param array $userData массив данных пользователя.
* @param string $mode режим проверки данных (full|pass) полный (по умолчанию) или только пароль.
* @return string ошибка в случае не верного ввода данных в одном из полей.
*/
public function validDataForm($userData, $mode = 'full')
{
// Проверка электронного адреса.
if (USER::getUserInfoByEmail($userData['email']) && 'full' == $mode) {
$error .= '<span class="email-in-use">Указанный email уже используется</span>';
}
// Пароль должен быть больше 5-ти символов.
if (strlen($userData['pass']) < 5) {
$error .= '<span class="passError">Пароль менее 5 символов</span>';
}
// Проверяем равенство введенных паролей.
if (URL::getQueryParametr('pass2') != $userData['pass']) {
$error .= '<span class="wrong-pass">Введенные пароли не совпадают</span>';
}
if ('full' == $mode) {
// Проверка электронного адреса.
if (!preg_match('/^[-._a-zA-Z0-9]+@(?:[a-zA-Z0-9][-a-zA-Z0-9]{0,61}+\\.)+[a-zA-Z]{2,6}$/', $userData['email'])) {
$error .= '<span class="errorEmail">Неверно заполнено email</span>';
}
if (MG::getSetting('useCaptcha') == "true") {
if (strtolower(URL::getQueryParametr('capcha')) != strtolower($_SESSION['capcha'])) {
$error .= "<span class='error-captcha-text'>Текст с картинки введен неверно!</span>";
}
}
}
$args = func_get_args();
return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $error, $args);
}
示例2: __construct
function __construct()
{
if (User::isAuth()) {
MG::redirect('/');
}
// Шаг первый.
$form = 1;
$fPass = new Models_Forgotpass();
// Ввторой шаг, производящий проверку введеного электронного адреса.
if (URL::getQueryParametr('forgotpass')) {
$email = URL::getQueryParametr('email');
if ($userInfo = USER::getUserInfoByEmail($email)) {
//Если введенных адрес совпадает с зарегистрированным в системе, то
$form = 0;
$message = 'Инструкция по восстановлению пароля была отправлена на <strong>' . $email . '</strong>';
$hash = $fPass->getHash($email);
//а) Случайный хэш заносится в БД.
$fPass->sendHashToDB($email, $hash);
$siteName = MG::getOption('sitename');
$emailMessage = MG::layoutManager('email_forgot', array('siteName' => $siteName, 'email' => $email, 'hash' => $hash, 'userId' => $userInfo->id, 'link' => SITE . '/forgotpass?sec=' . $hash . '&id=' . $userInfo->id));
$emailData = array('nameFrom' => $siteName, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => 'Пользователю сайта ' . $siteName, 'emailTo' => $email, 'subject' => 'Восстановление пароля на сайте ' . $siteName, 'body' => $emailMessage, 'html' => true);
//б) На указанный электронный адрес отправляется письмо со сылкой на страницу восстановления пароля.
$fPass->sendUrlToEmail($emailData);
} else {
$form = 0;
$error = 'К сожалению, такой логин не найден<br>
Если вы уверены, что данный логин существует, пожалуйста, свяжитесь с нами.';
}
}
// Шаг 3. Обработка перехода по ссылки. Принимается id пользователя и сгенерированный хэш.
if ($_GET) {
$userInfo = USER::getUserById(URL::getQueryParametr('id'));
$hash = URL::getQueryParametr('sec');
// Если присланный хэш совпадает с хэшом из БД для соответствующего id.
if ($userInfo->restore == $hash) {
$form = 2;
// Меняе в БД случайным образом хэш, делая невозможным повторный переход по ссылки.
$fPass->sendHashToDB($userInfo->email, $fPass->getHash('0'));
$_SESSION['id'] = URL::getQueryParametr('id');
} else {
$form = 0;
$error = 'Некорректная ссылка. Повторите заново запрос восстановления пароля.';
}
}
// Шаг 4. обрабатываем запрос на ввод нового пароля
if (URL::getQueryParametr('chengePass')) {
$form = 2;
$person = new Models_Personal();
$msg = $person->changePass(URL::getQueryParametr('newPass'), $_SESSION['id'], true);
if ('Пароль изменен' == $msg) {
$form = 0;
$message = $msg . '! ' . 'Вы можете войти в личный кабинет по адресу <a href="' . SITE . '/enter" >' . SITE . '/enter</a>';
$fPass->activateUser($_SESSION['id']);
unset($_SESSION['id']);
} else {
$error = $msg;
}
}
$this->data = array('error' => $error, 'message' => $message, 'form' => $form, 'meta_title' => 'Восстановление пароля', 'meta_keywords' => $model->currentCategory['meta_keywords'] ? $model->currentCategory['meta_keywords'] : "забыли пароль, восстановить пароль, восстановление пароля", 'meta_desc' => $model->currentCategory['meta_desc'] ? $model->currentCategory['meta_desc'] : "Если вы забыли пароль от личного кабинета, его модно восстановить с помощью формы восстановления паролей.");
}
示例3: __construct
function __construct()
{
$model = new Models_Product();
// Требуется только пересчет цены товара.
if (!empty($_REQUEST['calcPrice'])) {
$model->calcPrice();
exit;
}
$product = Storage::get(md5('ControllersProduct' . URL::getUrl()));
if ($product == null) {
$settings = MG::get('settings');
$product = $model->getProduct(URL::getQueryParametr('id'));
if (empty($product)) {
MG::redirect('/404');
exit;
}
$product['meta_title'] = $product['meta_title'] ? $product['meta_title'] : $product['title'];
$product['currency'] = $settings['currency'];
$blockVariants = $model->getBlockVariants($product['id']);
$blockedProp = $model->noPrintProperty();
$propertyFormData = $model->createPropertyForm($param = array('id' => $product['id'], 'maxCount' => $product['count'], 'productUserFields' => $product['thisUserFields'], 'action' => "/catalog", 'method' => "POST", 'ajax' => true, 'blockedProp' => $blockedProp, 'noneAmount' => false, 'noneButton' => $product['count'] ? false : true, 'titleBtn' => MG::getSetting('buttonBuyName'), 'blockVariants' => $blockVariants, 'currency_iso' => $product['currency_iso']));
// Легкая форма без характеристик.
$liteFormData = $model->createPropertyForm($param = array('id' => $product['id'], 'maxCount' => $product['count'], 'productUserFields' => null, 'action' => "/catalog", 'method' => "POST", 'ajax' => true, 'blockedProp' => $blockedProp, 'noneAmount' => false, 'noneButton' => $product['count'] ? false : true, 'titleBtn' => MG::getSetting('buttonBuyName'), 'blockVariants' => $blockVariants));
//echo viewData($propertyFormData['defaultSet']);
$product['price_course'] += $propertyFormData['marginPrice'];
$currencyRate = MG::getSetting('currencyRate');
$currencyShopIso = MG::getSetting('currencyShopIso');
$product['currency_iso'] = $product['currency_iso'] ? $product['currency_iso'] : $currencyShopIso;
$product['old_price'] = $product['old_price'] * $currencyRate[$product['currency_iso']];
$product['old_price'] = $product['old_price'] ? $product['old_price'] : 0;
$product['price'] = MG::priceCourse($product['price_course']);
$product['propertyForm'] = $propertyFormData['html'];
$product['propertyNodummy'] = $propertyFormData['propertyNodummy'];
$product['stringsProperties'] = $propertyFormData['stringsProperties'];
$product['liteFormData'] = $liteFormData['html'];
$product['description'] = MG::inlineEditor(PREFIX . 'product', "description", $product['id'], $product['description']);
$product['title'] = MG::modalEditor('catalog', $product['title'], 'edit', $product["id"]);
// Информация об отсутствии товара на складе.
if (MG::getSetting('printRemInfo') == "true") {
$message = 'Здравствуйте, меня интересует товар "' . str_replace("'", """, $product['title']) . '" с артикулом "' . $product['code'] . '", но его нет в наличии.
Сообщите, пожалуйста, о поступлении этого товара на склад. ';
if ($product['count'] != 0) {
$style = 'style="display:none;"';
}
$product['remInfo'] = "<span class='rem-info' " . $style . ">Товара временно нет на складе!<br/><a href='" . SITE . "/feedback?message=" . $message . "'>Сообщить когда будет в наличии.</a></span>";
}
if ($product['count'] < 0) {
$product['count'] = "много";
}
$product['related'] = $model->createRelatedForm($product['related']);
Storage::save(md5('ControllersProduct' . URL::getUrl()), $product);
}
// MG::set('propertyNodummy',$product['propertyNodummy']);
// $_SESSION['propertyNodummy'] = $product['propertyNodummy'];
$this->data = $product;
}
示例4: getSearchData
/**
* Получает список продуктов при вводе в поле поиска
*/
public function getSearchData()
{
$keyword = URL::getQueryParametr('search');
if (!empty($keyword)) {
$catalog = new Models_Catalog();
$items = $catalog->getListProductByKeyWord($keyword, true, true);
$searchData = array('status' => 'success', 'item' => array('keyword' => $keyword, 'count' => $items['numRows'], 'items' => $items), 'currency' => MG::getSetting('currency'));
}
echo json_encode($searchData);
exit;
}
示例5: __construct
function __construct()
{
$this->msg = "";
$paymentID = URL::getQueryParametr('id');
$paymentStatus = URL::getQueryParametr('pay');
$_POST['url'] = URL::getUrl();
$modelOrder = new Models_Order();
switch ($paymentID) {
case 1:
//webmoney
$msg = $this->webmoney($paymentID, $paymentStatus);
break;
case 5:
//robokassa
$msg = $this->robokassa($paymentID, $paymentStatus);
break;
case 6:
//qiwi
$msg = $this->qiwi($paymentID, $paymentStatus);
break;
case 8:
//interkassa
$msg = $this->interkassa($paymentID, $paymentStatus);
break;
case 2:
//ЯндексДеньги
$msg = $this->yandex($paymentID, $paymentStatus);
break;
case 9:
//PayAnyWay
$msg = $this->payanyway($paymentID, $paymentStatus);
case 10:
//PayMastert
$msg = $this->paymaster($paymentID, $paymentStatus);
break;
case 11:
//alfabank
$msg = $this->alfabank($paymentID, $paymentStatus);
break;
case 14:
//Яндекс.Касса
$msg = $this->yandexKassa($paymentID, $paymentStatus);
break;
case 15:
//privat24
$msg = $this->privat24($paymentID, $paymentStatus);
break;
}
$this->data = array('payment' => $paymentID, 'status' => $paymentStatus, 'message' => $msg);
}
示例6: routeAction
/**
* Если действие запрошенно стандартными файлами движка, то
* маршрутизирует действие в класс Actioner для дальнейшего выполнения.
*
* Если действие запрошено из страницы плагина, то передает действие в
* пользовательский класс плагина. Класс плагина передается
* в переменной URL::getQueryParametr('action')
*
* @param string $url ссылка на действие
* @param string $plugin папка с плагином
* @param string $actioner - обработчик аякс запросов
*
*/
public function routeAction($url, $plugin = null, $actioner = false)
{
// Если не плагин.
if (!$plugin) {
//Защита контролера от несанкционированного доступа вне админки.
if (!$this->checkAccess(User::getThis()->role)) {
echo "Для доступа к методу необходимо иметь права администратора!";
exit;
return false;
}
$parts = explode('/', $url);
if ($parts[0] == 'action') {
$act = new Actioner();
$act->runAction($parts[1]);
return true;
}
} else {
// Подключам пользовательский класс для обаботки.
$action = URL::getQueryParametr('action');
if (empty($action)) {
$parts = explode('/', $url);
if ($parts[0] == 'action') {
$action = $parts[1];
}
}
// Формируем путь до класса плагина, который обработает действие.
$pluginClassPath = PLUGIN_DIR . $plugin . "/" . strtolower($actioner) . '.php';
if (file_exists($pluginClassPath)) {
$pathPluginActioner = $pluginClassPath;
} else {
$pathPluginActioner = PLUGIN_DIR . $plugin . "/" . $actioner . '.php';
}
// Подключаем класс плагина.
include $pathPluginActioner;
// Создаем экземпляр класа обработчика.
// (он обязательно должен наследоваться от стандартноко класса Actioner)
$lang = PLUGIN_DIR . $plugin . "/locales/" . MG::getSetting('languageLocale') . '.php';
if (file_exists($lang)) {
include $lang;
$act = new $actioner($lang);
} else {
$act = new $actioner();
}
// выполняем стандартный метод класса Actioner
$act->runAction($action);
return true;
}
return false;
}
示例7: unValidForm
/**
* Метод проверяет корректность данных введенных в форму регистрации.
* @return boolean
*/
public function unValidForm()
{
if (!URL::getQueryParametr('name')) {
$name = 'Пользователь';
} else {
$name = URL::getQueryParametr('name');
}
$this->userData = array('pass' => URL::getQueryParametr('pass'), 'email' => URL::getQueryParametr('email'), 'role' => 2, 'name' => $name, 'sname' => URL::getQueryParametr('sname'), 'address' => URL::getQueryParametr('address'), 'phone' => URL::getQueryParametr('phone'), 'ip' => URL::getQueryParametr('ip'));
$registration = new Models_Registration();
if ($err = $registration->validDataForm($this->userData)) {
$this->error = $err;
return true;
}
return false;
}
示例8: counterView
static function counterView($arg)
{
$model = new Models_Product();
$product = $model->getProduct(URL::getQueryParametr('id'));
$user_ip = $_SERVER['REMOTE_ADDR'];
$date = date('Y-m-d');
$id_product = $product['id'];
$visits_today = DB::query("SELECT `id` FROM `" . PREFIX . self::$pluginName . '_visits' . "` WHERE `date`='" . $date . "'");
$product = DB::query("SELECT `id` FROM `" . PREFIX . self::$pluginName . '_visits' . "` WHERE id_product='" . $id_product . "'");
if (!DB::numRows($product)) {
DB::query("INSERT INTO `" . PREFIX . self::$pluginName . '_visits' . "` SET `views`=1, `id_product`='" . $id_product . "', `date`='" . $date . "'");
} else {
DB::query("UPDATE `" . PREFIX . self::$pluginName . '_visits' . "` SET `date`='" . $date . "', `views`=`views`+1 WHERE `id_product`='" . $id_product . "'");
}
return $arg['result'];
}
示例9: __construct
function __construct()
{
$model = new Models_Product();
// Требуется только пересчет цены товара.
if (!empty($_REQUEST['calcPrice'])) {
$model->calcPrice();
exit;
}
$settings = MG::get('settings');
$product = $model->getProduct(URL::getQueryParametr('id'));
$product['meta_title'] = $product['meta_title'] ? $product['meta_title'] : $product['title'];
$product['currency'] = $settings['currency'];
$blockVariants = $model->getBlockVariants($product['id']);
$propertyFormData = $model->createPropertyForm($param = array('id' => $product['id'], 'maxCount' => $product['count'], 'productUserFields' => $product['thisUserFields'], 'action' => "/catalog", 'method' => "POST", 'ajax' => true, 'blockedProp' => array(), 'noneAmount' => false, 'titleBtn' => "В корзину", 'blockVariants' => $blockVariants));
// Легкая форма без характеристик.
$liteFormData = $model->createPropertyForm($param = array('id' => $product['id'], 'maxCount' => $product['count'], 'productUserFields' => null, 'action' => "/catalog", 'method' => "POST", 'ajax' => true, 'blockedProp' => array(), 'noneAmount' => false, 'titleBtn' => "В корзину", 'blockVariants' => $blockVariants));
$product['price'] += $propertyFormData['marginPrice'];
$product['propertyForm'] = $propertyFormData['html'];
$product['liteFormData'] = $liteFormData['html'];
$product['description'] = MG::inlineEditor(PREFIX . 'product', "description", $product['id'], $product['description']);
$product['title'] = MG::modalEditor('catalog', $product['title'], 'edit', $product["id"]);
$product["recommend"] = 0;
$product["new"] = 0;
$product['cat_title'] = $model->getTitleCat($product['cat_id']);
// Случайные продукты
$modelCatalog = new Models_Catalog();
$likeGoods = $modelCatalog->getRandomProduct($product['cat_id'], $product['id']);
$product['like_goods'] = $likeGoods;
// Информация об отсутствии товара на складе.
if (MG::getSetting('printRemInfo') == "true" && $product['count'] == 0) {
$product['remInfo'] = "<span class='rem-info'>Товара временно нет на складе!</style>";
}
if ($product['count'] < 0) {
$product['count'] = "∞";
}
$this->data = $product;
}
示例10: getSearchData
/**
* Получает список продуктов при вводе в поле поиска.
*/
public function getSearchData()
{
$keyword = MG::defenderXss_decode(URL::getQueryParametr('text'));
if (!empty($keyword)) {
$keyword = $this->convertLang($keyword);
$catalog = new Models_Catalog();
$items = $catalog->getListProductByKeyWord($keyword, true, true, false, 'groupBy');
foreach ($items['catalogItems'] as $key => $value) {
$path = URL::$documentRoot . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . 'thumbs' . DIRECTORY_SEPARATOR . '30_' . $value["image_url"];
if (!file_exists($path)) {
$items['catalogItems'][$key]['noneFile'] = SITE . '/uploads/thumbs/30_' . $value['image_url'];
}
}
$searchData = array('status' => 'success', 'item' => array('keyword' => $keyword, 'count' => $items['numRows'], 'items' => $items), 'currency' => MG::getSetting('currency'));
}
echo json_encode($searchData);
exit;
}
示例11: confirmOrder
/**
* Возвращает сообщение о статусе заказа "Подтвержден".
* @param type $pay - id заказа.
* @return mixed - сообщение и email пользователя.
*/
public function confirmOrder($id)
{
// Модель для работы заказом.
$model = new Models_Order();
// Информация о заказе по переданному id.
$orderInfo = $model->getOrder('`' . PREFIX . 'order`.id = "' . $id . '"');
$hash = URL::getQueryParametr('sec');
// Информация о пользователе, сделавший заказ .
$orderUser = USER::getUserInfoByEmail($orderInfo[$id]['user_email']);
// Если присланный хэш совпадает с хэшом из БД для соответствующего id.
if ($orderInfo[$id]['confirmation'] == $hash) {
if ($orderInfo[$id]['hash'] == '') {
$msg = 'Посмотреть статус заказа Вы можете в <a href="' . SITE . '/personal">личном кабинете</a>.';
} else {
$msg = 'Следить за статусом заказа Вы можете по ссылке <br> ' . '<a href="' . SITE . '/order?hash=' . $orderInfo[$id]['hash'] . '">' . SITE . '/order?hash=' . $orderInfo[$id]['hash'] . '</a>';
}
// Если статус заказа "Не подтвержден".
if (0 == $orderInfo[$id]['status_id']) {
// Подтверждаем заказ.
$orderStatus = 1;
// если оплата выбрана наложенным платежём, то статус заказа изменяем на "в доставке"
if ($orderInfo[$id]['payment_id'] == 3) {
$orderStatus = 3;
}
$model->sendStatusToEmail($id, $orderStatus);
$model->setOrderStatus($id, $orderStatus);
$orderNumber = $orderInfo[$id]['number'];
$orderId = $id;
$msg = 'Ваш заказ №' . $orderNumber . ' подтвержден и передан на обработку. <br>
' . $msg;
} else {
$msg = 'Заказ уже подтвержден и находится в работе. <br>
' . $msg;
}
if (!$orderUser->activity) {
$userEmail = $orderUser->email;
$_SESSION['id'] = $orderUser->id;
}
} else {
$msg = 'Некорректная ссылка.<br> Заказ не подтвержден<br>';
}
$result = array('msg' => $msg, 'userEmail' => $userEmail);
return $result;
}
示例12: getSearchData
/**
* Получает список продуктов при вводе в поле поиска товара при создании заказа через админку.
*/
public function getSearchData()
{
$keyword = URL::getQueryParametr('search');
if (!empty($keyword)) {
$catalog = new Models_Catalog();
$product = new Models_Product();
$currencyRate = MG::getSetting('currencyRate');
$currencyShort = MG::getSetting('currencyShort');
$currencyShopIso = MG::getSetting('currencyShopIso');
$items = $catalog->getListProductByKeyWord($keyword, true, false, true);
//добавление к заказу из админки товара, который не выводится в каталог.
$blockedProp = $product->noPrintProperty();
foreach ($items['catalogItems'] as $key => $item) {
$propertyFormData = $product->createPropertyForm($param = array('id' => $item['id'], 'maxCount' => 999, 'productUserFields' => $item['thisUserFields'], 'action' => "/catalog", 'method' => "POST", 'ajax' => true, 'blockedProp' => $blockedProp, 'noneAmount' => true, 'titleBtn' => "<span>" . $this->lang['EDIT_ORDER_14'] . "</span>", 'blockVariants' => $product->getBlockVariants($item['id']), 'classForButton' => 'addToCart buy-product buy custom-btn', 'printCompareButton' => false, 'currency_iso' => $item['currency_iso']));
$items['catalogItems'][$key]['price'] = $items['catalogItems'][$key]['price'];
$items['catalogItems'][$key]['propertyForm'] = $propertyFormData['html'];
}
}
$searchData = array('status' => 'success', 'item' => array('keyword' => $keyword, 'count' => $items['numRows'], 'items' => $items), 'currency' => MG::getSetting('currency'));
echo json_encode($searchData);
exit;
}
示例13:
<div class="widget-table-wrapper">
<div class="widget-table-title">
<h4 class="settings-table-icon"><?php
$lang = MG::get('lang');
echo $lang['SETTINGS_PLUGIN'];
?>
"<?php
echo URL::getQueryParametr('pluginTitle');
?>
"</h4>
</div>
<div class="widget-table-body">
<a href="javascript:void(0);" onclick="$('a[id=plugins]').click();" class="go-back-plugins"><span>← <?php
echo $lang['BACK_PLUGIN'];
?>
</span></a>
<?php
MG::createHook(URL::getQueryParametr('mguniqueurl'));
?>
</div>
<div class="clear"></div>
</div>
示例14: confirmOrder
/**
* Возвращает сообщение о статусе заказа "Подтвержден".
* @param type $pay - id заказа.
* @return mixed - сообщение и email пользователя.
*/
public function confirmOrder($id)
{
// Модель для работы заказом.
$model = new Models_Order();
// Информация о заказе по переданному id.
$orderInfo = $model->getOrder(PREFIX . 'order.id = "' . $id . '"');
$hash = URL::getQueryParametr('sec');
// Информация о пользователе, сделавший заказ .
$orderUser = USER::getUserInfoByEmail($orderInfo[$id]['user_email']);
// Если присланный хэш совпадает с хэшом из БД для соответствующего id.
if ($orderInfo[$id]['confirmation'] == $hash) {
// Если статус заказа "Не подтвержден".
if (0 == $orderInfo[$id]['status_id']) {
// Подтверждаем заказ.
$model->setOrderStatus($id, 1);
$orderId = $id;
} else {
$msg = 'Заказ уже подтвержден и находится в работе. <br>
Посмотреть статус заказа Вы можете в <a href="' . SITE . '/personal">личном кабинете</a>.';
}
if (!$orderUser->activity) {
$userEmail = $orderUser->email;
$_SESSION['id'] = $orderUser->id;
}
} else {
$msg = 'Некорректная ссылка.<br> Заказ не подтвержден<br>';
}
$result = array('msg' => $msg, 'userEmail' => $userEmail);
return $result;
}
示例15: __construct
function __construct()
{
$lang = MG::get('lang');
$settings = MG::get('settings');
$this->lang = $lang;
$status = 0;
if (User::isAuth()) {
$order = new Models_Order();
$status = 3;
//обработка запроса на изменение данных пользователя
if (URL::getQueryParametr('userData')) {
$customer = URL::getQueryParametr('customer');
$userData = array('name' => URL::getQueryParametr('name'), 'sname' => URL::getQueryParametr('sname'), 'address' => URL::getQueryParametr('address'), 'phone' => URL::getQueryParametr('phone'), 'nameyur' => $customer == 'yur' ? URL::getQueryParametr('nameyur') : '', 'adress' => $customer == 'yur' ? URL::getQueryParametr('adress') : '', 'inn' => $customer == 'yur' ? URL::getQueryParametr('inn') : '', 'kpp' => $customer == 'yur' ? URL::getQueryParametr('kpp') : '', 'bank' => $customer == 'yur' ? URL::getQueryParametr('bank') : '', 'bik' => $customer == 'yur' ? URL::getQueryParametr('bik') : '', 'ks' => $customer == 'yur' ? URL::getQueryParametr('ks') : '', 'rs' => $customer == 'yur' ? URL::getQueryParametr('rs') : '');
if (USER::update(User::getThis()->id, $userData)) {
$message = 'Данные успешно сохранены';
} else {
$error = 'Не удалось сохранить данные ' . $this->_newUserData['sname'];
}
}
// Обработка запроса на изменения пароля.
if (URL::getQueryParametr('chengePass')) {
if (USER::auth(User::getThis()->email, URL::getQueryParametr('pass'))) {
$person = new Models_Personal();
$message = $person->changePass(URL::getQueryParametr('newPass'), User::getThis()->id);
} else {
$error = 'Неверный пароль';
}
}
// Обработка запроса на изменения способа оплаты.
if (URL::getQueryParametr('changePaymentId')) {
$order = new Models_Order();
$status = $order->updateOrder(array('payment_id' => $_POST['changePaymentId'], 'id' => $_POST['orderId']));
$result = array('status' => $status, 'comment' => 2, 'orderStatus' => 3);
echo json_encode($result);
MG::disableTemplate();
exit;
}
// Обработка AJAX запроса на закрытие заказа.
if (URL::getQueryParametr('delOK')) {
$comment = 'Отменено покупателем, по причине <br>"' . URL::getQueryParametr('comment') . '"';
// Пересчитываем остатки продуктов из заказа.
$orderModel = new Models_Order();
$orderModel->refreshCountProducts(URL::getQueryParametr('delID'), 4);
$res = DB::query('
UPDATE `' . PREFIX . 'order`
SET close_date = now(), status_id = 4, comment = "%s"
WHERE id = %d AND user_email = "%s"', $comment, URL::getQueryParametr('delID'), User::getThis()->email);
if ($res) {
$status = true;
}
if ($comment) {
$comm = "<b>Комментарий: " . $comment . "</b>";
}
$result = array('status' => $status, 'comment' => $comm, 'orderStatus' => $lang[$order->getOrderStatus(array('status_id' => 4))]);
$orderModel->sendMailOfUpdateOrder(URL::getQueryParametr('delID'));
echo json_encode($result);
MG::disableTemplate();
exit;
}
// Отображение данных пользователя.
$orderArray = $order->getOrder('user_email = "' . User::getThis()->email . '"', TRUE);
if (is_array($orderArray)) {
foreach ($orderArray as $orderId => $orderItems) {
$orderArray[$orderId]['string_status_id'] = $order->getOrderStatus($orderItems);
$paymentArray = $order->getPaymentMethod($orderItems['payment_id']);
$orderArray[$orderId]['name'] = $paymentArray['name'];
$orderArray[$orderId]['paided'] = $order->getPaidedStatus($orderItems);
}
}
if (!User::getThis()->activity) {
$status = 2;
unset($_SESSION['user']);
}
if (User::getThis()->blocked) {
$status = 1;
unset($_SESSION['user']);
}
$paymentList = $order->getPaymentBlocksMethod();
} else {
MG::redirect('/enter');
}
$this->data = array('error' => !empty($error) ? $error : '', 'message' => !empty($message) ? $message : '', 'status' => !empty($status) ? $status : '', 'userInfo' => User::getThis(), 'orderInfo' => !empty($orderArray) ? $orderArray : '', 'currency' => $settings['currency'], 'paymentList' => $paymentList, 'meta_title' => 'Личный кабинет', 'meta_keywords' => !empty($model->currentCategory['meta_keywords']) ? $model->currentCategory['meta_keywords'] : "заказы,личные данные, личный кабинет", 'meta_desc' => !empty($model->currentCategory['meta_desc']) ? $model->currentCategory['meta_desc'] : "В личном кабинете нашего сайта вы сможете отслеживать состояние заказов и менять свои данные");
}