Example #1
0
 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'] : "Если вы забыли пароль от личного кабинета, его модно восстановить с помощью формы восстановления паролей.");
 }
Example #2
0
 function __construct()
 {
     $this->fPass = new Models_Forgotpass();
     if (URL::getQueryParametr('logout')) {
         User::logout();
     }
     if (User::isAuth()) {
         MG::redirect('/personal');
     }
     if (isset($_POST['registration'])) {
         // Если данные введены верно.
         if (!$this->unValidForm()) {
             USER::add($this->userData);
             $message = '<span class="succes-reg">Вы успешно зарегистрировались! Для активации пользователя Вам необходимо перейти по ссылке высланной на Ваш электронный адрес <strong>' . $this->userData['email'] . '</strong></span>';
             $form = false;
             // Рассылаем письма со ссылкой для подтверждения регистрации.
             $this->_sendActivationMail($this->userData['email']);
             unset($_POST);
         } else {
             $error = $this->error;
             $form = true;
         }
     } else {
         // Если пользователь не авторизован.
         if (!User::isAuth() && (isset($_POST['email']) || isset($_POST['pass']))) {
             if (!User::auth(URL::get('email'), URL::get('pass'))) {
                 $error = '<span class="msgError">' . 'Неправильная пара email-пароль! Авторизоваться не удалось.' . '</span>';
             } else {
                 $this->successfulLogon();
             }
         }
     }
     $data = array('meta_title' => 'Авторизация', 'msgError' => $error, 'message' => $message, 'meta_keywords' => !empty($model->currentCategory['meta_keywords']) ? $model->currentCategory['meta_keywords'] : "Авторизация,вход, войти в личный кабинет", 'meta_desc' => !empty($model->currentCategory['meta_desc']) ? $model->currentCategory['meta_desc'] : "Авторизуйтесь на сайте и вы получите дополнительные возможности, недоступные для обычных пользователей.");
     $this->data = $data;
 }
Example #3
0
 function __construct()
 {
     // Разлогиниваем пользователя.
     if (URL::getQueryParametr('logout')) {
         User::logout();
     }
     // Пользователь уже авторизован, отправляем его в личный кабинет.
     if (User::isAuth()) {
         MG::redirect('/personal');
     }
     $data = array('meta_title' => 'Авторизация', 'meta_keywords' => !empty($model->currentCategory['meta_keywords']) ? $model->currentCategory['meta_keywords'] : "Авторизация,вход, войти в личный кабинет", 'meta_desc' => !empty($model->currentCategory['meta_desc']) ? $model->currentCategory['meta_desc'] : "Авторизуйтесь на сайте и вы получите дополнительные возможности, недоступные для обычных пользователей.");
     // Если загрузка произведена по ссылке для отмены блокировки авторизации.
     if (URL::getQueryParametr('unlock')) {
         if (URL::getQueryParametr('unlock') == $_SESSION['unlockCode']) {
             unset($_SESSION['loginAttempt']);
             unset($_SESSION['blockTimeStart']);
             unset($_SESSION['unlockCode']);
         }
     }
     // Если пользователь не авторизован, проверяется  правильность ввода данных и количество неудачных попыток.
     if (!User::isAuth() && (isset($_POST['email']) || isset($_POST['pass']))) {
         $loginAttempt = (int) LOGIN_ATTEMPT ? LOGIN_ATTEMPT : 5;
         $capcha = isset($_POST['capcha']) ? $_POST['capcha'] : false;
         unset($_POST['capcha']);
         if (!User::auth(URL::get('email'), URL::get('pass'), $capcha)) {
             if ($_SESSION['loginAttempt'] < 2) {
                 $data['msgError'] = '<span class="msgError">' . 'Неправильная пара email-пароль! Авторизоваться не удалось.' . '</span>';
             } elseif ($_SESSION['loginAttempt'] < $loginAttempt) {
                 $data['msgError'] = '<span class="msgError">' . 'Неправильно введен код с картинки! Авторизоваться не удалось.' . ' Количество оставшихся попыток - ' . ($loginAttempt - $_SESSION['loginAttempt']) . '</span>';
                 $data['checkCapcha'] = '<div class="checkCapcha">
         <img style="margin-top: 5px; border: 1px solid gray; background: url("' . PATH_TEMPLATE . '/images/cap.png")" src = "captcha.html" width="140" height="36">
         <div>Введите текст с картинки:<span class="red-star">*</span> </div>
         <input type="text" name="capcha" class="captcha">';
             } else {
                 if (!isset($_SESSION['blockTimeStart'])) {
                     // Начало отсчета  времени блокировки на 15 мин.
                     $_SESSION['blockTimeStart'] = time();
                     $_SESSION['unlockCode'] = md5('mg' . time());
                     $this->sendUnlockMail($_SESSION['unlockCode']);
                 }
                 $data['msgError'] = '<span class="msgError">' . 'В целях безопасности возможность авторизации ' . 'заблокирована на 15 мин. Отсчет времени от ' . date("H:i:s", $_SESSION['blockTimeStart']) . '</span>';
             }
         } else {
             $this->successfulLogon();
         }
     }
     $this->data = $data;
 }
