function __construct() { if (!USER::isAuth() || '1' != USER::getThis()->role) { MG::redirect('/'); } $this->data = array('content' => $_POST['content']); }
/mg-core/script/codemirror/lib/codemirror.css"> <!--[if lte IE 9]> <link href="<?php echo SITE; ?> /mg-admin/design/css/ie.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="<?php echo SITE; ?> /mg-core/script/css3-mediaqueries.js"></script> <![endif]--> <title>Панель управления | Moguta.CMS</title> <?php if (USER::isAuth() && ('1' == USER::getThis()->role || '3' == USER::getThis()->role || '4' == USER::getThis()->role)) { ?> <?php MG::titlePage($lang['ADMIN_BAR']); ?> <script>var phoneMask = "<?php echo MG::getSetting('phoneMask'); ?> " </script> <script>var SITE = "<?php echo SITE; ?> ";</script>
/** * Вывод списка аккаунтов пользователя * @param int $user_id - ID пользователя (значение по умолчанию = текущий пользователь) * @return string */ static function getSyncPanelCode($user_id = 0) { $current_user = USER::isAuth() ? USER::getThis() : 0; $current_user = isset($current_user->id) ? $current_user->id : 0; $user_id = empty($user_id) ? $current_user : $user_id; if (empty($user_id)) { return ''; } $res = DB::query("SELECT * FROM " . PREFIX . "ulogin WHERE user_id = " . DB::quote($user_id)); foreach ($res as $network) { $networks[] = $network; } $output = ' <style> .big_provider { display: inline-block; margin-right: 10px; } </style> <p class="change-pass-title">' . self::$lang['ULOGIN_SYNC'] . '</p>' . self::getPanelCode(1) . '<p>' . self::$lang['ULOGIN_SYNC_HELP'] . '</p> <p class="change-pass-title">' . self::$lang['ULOGIN_SYNC_LIST'] . '</p>'; $output .= '<div id="ulogin_accounts">'; foreach ($networks as $network) { if ($network['user_id'] = $user_id) { $output .= "<div data-ulogin-network='{$network['network']}' data-ulogin-identity='{$network['identity']}' class='ulogin_network big_provider {$network['network']}_big'></div>"; } } $output .= '</div> <p>' . self::$lang['ULOGIN_SYNC_DELETE'] . '</p>'; return $output; return ''; }
/** * Сохраняет заказ в базу сайта. * Добавляет в массив корзины третий параметр 'цена товара', для сохранения в заказ. * Это нужно для тогою чтобы в последствии вывести детальную информацию о заказе. * Если оставить только id то информация может оказаться неверной, так как цены меняютcя. * @return int $id номер заказа. */ public function addOrder($adminOrder = false) { $itemPosition = new Models_Product(); $cart = new Models_Cart(); $catalog = new Models_Catalog(); $categoryArray = $catalog->getCategoryArray(); $this->summ = 0; $currencyRate = MG::getSetting('currencyRate'); $currencyShopIso = MG::getSetting('currencyShopIso'); // Массив запросов на обновление количества товаров. $updateCountProd = array(); // Добавляем в массив корзины параметр 'цена товара'. if ($adminOrder) { $this->email = $adminOrder['user_email']; $this->phone = $adminOrder['phone']; $this->address = $adminOrder['address']; $this->delivery = $adminOrder['delivery_id']; $this->dateDelivery = $adminOrder['date_delivery']; $this->delivery_cost = $adminOrder['delivery_cost']; $this->payment = $adminOrder['payment_id']; $this->fio = $adminOrder['name_buyer']; $formatedDate = date('Y-m-d H:i:s'); // Форматированная дата ГГГГ-ММ-ДД ЧЧ:ММ:СС. foreach ($adminOrder['order_content'] as $item) { $product = $itemPosition->getProduct($item['id']); $_SESSION['couponCode'] = $item['coupon']; $product['category_url'] = $product['category_url'] ? $product['category_url'] : 'catalog'; $productUrl = $product['category_url'] . '/' . $product['url']; $itemCount = $item['count']; if (!empty($product)) { $fulPrice = $item['fulPrice']; // полная стоимость без скидки $product['price'] = $item['price']; // $product['price'] = $item['price_course']; //$product['currency_iso'] = $product['currency_iso']?$product['currency_iso']:$currencyShopIso; //$product['price'] *= $currencyRate[$product['currency_iso']]; $discount = 0; if (!empty($item['price']) && (!empty($item['coupon']) || stristr($item['discSyst'], 'true') !== false)) { $discount = 100 - $product['price'] * 100 / $fulPrice; } $productPositions[] = array('id' => $product['id'], 'name' => $item['title'], 'url' => $productUrl, 'code' => $item['code'], 'price' => $product['price'], 'count' => $itemCount, 'property' => $item['property'], 'coupon' => $_SESSION['couponCode'], 'discount' => round($discount, 1), 'fulPrice' => $fulPrice, 'weight' => $product['weight'], 'currency_iso' => $currencyShopIso, 'discSyst' => !empty($item['discSyst']) ? $item['discSyst'] : ''); $this->summ += $product['price'] * $itemCount; // По ходу формируем массив запросов на обновление количества товаров. if ($item['variant'] == 0) { $product['count'] = $product['count'] - $itemCount >= 0 ? $product['count'] - $itemCount : 0; $updateCountProd[] = "UPDATE `" . PREFIX . "product` SET `count`= " . DB::quote($product['count']) . " WHERE `id`=" . DB::quote($product['id']) . " AND `count`>0"; } else { $count = DB::query(' SELECT count FROM `' . PREFIX . 'product_variant` WHERE id = ' . DB::quote($item['variant'])); $count = DB::fetchAssoc($count); $product['count'] = $count['count'] - $itemCount >= 0 ? $count['count'] - $itemCount : 0; $updateCountProd[] = "UPDATE `" . PREFIX . "product_variant` SET `count`= " . DB::quote($product['count']) . " WHERE `id`=" . DB::quote($item['variant']) . " AND `count`>0"; $variants = $itemPosition->getVariants($product['id']); $firstVariant = reset($variants); if ($firstVariant['id'] == $item['variant']) { // если приобретен вариант товара, то выясним является ли он первым в наборе, если да то обновим информацию в mg_product $updateCountProd[] = "UPDATE `" . PREFIX . "product` SET `count`= " . DB::quote($product['count']) . " WHERE `id`=" . DB::quote($product['id']) . " AND `count`>0"; } } $updateCountProd[] = "UPDATE `" . PREFIX . "product` SET `count_buy`= `count_buy` + 1 WHERE `id`=" . DB::quote($product['id']); } } } elseif (!empty($_SESSION['cart'])) { foreach ($_SESSION['cart'] as $item) { $product = $itemPosition->getProduct($item['id']); // Дописываем к массиву продуктов данные о выбранных характеристиках из корзины покупок, чтобы приплюсовать к сумме заказа. if ($item['id'] == $product['id']) { $product['property_html'] = $item['propertyReal']; } $variant = null; $discount = null; $promocode = null; if (!empty($item['variantId']) && $item['id'] == $product['id']) { $variants = $itemPosition->getVariants($product['id']); $variant = $variants[$item['variantId']]; $product['price'] = $variant['price_course']; $fulPrice = $product['price']; $priceWithCoupon = $cart->applyCoupon($_SESSION['couponCode'], $product['price'], $product); $priceWithDiscount = $cart->applyDiscountSystem($product['price']); //$product['price'] = $priceWithCoupon < $priceWithDiscount['price'] ? $priceWithCoupon : $priceWithDiscount['price']; $product['price'] = $cart->customPrice(array('product' => $product, 'priceWithCoupon' => $priceWithCoupon, 'priceWithDiscount' => $priceWithDiscount['price'])); $product['code'] = $variant['code']; $product['count'] = $variant['count']; $product['weight'] = $variant['weight']; $product['title'] .= " " . $variant['title_variant']; $discountSystem = $priceWithDiscount['discounts']; $promocode = $priceWithDiscount['discounts'] != '' ? $priceWithDiscount['promo'] : $_SESSION['couponCode']; //По ходу формируем массив запросов на обновление количества товаров $resCount = $variant['code']; $resCount = $variant['count'] - $item['count'] >= 0 ? $variant['count'] - $item['count'] : 0; $updateCountProd[] = "UPDATE `" . PREFIX . "product_variant` SET `count`= " . DB::quote($resCount) . " WHERE `id`=" . DB::quote($item['variantId']) . " AND `count`>0"; } $product['category_url'] = $product['category_url'] ? $product['category_url'] : 'catalog'; $productUrl = $product['category_url'] . '/' . $product['url']; // Eсли куки не актуальны исключает попадание несуществующего продукта в заказ if (!empty($product)) { if (!$variant) { $product['price'] = $product['price_course']; $fulPrice = $product['price']; } $product['price'] = SmalCart::plusPropertyMargin($fulPrice, $product['property_html'], $currencyRate[$product['currency_iso']]); //$product['currency_iso'] = $product['currency_iso']?$product['currency_iso']:$currencyShopIso; //$product['price'] *= $currencyRate[$product['currency_iso']]; $fulPrice = $product['price']; $tempPrice = $product['price']; // if (!$variant) { $priceWithCoupon = $cart->applyCoupon($_SESSION['couponCode'], $product['price'], $product); $priceWithDiscount = $cart->applyDiscountSystem($product['price']); //$product['price'] = $priceWithCoupon < $priceWithDiscount['price'] ? $priceWithCoupon : $priceWithDiscount['price']; $product['price'] = $cart->customPrice(array('product' => $product, 'priceWithCoupon' => $priceWithCoupon, 'priceWithDiscount' => $priceWithDiscount['price'])); $discountSystem = $priceWithDiscount['discounts']; $promocode = $priceWithDiscount['discounts'] != '' ? $priceWithDiscount['promo'] : $_SESSION['couponCode']; // } $discount = 0; if (!empty($tempPrice)) { $discount = 100 - $product['price'] * 100 / $tempPrice; } $productPositions[] = array('id' => $product['id'], 'name' => $product['title'], 'url' => $productUrl, 'code' => $product['code'], 'price' => $product['price'], 'count' => $item['count'], 'property' => $item['property'], 'coupon' => $promocode, 'discount' => round($discount), 'fulPrice' => $fulPrice, 'weight' => $product['weight'], 'currency_iso' => $currencyShopIso, 'discSyst' => $discountSystem ? $discountSystem : ''); $this->summ += $product['price'] * $item['count']; if (!$resCount) { $resCount = $product['count'] - $item['count'] >= 0 ? $product['count'] - $item['count'] : 0; } //По ходу формируем массив запросов на обновление количества товаров if (!$variant) { $updateCountProd[] = "UPDATE `" . PREFIX . "product` SET `count`= " . DB::quote($resCount) . " WHERE `id`=" . DB::quote($product['id']) . " AND `count`>0"; } else { $firstVariant = reset($variants); if ($firstVariant['id'] == $item['variantId']) { // если приобретен вариант товара, то выясним является ли он первым в наборе, если да то обновим информацию в mg_product $updateCountProd[] = "UPDATE `" . PREFIX . "product` SET `count`= " . DB::quote($resCount) . " WHERE `id`=" . DB::quote($product['id']) . " AND `count`>0"; } } $updateCountProd[] = "UPDATE `" . PREFIX . "product` SET `count_buy`= `count_buy` + 1 WHERE `id`=" . DB::quote($product['id']); $resCount = null; } } } // Сериализует данные в строку для записи в бд. $orderContent = addslashes(serialize($productPositions)); // Сериализует данные в строку для записи в бд информации об юридическом лице. $yurInfo = ''; if (!empty($adminOrder['yur_info'])) { $yurInfo = addslashes(serialize($adminOrder['yur_info'])); } if (!empty($_POST['yur_info'])) { $yurInfo = addslashes(serialize($_POST['yur_info'])); } // Создает новую модель корзины, чтобы узнать сумму заказа. $cart = new Models_Cart(); // Генерируем уникальный хэш для подтверждения заказа. $hash = $this->_getHash($this->email); //Достаем настройки заказов, чтобы установить статус для нового заказа. $propertyOrder = MG::getOption('propertyOrder'); $propertyOrder = stripslashes($propertyOrder); $propertyOrder = unserialize($propertyOrder); $order_status_id = $this->payment == 3 && $propertyOrder['order_status'] == 1 ? 3 : $propertyOrder['order_status']; // Формируем массив параметров для SQL запроса. $array = array('user_email' => $this->email, 'summ' => number_format($this->summ, 2, '.', ''), 'order_content' => $orderContent, 'phone' => $this->phone, 'address' => $this->address, 'delivery_id' => $this->delivery, 'delivery_cost' => $this->delivery_cost, 'payment_id' => $this->payment, 'paided' => '0', 'status_id' => $order_status_id, 'confirmation' => $hash, 'yur_info' => $yurInfo, 'name_buyer' => $this->fio, 'date_delivery' => $this->dateDelivery, 'user_comment' => $this->info, 'ip' => $_SERVER['REMOTE_ADDR']); // Если заказ оформляется через админку. if ($adminOrder) { $array['comment'] = $adminOrder['comment']; $array['status_id'] = $adminOrder['status_id']; $array['add_date'] = $formatedDate; $array['date_delivery'] = $adminOrder['date_delivery']; DB::buildQuery("INSERT INTO `" . PREFIX . "order` SET ", $array); } else { // Отдает на обработку родительской функции buildQuery. DB::buildQuery("INSERT INTO `" . PREFIX . "order` SET add_date = now(), ", $array); } // Заказ номер id добавлен в базу. $id = null; $id = DB::insertId(); $_SESSION['usedCouponCode'] = $_SESSION['couponCode']; unset($_SESSION['couponCode']); $orderNumber = $this->getOrderNumber($id); $hashStatus = ''; $linkToStatus = ''; if (MG::getSetting('autoRegister') == "false" && !USER::isAuth()) { $hashStatus = md5($id . $this->email . rand(9999)); $linkToStatus = '<a href="' . SITE . '/order?hash=' . $hashStatus . '" target="blank">' . SITE . '/order?hash=' . $hashStatus . '</a>'; } DB::query("UPDATE `" . PREFIX . "order` SET `number`= " . DB::quote($orderNumber) . ", `hash`=" . DB::quote($hashStatus) . " WHERE `id`=" . DB::quote($id) . ""); // Ссылка для подтверждения заказа $link = 'ссылке <a href="' . SITE . '/order?sec=' . $hash . '&id=' . $id . '" target="blank">' . SITE . '/order?sec=' . $hash . '&id=' . $id . '</a>'; $table = ""; // Формирование тела письма. if ($id) { // Уменьшаем количество купленных товаров if (!empty($updateCountProd)) { foreach ($updateCountProd as $sql) { DB::query($sql); } foreach ($productPositions as $product) { Storage::clear(md5('ControllersProduct' . $product['url'])); } } // Если заказ создался, то уменьшаем количество товаров на складе. $settings = MG::get('settings'); $delivery = $this->getDeliveryMethod(false, $this->delivery); $sitename = $settings['sitename']; $currency = MG::getSetting('currency'); $paymentArray = $this->getPaymentMethod($this->payment); $subj = 'Оформлена заявка №' . ($orderNumber != "" ? $orderNumber : $id) . ' на сайте ' . $sitename; foreach ($productPositions as &$item) { foreach ($item as &$v) { $v = rawurldecode($v); } } $paramToMail = array('orderNumber' => $orderNumber, 'siteName' => MG::getSetting('sitename'), 'delivery' => $delivery, 'currency' => MG::getSetting('currency'), 'fio' => $this->fio, 'email' => $this->email, 'phone' => $this->phone, 'address' => $this->address, 'delivery' => $delivery['description'], 'payment' => $paymentArray['name'], 'adminOrder' => $adminOrder, 'result' => $this->summ, 'deliveryCost' => $this->delivery_cost, 'date_delivery' => $this->dateDelivery, 'total' => $this->delivery_cost + $this->summ, 'confirmLink' => $link, 'ip' => $this->ip, 'lastvisit' => $_SESSION['lastvisit'], 'firstvisit' => $_SESSION['firstvisit'], 'supportEmail' => MG::getSetting('noReplyEmail'), 'shopName' => MG::getSetting('shopName'), 'shopPhone' => MG::getSetting('shopPhone'), 'formatedDate' => date('Y-m-d H:i:s'), 'productPositions' => $productPositions, 'couponCode' => $_SESSION['couponCode'], 'toKnowStatus' => $linkToStatus); $emailToUser = MG::layoutManager('email_order', $paramToMail); $paramToMail['adminMail'] = true; $emailToAdmin = MG::layoutManager('email_order', $paramToMail); $mails = explode(',', MG::getSetting('adminEmail')); foreach ($mails as $mail) { if (preg_match('/^[-._a-zA-Z0-9]+@(?:[a-zA-Z0-9][-a-zA-Z0-9]+\\.)+[a-zA-Z]{2,6}$/', $mail)) { Mailer::addHeaders(array("Reply-to" => $this->email)); Mailer::sendMimeMail(array('nameFrom' => $this->fio, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => $sitename, 'emailTo' => $mail, 'subject' => $subj, 'body' => $emailToAdmin, 'html' => true)); } } // Отправка заявки пользователю. Mailer::sendMimeMail(array('nameFrom' => $sitename, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => $this->fio, 'emailTo' => $this->email, 'subject' => $subj, 'body' => $emailToUser, 'html' => true)); // Если заказ успешно записан, то очищает корзину. if (!$adminOrder) { $cart->clearCart(); } } $result = array('id' => $id, 'orderNumber' => $orderNumber); // Возвращаем номер созданого заказа. $args = func_get_args(); return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $result, $args); }
/** * Регистрация на сайте и в таблице uLogin * @param Array $u_user - данные о пользователе, полученные от uLogin * @param int $in_db - при значении 1 необходимо переписать данные в таблице uLogin * @return bool|int|Error */ function ulogin_registration_user($u_user, $in_db = 0) { if (!isset($u_user['email'])) { die("Через данную форму выполнить вход/регистрацию невозможно. </br>" . "Сообщиете администратору сайта о следующей ошибке: </br></br>" . "Необходимо указать <b>email</b> в возвращаемых полях <b>uLogin</b>"); } $u_user['network'] = isset($u_user['network']) ? $u_user['network'] : ''; $u_user['phone'] = isset($u_user['phone']) ? $u_user['phone'] : ''; // данные о пользователе есть в ulogin_table, но отсутствуют в Базе if ($in_db == 1) { DB::query("DELETE FROM " . PREFIX . "ulogin WHERE `identity` = " . DB::quote($u_user['identity'])); } $user_id = USER::getUserInfoByEmail($u_user['email']); $user_id = $user_id->id; // $check_m_user == true -> есть пользователь с таким email $check_m_user = $user_id > 0 ? true : false; $current_user = USER::isAuth() ? USER::getThis() : 0; // $isLoggedIn == true -> ползователь онлайн $isLoggedIn = isset($current_user->id) && $current_user->id > 0 ? true : false; if (!$check_m_user && !$isLoggedIn) { // отсутствует пользователь с таким email в базе -> регистрация $date = explode('.', $u_user['bdate']); $insert_user = array('pass' => md5(microtime(true)), 'email' => $u_user['email'], 'role' => 2, 'name' => $u_user['first_name'], 'sname' => $u_user['last_name'], 'address' => '', 'phone' => $u_user['phone'], 'birthday' => $date['2'] . '-' . $date['1'] . '-' . $date['0'], 'activity' => 1); $user_id = USER::add($insert_user); $user_id = DB::insertId(); $userData = USER::getUserById($user_id); $res = DB::query("INSERT INTO " . PREFIX . "ulogin (user_id, identity, network)\n\t\tVALUES (" . DB::quote($user_id) . "," . DB::quote($u_user['identity']) . "," . DB::quote($u_user['network']) . ")"); return $userData->id; } else { // существует пользователь с таким email или это текущий пользователь if (!isset($u_user["verified_email"]) || intval($u_user["verified_email"]) != 1) { die('<head></head><body><script src="//ulogin.ru/js/ulogin.js" type="text/javascript"></script><script type="text/javascript">uLogin.mergeAccounts("' . $_POST['token'] . '")</script>' . "Электронный адрес данного аккаунта совпадает с электронным адресом существующего пользователя. <br>Требуется подтверждение на владение указанным email.</br></br>" . "Подтверждение аккаунта" . "</body>"); } if (intval($u_user["verified_email"]) == 1) { $user_id = $isLoggedIn ? $current_user->id : $user_id; $other_u = DB::query("SELECT identity FROM " . PREFIX . "ulogin where `user_id` = " . DB::quote($user_id)); $other_u = DB::fetchAssoc($other_u); if ($other_u) { if (!$isLoggedIn && !isset($u_user['merge_account'])) { die('<head></head><body><script src="//ulogin.ru/js/ulogin.js" type="text/javascript"></script><script type="text/javascript">uLogin.mergeAccounts("' . $_POST['token'] . '","' . $other_u['identity'] . '")</script>' . "С данным аккаунтом уже связаны данные из другой социальной сети. <br>Требуется привязка новой учётной записи социальной сети к этому аккаунту.<br/>" . "Синхронизация аккаунтов" . "</body>"); } } DB::query("INSERT INTO " . PREFIX . "ulogin (user_id, identity, network)\n\t\t\tVALUES (" . DB::quote($user_id) . "," . DB::quote($u_user['identity']) . "," . DB::quote($u_user['network']) . ")"); return $user_id; } } return false; }
/** * Устанавливает meta данные страницы. * @param string|bool $title заголовок страницы. * @return void. */ public static function meta() { $metaTitle = self::get('metaTitle'); $metaKeywords = self::get('metaKeywords'); $metaDescription = self::get('metaDescription'); $title = $metaTitle ? $metaTitle : self::get('title'); $meta = ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>' . $title . '</title> <meta name="keywords" content="' . $metaKeywords . '" /> <meta name="description" content="' . $metaDescription . '" /> '; $head = '<script type="text/javascript" src="' . SITE . '/mg-core/script/jquery-1.10.2.min.js"></script>'; if (!URL::isSection(null)) { $head .= '<script type="text/javascript" src="' . SITE . '/mg-core/script/jquery-ui-1.10.3.custom.min.js"></script>'; $head .= '<script type="text/javascript" src="' . SITE . '/mg-core/script/jquery.form.js"></script>'; $head .= '<script type="text/javascript" src="' . SITE . '/mg-core/script/engine-script.js?protocol=' . PROTOCOL . '&mgBaseDir=' . SITE . '&currency=' . MG::getSetting('currency') . '&phoneMask=' . MG::getSetting('phoneMask') . '"></script> '; } // поддержка js для старых шаблонов if (MG::getSetting('noneSupportOldTemplate') == 'true') { $head .= ' <script type="text/javascript" src="' . SITE . '/mg-core/script/old-engine-script.js"></script> '; } $userMeta = MG::get('register'); $currentController = MG::get('controller'); $head .= ' <!--Реестр определенных стилей в плагинах движка--> '; if (!empty($userMeta)) { foreach ($userMeta as $key => $headers) { //выводим мета заголовок, только если соответствует контролер или его нужно выводить всегда if ($key == 'all' || $key == $currentController) { foreach ($headers as $value) { // отдельно берем стили для мобильной версии, чтобы поместить их в нужном порядке, после всех остальных if (stripos($value, 'mobile.css') !== false) { $mobileCss .= $value . ' '; continue; } if (stripos($value, '<script') !== false) { $metaScript .= $value . ' '; } else { $head .= $value . ' '; } } } } } $head .= '<!--/Реестр определенных стилей в плагинах движка--> '; $head .= ' <!--Обязательный файл стилей для каждого шаблона--> <link rel="stylesheet" href="' . PATH_SITE_TEMPLATE . '/css/style.css" type="text/css" /> <!--/Обязательный файл стилей для каждого шаблона--> '; $colorScheme = MG::getSetting('colorScheme'); if (PREVIEW_TEMPLATE) { if (!empty($_GET['color'])) { SetCookie('color', $_GET['color'], time() + 3600 * 24 * 365); $colorScheme = $_GET['color']; } else { $colorScheme = $_COOKIE['color']; } } if ($colorScheme) { $head .= ' <!--Цветовая схема шаблона--> <link href="' . PATH_SITE_TEMPLATE . '/css/color-scheme/color_' . $colorScheme . '.css" rel="stylesheet" type="text/css" /> <!--/Цветовая схема шаблона--> '; } $head .= $mobileCss; $head .= ' <!--Реестр определенных скриптов в плагинах движка--> '; $head .= $metaScript; $head .= '<!--/Реестр определенных скриптов в плагинах движка--> '; // $meta .= $head; // $meta .= self::mergeStaticFile($head); if (USER::isAuth() && ('1' == USER::getThis()->role || USER::getThis()->role == '3' || '4' == USER::getThis()->role)) { // для админа подключаем все стили из отдельных файлов как есть. $meta .= $head; $meta .= ' <link rel="stylesheet" href="' . SITE . '/mg-admin/design/css/adminbar.css" type="text/css" /> <link rel="stylesheet" href="' . SITE . '/mg-admin/design/css/style.css" type="text/css" /> <script type="text/javascript" src="' . SITE . '/mg-core/script/admin/admin.js?mgBaseDir=' . SITE . '¤cy=' . MG::getSetting('currency') . '&lang=' . MG::getSetting('languageLocale') . '" /></script> <script> $(document).ready(function(){admin.publicAdmin();}); var lang = "";</script> '; } else { // если не админ, то отдаем сжатые файлы $meta .= self::mergeStaticFile($head); } $args = func_get_args(); return self::createHook(__CLASS__ . "_" . __FUNCTION__, $meta, $args); }