本文整理汇总了PHP中MG::layoutManager方法的典型用法代码示例。如果您正苦于以下问题:PHP MG::layoutManager方法的具体用法?PHP MG::layoutManager怎么用?PHP MG::layoutManager使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MG
的用法示例。
在下文中一共展示了MG::layoutManager方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __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'] : "Если вы забыли пароль от личного кабинета, его модно восстановить с помощью формы восстановления паролей.");
}
示例2: __construct
function __construct()
{
$html = MG::get('pages')->getPageByUrl('feedback');
$html['html_content'] = MG::inlineEditor(PREFIX . 'page', "html_content", $html['id'], $html['html_content']);
$data = array('dislpayForm' => true, 'meta_title' => $html['meta_title'] ? $html['meta_title'] : $html['title'], 'meta_keywords' => $html['meta_keywords'], 'meta_desc' => $html['meta_desc'], 'html_content' => $html['html_content'], 'title' => $html['title']);
// Если пришли данные с формы.
if (isset($_POST['send'])) {
// Создает модель отправки сообщения.
$feedBack = new Models_Feedback();
// Проверяет на корректность вода.
$error = $feedBack->isValidData($_POST);
$data['error'] = $error;
// Если есть ошибки заносит их в переменную.
if (!$error) {
$_POST['message'] = nl2br($_POST['message']);
//Отправляем админам.
$sitename = MG::getSetting('sitename');
//$message = str_replace('№', '#', $feedBack->getMessage());
$body = MG::layoutManager('email_feedback', array('msg' => $_POST['message'], 'email' => $feedBack->getEmail(), 'name' => $feedBack->getFio()));
$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" => $feedBack->getEmail()));
Mailer::sendMimeMail(array('nameFrom' => $feedBack->getFio(), 'emailFrom' => $feedBack->getEmail(), 'nameTo' => $sitename, 'emailTo' => $mail, 'subject' => 'Сообщение с формы обратной связи', 'body' => $body, 'html' => true));
}
}
MG::redirect('/feedback?thanks=1');
}
}
// Формирует сообщение.
if (isset($_REQUEST['thanks'])) {
$data = array('message' => 'Ваше сообщение отправлено!', 'dislpayForm' => false, 'meta_title' => 'Обратная связь', 'meta_keywords' => $model->currentCategory['meta_keywords'] ? $model->currentCategory['meta_keywords'] : "Обратная сввязь, быстрое сообщение, вопрос в поддержку", 'meta_desc' => $model->currentCategory['meta_desc'] ? $model->currentCategory['meta_desc'] : "Задайте свой вопрос по средствам формы обратной связи.");
}
$this->data = $data;
}
示例3: getMenuFull
/**
* Возвращает меню в HTML виде.
* @param string type = top или footer. Footer - вернет три списка с равным количеством пунктов
*/
public static function getMenuFull($type = 'top')
{
if ($type == 'top') {
$pages = MG::get('pages')->getHierarchyPage();
$print = MG::layoutManager('layout_topmenu', array('pages' => $pages));
}
if ($type == 'footer') {
$print .= MG::get('pages')->getFooterPagesUl(0);
}
$args = func_get_args();
return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $print, $args);
}
示例4: layout
/**
* Выводит верстку содержащуюся в заданном layout.
* @param $layout - название верстки в папке шаблона layout, без префикса 'layout_';
* @param $data - массив данных переданых в layout';
*/
function layout($layout, $data = null)
{
if (in_array($layout, array('cart', 'auth', 'contacts', 'search'))) {
$data = MG::get('templateData');
}
if ($layout == 'topmenu') {
echo Menu::getMenuFull('top');
return true;
}
if ($layout == 'leftmenu') {
echo MG::get('category')->getCategoriesHTML();
return true;
}
if ($layout == 'horizontmenu') {
echo MG::get('category')->getCategoriesHorHTML();
return true;
}
if ($layout == 'content') {
$data = MG::get('templateData');
echo $data['content'];
return true;
}
if ($layout == 'widget') {
echo MG::getSetting('widgetCode');
return true;
}
if ($layout == 'logo') {
$logo = MG::getSetting('shopLogo') != '' ? MG::getSetting('shopLogo') : "/mg-templates/" . MG::getSetting('templateName') . "/images/logo.png";
echo '<img src="' . SITE . $logo . '" alt="">';
return true;
}
echo MG::layoutManager('layout_' . $layout, $data);
return true;
}
示例5: printQittance
/**
* Выводит на экран печатную форму для печати квитанции на оплату заказа.
* @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;
}
示例6: createRelatedForm
/**
* Возвращает HTML блок связанных товаров
* @param type $args
* @return type
*/
public function createRelatedForm($args, $title = 'С этим товаром покупают', $layout = 'layout_related')
{
if ($args) {
$data['title'] = $title;
$stringRelated = ' null';
$sortRelated = array();
foreach (explode(',', $args) as $item) {
$stringRelated .= ',' . DB::quote($item);
$sortRelated[$item] = $item;
}
$stringRelated = substr($stringRelated, 1);
$data['products'] = $this->getProductByUserFilter(' p.code IN (' . $stringRelated . ') and p.activity = 1 ');
if (!empty($data['products'])) {
$data['currency'] = MG::getSetting('currency');
foreach ($data['products'] as $item) {
$img = explode('|', $item['image_url']);
$item['img'] = $img[0];
$item['category_url'] = SHORT_LINK == '1' ? '' : $item['category_url'] . '/';
$item['url'] = SITE . '/' . (isset($item["category_url"]) ? $item["category_url"] : 'catalog/') . $item["product_url"];
$item['price'] = MG::priceCourse($item['price_course']);
$sortRelated[$item['code']] = $item;
}
$data['products'] = array();
//сортируем связанные товары в том порядке, в котором они идут в строке артикулов
foreach ($sortRelated as $item) {
if (!empty($item['id']) && is_array($item)) {
$data['products'][$item['id']] = $item;
}
}
$result = MG::layoutManager($layout, $data);
}
}
$args = func_get_args();
return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $result, $args);
}
示例7: _sendActivationMail
/**
* Метод отправки письма для активации пользователя.
* @param type $userEmail
* @return void
*/
private function _sendActivationMail($userEmail)
{
$userId = USER::getUserInfoByEmail($userEmail)->id;
$hash = $this->fPass->getHash($userEmail);
$this->fPass->sendHashToDB($userEmail, $hash);
$siteName = MG::getOption('sitename');
$link = '<a href="' . SITE . '/registration?sec=' . $hash . '&id=' . $userId . '" target="blank">' . SITE . '/registration?sec=' . $hash . '&id=' . $userId . '</a>';
$paramToMail = array('siteName' => $siteName, 'userEmail' => $userEmail, 'link' => $link);
$message = MG::layoutManager('email_registry', $paramToMail);
$emailData = array('nameFrom' => $siteName, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => 'Пользователю сайта ' . $siteName, 'emailTo' => $userEmail, 'subject' => 'Активация пользователя на сайте ' . $siteName, 'body' => $message, 'html' => true);
$this->fPass->sendUrlToEmail($emailData);
}
示例8: sendUnlockMail
/**
* Метод отправки письма администратору с сcылкой для отмены блокировки авторизации .
* @param type $unlockCode
* @return void
*/
private function sendUnlockMail($unlockCode)
{
$link = '<a href="' . SITE . '/enter?unlock=' . $unlockCode . '" target="blank">' . SITE . '/enter?unlock=' . $unlockCode . '</a>';
$siteName = MG::getOption('sitename');
$paramToMail = array('siteName' => $siteName, 'link' => $link);
$message = MG::layoutManager('email_unclockauth', $paramToMail);
$emailData = array('nameFrom' => $siteName, 'emailFrom' => MG::getSetting('noReplyEmail'), 'nameTo' => 'Администратору сайтй ' . $siteName, 'emailTo' => MG::getSetting('adminEmail'), 'subject' => 'Подбор паролей на сайте ' . $siteName . ' предотвращен!', 'body' => $message, 'html' => true);
if (Mailer::sendMimeMail($emailData)) {
return true;
}
return false;
}
示例9: getCategoriesHorHTML
/**
* Возвращает закэшированное горизонтальное меню категорий.
*/
public function getCategoriesHorHTML()
{
$result = Storage::get(md5('getCategoriesHorHTML'));
if ($result == null) {
$category = $this->getHierarchyCategory();
$result = MG::layoutManager('layout_horizontmenu', array('categories' => $category));
if (MG::getSetting("enabledSiteEditor") == "false") {
Storage::save(md5('getCategoriesHorHTML'), $result);
}
}
$args = func_get_args();
return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $result, $args);
}