Example #4
0
 function __construct()
 {
     // Модель для работы заказом.
     $model = new Models_Order();
     // Печать заказа в квитанцию.
     if (isset($_POST['printQittance'])) {
         $model->printQittance();
     }
     if ($orderId = URL::get('getOrderPdf')) {
         $model->getPdfOrder($orderId);
     }
     // Запрос электронных товаров
     $fileToOrder = null;
     if (isset($_REQUEST['getFileToOrder'])) {
         $electroInfo = $model->getFileToOrder($_REQUEST['getFileToOrder']);
         $orderInfo = $model->getOrder(' id = ' . DB::quote($_REQUEST['getFileToOrder']));
         $orderNumber = $orderInfo[$_REQUEST['getFileToOrder']]['number'];
         if ($electroInfo === false) {
             $infoMsg = "Для просмотра страницы необходимо зайти на сайт под пользователем сделавшим заказ №" . $orderNumber;
         }
         if (is_array($electroInfo) && empty($electroInfo)) {
             $infoMsg = "Заказ  не содержит электронных товаров или ожидает оплаты!";
         }
         if (is_array($electroInfo) && !empty($electroInfo)) {
             $infoMsg = "Скачать электронные товары для заказа №" . $orderNumber . "";
         }
         $fileToOrder = array('infoMsg' => $infoMsg, 'electroInfo' => $electroInfo);
     }
     // пришел запрос на скачивание электронного товара
     if (isset($_REQUEST['link'])) {
         $model->getFileByMd5($_REQUEST['link']);
     }
     // Первый экран - Оформление заказа.
     $step = 1;
     // Если пришли данные с формы оформления заказа.
     if (isset($_POST['toOrder'])) {
         if (empty($_SESSION['cart'])) {
             MG::redirect('/cart');
         }
         // Если параметры введены корректно, то создается новый заказ.
         if ($error = $model->isValidData($_POST)) {
             $msg = $error;
         } else {
             // Второй экран - оплата заказа
             $step = 2;
             $orderArray = $model->addOrder();
             $orderId = $orderArray['id'];
             $orderNumber = $orderArray['orderNumber'];
             $summ = $model->summ + $model->delivery_cost;
             $pay = $model->payment;
             $paramArray = $model->getParamArray($pay, $orderId, $summ);
         }
     }
     // Обработка действия при переходе по ссылке подтверждения заказа.
     if ($id = URL::getQueryParametr('id')) {
         $info = $this->confirmOrder($id);
         $msg = $info['msg'];
         $userEmail = $info['userEmail'];
         // Третий экран - подтверждение заказа по ссылке из письма.
         $step = 3;
     }
     // Обработка действия при переходе по ссылке получения информации о статусе заказа.
     if (URL::getQueryParametr('hash')) {
         $hash = URL::getQueryParametr('hash');
         // Информация о заказе по переданному id.
         $orderInfo = $model->getOrder('`' . PREFIX . 'order`.hash = "' . $hash . '"');
         $id = key($orderInfo);
         if ($orderInfo) {
             if (USER::getUserInfoByEmail($orderInfo[$id]['user_email'])) {
                 $msg = 'Посмотреть статус заказа Вы можете в <a href="' . SITE . '/personal">личном кабинете</a>.';
             } else {
                 $lang = MG::get('lang');
                 $orderNumber = $orderInfo[$id]['number'];
                 $orderId = $id;
                 $status = $model->getOrderStatus($orderInfo[$id]['status_id']);
                 $orderInfo[$id]['string_status_id'] = $lang[$status];
                 $paymentArray = $model->getPaymentMethod($orderInfo[$id]['payment_id']);
                 $orderInfo[$id]['paymentName'] = $paymentArray['name'];
                 $msg = '';
             }
         } else {
             $msg = 'Некорректная ссылка.<br> Заказ не найден<br>';
         }
         // пятый экран - инфо о статусе заказа
         $step = 5;
     }
     // Запрос оплаты из ЛК.
     if (URL::getQueryParametr('pay')) {
         // Четвертый экран - Запрос оплаты из ЛК.
         $step = 4;
         $pay = URL::getQueryParametr('paymentId');
         $orderId = URL::getQueryParametr('orderID');
         $order = $model->getOrder(' id = ' . DB::quote($orderId, true));
         $summ = URL::getQueryParametr('orderSumm');
         $summ = $order[$orderId]['summ'] * 1 + $order[$orderId]['delivery_cost'] * 1;
         $paramArray = $model->getParamArray($pay, $orderId, $summ);
     }
     // Если пользователь авторизован, то заполняем форму личными даными.
     if (User::isAuth()) {
         $userInfo = User::getThis();
         $_POST['email'] = $_POST['email'] ? $_POST['email'] : $userInfo->email;
         $_POST['phone'] = $_POST['phone'] ? $_POST['phone'] : $userInfo->phone;
         $_POST['fio'] = $_POST['fio'] ? $_POST['fio'] : $userInfo->name . ' ' . $userInfo->sname;
         $_POST['address'] = $_POST['address'] ? $_POST['address'] : $userInfo->address;
         if ($userInfo->inn) {
             $_POST['customer'] = 'yur';
         }
         $_POST['yur_info']['adress'] = $userInfo->adress;
         $_POST['yur_info']['inn'] = $userInfo->inn;
         $_POST['yur_info']['kpp'] = $userInfo->kpp;
         $_POST['yur_info']['bank'] = $userInfo->bank;
         $_POST['yur_info']['bik'] = $userInfo->bik;
         $_POST['yur_info']['ks'] = $userInfo->ks;
         $_POST['yur_info']['rs'] = $userInfo->rs;
     }
     // Обработка ajax запроса из шаблона.
     if ('getPaymentByDeliveryId' == URL::getQueryParametr('action')) {
         $this->getPaymentByDeliveryId();
     }
     // Обработка ajax запроса из шаблона.
     if ('getEssentialElements' == URL::getQueryParametr('action')) {
         $this->getEssentialElements();
     }
     $this->includeIconsPack();
     // Массив способов доставки.
     $deliveryArray = $this->getDelivery();
     // Массив способов оплаты.
     $deliveryCount = count($deliveryArray);
     // если из доступных способов доставки - только один, то сразу находим для него способы оплаты
     if ($deliveryCount === 1) {
         $keyDev = array_keys($deliveryArray);
         $_POST['delivery'] = $deliveryArray[$keyDev[0]]['id'];
     }
     $paymentTable = $this->getPaymentByDeliveryId($_POST['delivery'], $_POST['customer'], true, $deliveryCount);
     // если доставка не предусмотрена, то выводим все доступные активные метода оплаты
     if ($deliveryCount === 0) {
         $paymentTable = '';
         foreach ($this->getPayment() as $payment) {
             $delivArray = json_decode($payment['deliveryMethod'], true);
             if ($_POST['customer'] == "yur" && $payment['id'] != "7") {
                 continue;
             }
             $paymentTable .= '
      <li class="noneactive">
        <label>
        <input type="radio" name="payment" rel value=' . $payment['id'] . '>' . $payment['name'] . '</label>
        <span class="icon-payment-' . $payment['id'] . '"></span>
      </li>';
         }
     }
     $cart = new Models_Cart();
     $summOrder = $cart->getTotalSumm();
     $summOrder = MG::numberFormat($summOrder);
     if ($step != 5) {
         $orderInfo = $model->getOrder('`' . PREFIX . 'order`.id = "' . $orderId . '"');
     }
     $userInfo = USER::getUserInfoByEmail($orderInfo[$orderId]['user_email']);
     $settings = MG::get('settings');
     $orderNumber = $orderInfo[$orderId]['number'] != '' ? $orderInfo[$orderId]['number'] : $orderId;
     $linkToStatus = $orderInfo[$orderId]['hash'] ? $orderInfo[$orderId]['hash'] : '';
     // Массив параметров для отображения в представлении.
     $this->data = array('active' => !empty($userEmail) ? $userEmail : '', 'msg' => !empty($msg) ? $msg : '', 'step' => !empty($step) ? $step : '', 'delivery' => !empty($deliveryArray) ? $deliveryArray : '', 'paymentArray' => !empty($paymentTable) ? $paymentTable : '', 'paramArray' => !empty($paramArray) ? $paramArray : '', 'id' => !empty($orderId) ? $orderId : '', 'orderNumber' => !empty($orderNumber) ? $orderNumber : $orderId, 'summ' => !empty($summ) ? $summ : '', 'pay' => !empty($pay) ? $pay : '', 'payMentView' => $this->getPaymentView($pay), 'currency' => $settings['currency'], 'userInfo' => $userInfo, 'orderInfo' => $orderInfo, 'fileToOrder' => $fileToOrder, 'meta_title' => 'Оформление заказа', 'meta_keywords' => !empty($model->currentCategory['meta_keywords']) ? $model->currentCategory['meta_keywords'] : "заказы,заявки,оформить,оформление заказа", 'meta_desc' => !empty($model->currentCategory['meta_desc']) ? $model->currentCategory['meta_desc'] : "Оформление заказа происходит в несколько этапов. 1 - ввод личных данных покупателя, 2 - оплата заказа.", 'summOrder' => !empty($summOrder) ? $summOrder . ' ' . MG::getSetting('currency') : '', 'captcha' => CAPTCHA_ORDER == '1' ? true : false, 'linkToStatus' => $linkToStatus);
 }
Example #5
0
 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'] : "В личном кабинете нашего сайта вы сможете отслеживать состояние заказов и менять свои данные");
 }
Example #6
0
$id = $user->id;
$result = $db->get($db->query("SELECT option1, option2, option3, option4, option5, option6, option7, option8, option9, option10 FROM cms_favorites WHERE UserID='" . $id . "' LIMIT 1"));
if ($result) {
    for ($i = 1; $i <= 10; $i++) {
        if ($result['option' . $i] != 0) {
            $result1 = $db->get($db->query("SELECT click, img, subtitle, itemID FROM cms_favorites_def WHERE ID='" . $result['option' . $i] . "' LIMIT 1"));
            if ($langDomainAuth == "ok") {
                $alert = $result1['click'];
            } else {
                if ($langDomainAuth == "lang") {
                    $alert = "sumo2.message.NewMessage('" . $lang->MOD_188 . "',3);sumo2.accordion.NewPanel('a_settings');";
                } else {
                    $alert = "sumo2.message.NewMessage('" . $lang->MOD_228 . "',3);sumo2.accordion.NewPanel('a_domains');";
                }
            }
            if ($user->isAuth($result1['itemID'])) {
                ?>
				<div class="fav-item flt-left" id="fav-item-<?php 
                echo $i;
                ?>
" onclick="<?php 
                echo $alert;
                ?>
">
					<div class="fav-icon"><?php 
                echo getImageFav($result1['img'], $lang->{$result1}['subtitle']);
                ?>
</div>
					<div class="fav-text"><?php 
                echo $lang->{$result1}['subtitle'];
                ?>
Example #7
0
 function __construct()
 {
     // Модель для работы заказом.
     $model = new Models_Order();
     // Печать заказа в квитанцию.
     if (isset($_POST['printQittance'])) {
         $model->printQittance();
     }
     // Первый экран - Оформление заказа.
     $step = 1;
     // Если пришли данные с формы оформления заказа.
     if (isset($_POST['toOrder'])) {
         if (empty($_SESSION['cart'])) {
             MG::redirect('/cart');
         }
         // Если параметры введены корректно, то создается новый заказ.
         if ($error = $model->isValidData($_POST)) {
             $msg = $error;
         } else {
             // Второй экран - оплата заказа
             $step = 2;
             $orderId = $model->addOrder();
             $summ = $model->summ + $model->delivery_cost;
             $pay = $model->payment;
             $paramArray = $model->getParamArray($pay, $orderId, $summ);
         }
     }
     // Обработка действия при переходе по ссылке подтверждения заказа.
     if ($id = URL::getQueryParametr('id')) {
         $info = $this->confirmOrder($id);
         $msg = $info['msg'];
         $userEmail = $info['userEmail'];
         // Третий экран - подтверждение заказа по ссылке из письма.
         $step = 3;
     }
     // Запрос оплаты из ЛК.
     if (URL::getQueryParametr('pay')) {
         // Четвертый экран - Запрос оплаты из ЛК.
         $step = 4;
         $pay = URL::getQueryParametr('paymentId');
         $orderId = URL::getQueryParametr('orderID');
         $order = $model->getOrder(' id = ' . DB::quote($orderId, true));
         $summ = URL::getQueryParametr('orderSumm');
         $summ = $order[$orderId]['summ'] * 1 + $order[$orderId]['delivery_cost'] * 1;
         $paramArray = $model->getParamArray($pay, $orderId, $summ);
     }
     // Если пользователь авторизован, то заполняем форму личными даными.
     if (User::isAuth()) {
         $userInfo = User::getThis();
         $_POST['email'] = $_POST['email'] ? $_POST['email'] : $userInfo->email;
         $_POST['phone'] = $_POST['phone'] ? $_POST['phone'] : $userInfo->phone;
         $_POST['fio'] = $_POST['fio'] ? $_POST['fio'] : $userInfo->name . ' ' . $userInfo->sname;
         $_POST['address'] = $_POST['address'] ? $_POST['address'] : $userInfo->address;
         if ($userInfo->inn) {
             $_POST['customer'] = 'yur';
         }
         $_POST['yur_info']['adress'] = $userInfo->adress;
         $_POST['yur_info']['inn'] = $userInfo->inn;
         $_POST['yur_info']['kpp'] = $userInfo->kpp;
         $_POST['yur_info']['bank'] = $userInfo->bank;
         $_POST['yur_info']['bik'] = $userInfo->bik;
         $_POST['yur_info']['ks'] = $userInfo->ks;
         $_POST['yur_info']['rs'] = $userInfo->rs;
     }
     // Обработка ajax запроса из шаблона.
     if ('getPaymentByDeliveryId' == URL::getQueryParametr('action')) {
         $this->getPaymentByDeliveryId();
     }
     // Обработка ajax запроса из шаблона.
     if ('getEssentialElements' == URL::getQueryParametr('action')) {
         $this->getEssentialElements();
     }
     $this->includeIconsPack();
     // Массив способов доставки.
     $deliveryArray = $this->getDelivery();
     // Массив способов оплаты.
     $paymentTable = $this->getPaymentTable($deliveryArray);
     $orderInfo = $model->getOrder(PREFIX . 'order.id = "' . $orderId . '"');
     $userInfo = USER::getUserInfoByEmail($orderInfo[$orderId]['user_email']);
     $settings = MG::get('settings');
     $cart = new Models_Cart();
     $t = $cart->getItemsCart();
     // Массив параметров для отображения в представлении.
     $this->data = array('active' => !empty($userEmail) ? $userEmail : '', 'msg' => !empty($msg) ? $msg : '', 'step' => !empty($step) ? $step : '', 'delivery' => !empty($deliveryArray) ? $deliveryArray : '', 'paymentArray' => !empty($paymentTable) ? $paymentTable : '', 'paramArray' => !empty($paramArray) ? $paramArray : '', 'id' => !empty($orderId) ? $orderId : '', 'summ' => !empty($summ) ? $summ : '', 'pay' => !empty($pay) ? $pay : '', 'payMentView' => $this->getPaymentView($pay), 'currency' => $settings['currency'], 'userInfo' => $userInfo, 'orderInfo' => $orderInfo, 'meta_title' => 'Оформление заказа', 'meta_keywords' => !empty($model->currentCategory['meta_keywords']) ? $model->currentCategory['meta_keywords'] : "заказы,заявки,оформить,оформление заказа", 'meta_desc' => !empty($model->currentCategory['meta_desc']) ? $model->currentCategory['meta_desc'] : "Оформление заказа происходит в несколько этапов. 1 - ввод личных данных покупателя, 2 - оплата заказа.", 'body_cart' => $t['items']);
 }