Docs For Class MG

MG

Описание

Класс MG - один из базовых классов ядра системы. Содержит в себе методы которые могут быть использованы в шаблонах и плагинах, а также в контроллерах и моделях системы. Реализован в виде синглтона, что исключает многократное создание копий объектов данного класса.

Позволяет сохранять в свой реестр $_registry любые данные для дальнейшего использования в других частях программы. Запись в реестр производится так: MG::set('name',$value); Чтение из реестра производится так: MG::get('name'); Реестр рекомендуется использовать вместо глобальных переменных.

Методы класса
void activateThisPlugin() Добавляет обработчик для активации плагина, пользовательская функция будет срабатывать тогда когда в панели администрирования будет активирован плагин.
void addAction() Метод addAction добавляет обработчик для заданного хука.
string|void addAgreementCheckbox() Возвращает html код чекбокса для подтверждения пользовательского соглашения и блокирует элемент, отправляющий форму, если чекбокс не отмечен.
void addBodyClass() Добавляет класс текущего контроллера с определенным префиксом или без
bool addInformer() Формирует массив информеров для панели администрирования.
void addPriceCustomFunction() Добавляет в реестр $_priceCustomFunctions функцию для пользовательского преобразования цены.
void addShortcode() Создает shortcode и определяет пользовательскую функцию для его обработки.
bool changeRowsTable() Меняет местами параметры сортировки двух записей из заданной таблицы.
string checkProductOnStorage() Проверка наличия товаров на складах и вывод складов для выобра откуда будет самовывоз при оформлении заказа.
bool checkReCaptcha() Проверка ReCaptcha.
string checkStorageOnOrderCreate() Проверка товаров на наличие непосредственно в момент создания заказа.
void clearMergeStaticFile() Сбрасывает кэшированные файлы стилей и js из папки cache в шаблоне.
array clearProductBlock() Чистит массив от товаров с 0 количеством (используется в блоках товаров на главной и в группах 'Новинки', 'Рекомендуемые', 'Распродажа').
void cloneLocaleData() Клонирование локализации (при копировании товаров).
string contextEditor() Строит блок выпадающий по наведению на категории в меню.
float convertOldPrice() Конвертирует старую цену из валюты в валюту (используется при редактировании товара в админке).
float convertPrice() Конвертирует цену из валюты магазина в текущую выбранныю валюту (используется для мультивалютности).
void copyImagesFiles() Копирует папку с изображениями и со всеми вложенными в нее подпапками.
void createActivationHook() Создает хук activate_$folderName при активации заданного плагина.
void createDeactivationHook() Создает хук deactivate_$folderName при активации заданного плагина.
bool createFontsForStaticFile() Создает fonts для кешированных файлов стилей и js.
mixed createHook() Создает hook - крючок, для пользовательских функций и плагинов.
bool createImagesForStaticFile() Собирает все изображения упомянутые в CSS стилях плагинов для кэшированных файлов.
string createInformerPanel() Формирует верстку для панели информеров в админке.
string dateConvert() Конвертирует дату из числового представления в строковое с названием месяца.
void deactivateThisPlugin() Добавляет обработчик для ДЕактивации плагина, пользовательская функция будет срабатывать тогда когда в панели администрирования будет выключен плагин.
string declensionNum() Склонение числительных.
void decreaseCountProductOnStorage() Уменьшаем количество товаров при покупке на скаладах.
array defenderXss() Защищает от XSS атак полученный массив параметров.
string defenderXss_decode() Восстанавливает строку прошедшую защиту от xss атак через defenderXss().
void disableTemplate() Отключает вывод элементов шаблона. Нужен при работе с AJAX.
bool enabledStorage() Проверяет включены ли склады.
void enableTemplate() Включает вывод элементов шаблона. Весь контент будет выводиться внутри пользовательской темы оформления.
string genRandomWord() Генерирует случайный набор символов из допустимого набора. Используется для генерации паролей.
mixed get() Возвращает переменную из реестра.
string getBuffer() Возвращает буфер, который содержит весь, полученный в ходе работы движка, контент.
bool. getConfigIni() Получает настройки для доступа к БД из конфигурационного файла config.ini.
array getFilesR() Возвращает массив файлов по определенному пути.
string|bool getHtmlContent() Получает содержание запрашиваемой HTML страницы.
object объект getInstance() Возвращает единственный экземпляр данного класса.
string getMenu() Возвращает построенную верстку меню в HTML виде.
string|array getOption() Возвращает значение для запрошенной опции (настройки).
mixed getParameter() Защищает входящие параметры параметры и массивов $_POST, $_GET, $_REQUEST, $_FILES, $_COOKIE исключает возможность инъекции вредоносного кода.
string getPhpContent() Получить путь до пользовательского файла, создающего контент страницы.
array getPriceCustomFunctions() Возвращает реестр записей о пользовательских функциях, обрабатывающих цену.
int getProductCountOnStorage() Загрузка количества товаров со склада (Возвращает число).
string getSetting() Возвращает значение опции хранящиеся в поле value таблицы настроек mg_setting.
array getSmalCart() Возвращает данные по добавленным товарам в корзину.
array getWholesalesToCSV() Достает оптовые цены к товарам для CSV.
void increaseCountProductOnStorage() Увеличиваем количество товаров при покупке на скаладах.
void init() Инициализация настроек сайта из таблицы settings в БД.
string inlineEditor() Оборачивает публичную часть в специальный div для редактирования из публичной части.
void instalMoguta() Запускает инсталлятор CMS.
bool isAdmin() Проверяет пришел ли запрос из админки.
bool isDowntime() Метод возвращает значение опции временного закрытия сайта.
string|bool isMobileDevice() Возвращает наименование мобильного устройства, с которого происходит просмотр страницы.
string layoutManager() Метод управляющий подключением верстки для писем и HTML блоков движка.
array libExists() Функция проверяет наличие установленных библиотек PHP.
array loadCountFromStorageToCatalog() Прикрепляет количествор со склада к списку товаров.
void loadLocaleData() Загрузка локализации (при наличии соответствия на другом языке, заменяет оригинальные тексты).
array loadWholeSalesToCatalog() Загружает для каталога товаров оптовые цены.
void loger() Создает текстовый файл log_Y_m_d.txt в корневой папке сайта с отладочным содержанием. Можно использовать для логирования.
bool logReffererInfo() Сохраняет в куках информацию о текущем посетителе.
string mergeStaticFile() Соединяет все js и css стили из блока head в один файл.
string. meta() Устанавливает meta данные открытой страницы подключает системные файлы javascript.
string modalEditor() Вызывает модальное окно для редактирования сущности в публичной части сайта.
void newTableContent() Добавляет в реестр движка информацию, о новой таблице, в которой можно искать статический контент.
string nl2br() Заменяет в строке перенос строки (\r,\n) на
string numberDeFormat() Де-форматирует цену из строки в число. Убирает пробелы и запятые.
string numberFormat() Форматирует цену в читаемый вид, согласно настройке 'Формат вывода цен'.
void pageThisPlugin() Добавляет обработчик для страницы плагина.
array prepareLangData() Подготовка массива для сохранения перевода сущности из общего массива по фильтру.
string priceCourse() Форматирует цену в читаемый вид.
string printGui() Возвращает созданную движком HTML страницу, для вывода на экран.
void printNotification()
string printReCaptcha() Выводит ReCaptcha.
void printTemplate() Подключает каркасный файл template.php в используемом шаблоне.
int prioritet() Сортировка массива по полю ['priority'].
void redirect() Перенаправляет на другую страницу сайта.
void removeLocaleDataByEntity() Удаление локализации для конкретной сущности (удаление всех сущностей перевода на всех языках).
void|bool removeLocaleDataByLang() Удаление локализации по языку (все соответствия для конкретного языка).
bool resetAdminCurrency() Восстанавливает значение валюты администратора внутри админки
string restoreMsg() Получает из базы сообщение движка, заменяет константы на значения переменных и возвращает сообщение.
void rrmdir() Рекурсивно удаляет папку и содержимое.
void saveLocaleData() Сохранение локализации сущности по массиву подготовленному методом MG::prepareLangData().
void seoMeta() Задает meta-title, meta_keywords, meta_desc для запрошенной страницы.
void set() Создает переменную в реестре, в последствии доступна из любой точки программы.
void setDifinePathTemplate() Инициализирует значение константы PATH_SITE_TEMPLATE - путь до папки с шаблоном.
void setLang() установка языка отображения публичной части.
void setOption() Устанавливает значение для опции (настройки).
bool|void setSizeMapToData() Прикрепляет размерную сетку к товару.
float setWholePrice() Применяет оптовую цену к товару.
string storageMinusProduct() Уменьшает количество товаров при скаладах покупке.
array stripslashesArray() Вырезает все слэши, аналог функции отключения магических кавычек.
array templateData() Собирает массив данных, доступных в последствии в файле template.php используемого шаблона.
void templateFooter() Подключает пользовательский подвал сайта из выбранного шаблона.
string textMore() Отрезает часть строки дополняя ее многоточием.
void titlePage() Задает meta-title: заголовок страницы отображаемый во вкладке браузера.
string translitIt() Транслитирирует написания из кириллицу в латиницу.
Описание методов и примеры их использования

Метод

void activateThisPlugin (string $dirPlugin, string|array $userFunction)

Параметры

  • $dirPlugin: директория в которой хранится плагин.
  • $userFunction: пользовательская функции, которая сработает при включении плагина.

Описание

Добавляет обработчик для активации плагина, пользовательская функция будет срабатывать тогда когда в панели администрирования будет активирован плагин.

Является не обязательным атрибутом плагина, при отсутствии этого обработчика плагин тоже будет работать.

Функция обрабатывающая событие не должна производить вывод (echo, print, print_r, var_dump), это нарушит логику работы AJAX.

Пример использования

  1.  // при включении плагина, исполняет функцию 'activate' в классе плагина 'BackRing'
  2.  MG::activateThisPlugin('back-ring'array('BackRing''activate'));

Метод

void addAction (string $hookName, string $userFunction, [int $countArg = 0], [int $priority = 10])

Параметры

  • $hookName: имя хука на который вешается обработчик.
  • $userFunction: пользовательская функции, которая сработает при объявлении хука.
  • $countArg: количество аргументов, которое ждет пользовательская функция.
  • $priority: приоритет обработки.

Описание

Метод addAction добавляет обработчик для заданного хука.

пример 1:

Пример использования

  1.  //Произвольная пользовательская функция в одном из плагинов
  2.  function userfunc($color$text{
  3.    echo '<span style = "color:'.$color.'">'.$text.'</span>';
  4.  }
  5.  
  6.  // на хук с именем 'printHeader'
  7.  // вешается обработчик в виде пользовательской функция 'userPrintHeader'
  8.  // функция ждет два параметра, поэтому хук должен их задавать
  9.  MG::addAction('printHeader''userfunc'2);
  10.  
  11.  // как должен выглядеть хук
  12.  MG::createHook('printHeader''gray''text');

Варианты вызова данного метода.

Пример использования

  1.  1. MG::addAction([имя хука][имя пользовательской функции]назначает пользовательскую функцию в качестве обработчика для хука.
  2.  2. MG::addAction([имя хука][имя пользовательской функции][количество параметров для пользовательской функции]назначает пользовательскую функцию в качестве обработчика для хукапри этом указывается какое количество параметров функция ожидает от хука.
  3.  3. MG::addAction([имя хука][имя пользовательской функции][количество параметров для пользовательской функции][приоритет выполнения]назначает пользовательскую функцию в качестве обработчика для хукапри этом указывается какое количество параметров функция ожидает от хука и какой приоритет ее выполнения.

Метод

string|void addAgreementCheckbox (string $button, [array $textArr = array()], [string $mode = ''], [string $JSVarName = ''])

Параметры

  • $button: название класса элемента на который будет повешен обработчик (например класс кнопки submit)
  • $textArr: массив, содержащий текст чекбокса и текст ссылки для вывода текста пользовательского соглашения, если не передан или пустой, то заполняется значениями по умолчанию
  • $mode: режим функции(подробнее в примерах) (варианты - 'addRegistry', 'addJSVariable', 'addInlineScript' и пустой)
  • $JSVarName: переменная, содержащая чекбокс для вывода внутри javascript'а

Описание

Возвращает html код чекбокса для подтверждения пользовательского соглашения и блокирует элемент, отправляющий форму, если чекбокс не отмечен.

Варианты использования:

  1. вариант: вернет в место вызова html код и добавит обработчик в реестр

Пример использования

  1.       'класс',
  2.         array(
  3.           'text' => 'Я даю согласие на обработку моих ',
  4.           'textLink' => 'персональных данных.'
  5.         )
  6.     );

2 вариант: вызывается в конструкторе и обработчике шорткода плагина, если верстка генерируется шорткодом:

a) добавление обработчика в реестр(вызывается в конструкторе плагина)

Пример использования

  1.       MG::addAgreementCheckbox('класс'array()'addRegistry');

b) добавление чекбокса в версту формы плагина(вызывается в обработчике шорткода плагина)

Пример использования

  1.       MG::addAgreementCheckbox(
  2.         'класс',
  3.           array(
  4.             'text' => 'Я даю согласие на обработку моих ',
  5.             'textLink' => 'персональных данных'
  6.           )
  7.       );

3 вариант: запишет html код в JS переменную и добавит обработчик в реестр (вызывается в конструкторе плагина, если верстка генерируется javascript'ом)

Пример использования

  1.        'класс',
  2.        array(
  3.          'text' => 'Я даю согласие на обработку моих ',
  4.          'textLink' => 'персональных данных.'
  5.        ),
  6.        'addJSVariable',
  7.        'имя-JS-переменной'
  8.      );

4 вариант: вывод кода обработчика в месте вызова функции: (универсален, но не рекомендуется)

Пример использования

  1.        'класс',
  2.        array(
  3.          'text' => 'Я даю согласие на обработку моих ',
  4.          'textLink' => 'персональных данных.'
  5.        ),
  6.        'addInlineScript'
  7.      );

Метод

void addBodyClass ([string $prefix = ''])

Параметры

  • $prefix: префикс для класса

Описание

Добавляет класс текущего контроллера с определенным префиксом или без

Пример использования

  1.  <body class="<?php MG::addBodyClass('l-')?>">
  2.  // результат на странице товара: <body class="l-body__product">
  3.  // результат на главной странице: <body class="l-body__index">

Метод

bool addInformer (array $data)

Параметры

  • $data: - массив с входящими параметрами для инициализации информера.

Описание

Формирует массив информеров для панели администрирования.

Примеры вызова

Пример использования

  1.  MG::addInformer(array('count'=>$model->getCount(),'class'=>'comment-wrap','classIcon'=>'comment-small-icon''plugin'=>'comments''priority'=>80));
  2.  MG::addInformer(array('count'=>$model->getCount(),'class'=>'count-wrap','classIcon'=>'message-icon''plugin'=>'comments''priority'=>70));
  3.  MG::addInformer(array('count'=>$model->getCount(),'class'=>'message-wrap','classIcon'=>'product-small-icon''plugin'=>'comments''priority'=>80));

Метод

void addPriceCustomFunction (string|array $userFunction, int $priority)

Параметры

  • $userFunction: имя функции, или массив (имя класса, имя функции)
  • $priority: приоритет выполнения функции

Описание

Добавляет в реестр $_priceCustomFunctions функцию для пользовательского преобразования цены.

Пример использования

  1.  MG::addPriceCustomFunction(array($userClass$userFunction));

Метод

void addShortcode (string $hookName, string|array $userFunction, [int $priority = 10])

Параметры

  • $hookName: название шорткода.
  • $userFunction: название пользовательской функции, обработчика.
  • $priority: приоритет выполнения функции.

Описание

Создает shortcode и определяет пользовательскую функцию для его обработки.

Пример использования

  1.  // Инициализация шорткода [back-ring] - доступен в любом HTML коде движка, исполняет функцию 'handleShortCode' в классе плагина 'BackRing'
  2.  MG::addShortcode('back-ring'array('BackRing''handleShortCode'));

Метод

bool changeRowsTable (string $tablename, int $oneId, int $twoId)

Параметры

  • $tablename: название таблицы в базе (без префикса)
  • $oneId: id первой строки
  • $twoId: id второй строки

Описание

Меняет местами параметры сортировки двух записей из заданной таблицы.

Таблица обязательно должна иметь поля id и sort.

Пример использования

  1.  MG::changeRowsTable('product'515)

Метод

string checkProductOnStorage ()

Описание

Проверка наличия товаров на складах и вывод складов для выобра откуда будет самовывоз при оформлении заказа.

Пример использования

  1.    $res MG::checkProductOnStorage();
  2.    viewData($res);

Метод

bool checkReCaptcha ()

Описание

Проверка ReCaptcha.

Результат прохождения ReCaptcha должен быть в переменной $_POST['g-recaptcha-response']

Для получения результата в javascript переменную </code> <script> var recaptcha = grecaptcha.getResponse(backring_recaptcha); // где 'backring_recaptcha' - id контейнера с ReCaptcha </script> </code>

Проверка результата на сервере

Пример использования

  1.  if (MG::checkReCaptcha()) {
  2.     echo 'ok';
  3.  else {
  4.     echo 'error';
  5.  }

Метод

string checkStorageOnOrderCreate ([string $storage = 'all'])

Параметры

  • $storage: склад

Описание

Проверка товаров на наличие непосредственно в момент создания заказа.

Пример использования

  1.    $storage 'sklad1'// идентификатор склада
  2.    $res MG::checkStorageOnOrderCreate($storage);
  3.    MG::loger($res);

Метод

void clearMergeStaticFile ([string $dir = false])

Параметры

  • $dir: - путь к папке с кэшем скриптов и картинок

Описание

Сбрасывает кэшированные файлы стилей и js из папки cache в шаблоне.

Пример использования

  1.  MG::clearMergeStaticFile()// очистка кэша текущего шаблона

Метод

array clearProductBlock (array $items)

Параметры

  • $items: массив товаров блоков

Описание

Чистит массив от товаров с 0 количеством (используется в блоках товаров на главной и в группах 'Новинки', 'Рекомендуемые', 'Распродажа').

Пример использования

  1.   $items['catalogItems'MG::clearProductBlock($items['catalogItems']);

Метод

void cloneLocaleData (int $cloneId, int $newId, [string $table = ''])

Параметры

  • $cloneId: id записи в таблице
  • $newId: новый id
  • $table: таблица в БД

Описание

Клонирование локализации (при копировании товаров).

Пример использования

  1.    $cloneId 1;        // id сущности кля клонирования
  2.    $newId 15;         // новый id
  3.    $table 'product';  // табица в базе
  4.    MG::cloneLocaleData($cloneId$newId$table);

Метод

string contextEditor (string $section, string $content, string $id, string $component)

Параметры

  • $section: секция для вызова модального окна.
  • $content: содержание блока.
  • $id: сущность.
  • $component: меню категорий, либо меню страниц.

Описание

Строит блок выпадающий по наведению на категории в меню.

Метод

float convertOldPrice (string $price, string $iso, string $mode)

Параметры

  • $price: старая цена товара
  • $iso: код валюты
  • $mode: get - в верстку / set - в базу

Описание

Конвертирует старую цену из валюты в валюту (используется при редактировании товара в админке).

Пример использования

  1.   $product['old_price'MG::convertOldPrice($product['old_price']$product['currency_iso']'get');

Метод

float convertPrice (string $price)

Параметры

  • $price: старая цена товара

Описание

Конвертирует цену из валюты магазина в текущую выбранныю валюту (используется для мультивалютности).

Пример использования

  1.   $price MG::convertPrice($product['price_course']);

Метод

void copyImagesFiles (string $imageDir, string $dirCache)

Параметры

  • $imageDir: - путь к исходной папке.
  • $dirCache: - куда копировать.

Описание

Копирует папку с изображениями и со всеми вложенными в нее подпапками.

Метод

void createActivationHook (string $folderName)

Параметры

  • $folderName: название папки содержащей плагин.

Описание

Создает хук activate_$folderName при активации заданного плагина.

Предварительно подключает index.php активируемого плагина, для того, чтобы зарегистрировать его обработчики.

Пример использования

  1.  $folderName 'back-ring';
  2.  MG::createActivationHook($folderName);

Метод

void createDeactivationHook (string $folderName)

Параметры

  • $folderName: - название папки содержащей плагин.

Описание

Создает хук deactivate_$folderName при активации заданного плагина.

Предварительно подключает index.php активируемого плагина, для того, чтобы зарегистрировать его обработчики.

Пример использования

  1.  $folderName 'back-ring';
  2.  MG::createDeactivationHook($folderName);

Метод

mixed createHook (string $hookName)

Параметры

  • $hookName: параметры, которые надо защитить.

Описание

Создает hook - крючок, для пользовательских функций и плагинов.

может быть вызван несколькими способами:

Пример использования

  1.  1. createHook('userFunction')// в любом месте программы выполнится пользовательская функция userFunction() из плагина;
  2.  2. createHook('userFunction'$args)// в любом месте программы выполнится пользовательская функция userFunction($args) из плагина с параметрами;
  3.  3. return createHook('thisFunctionInUserEnviroment'$result$args)// хук прописывается перед
  4.   // возвращением результата какой либо функции,
  5.   // в качестве параметров передается результат работы текущей функции,
  6.   // и начальные параметры которые были переданы ей.

Метод

string createInformerPanel ()

Описание

Формирует верстку для панели информеров в админке.

Метод создан специально, для возможности добавления пользовательских информеров.

Метод

string dateConvert (string $date, [bool $year = false])

Параметры

  • $date: - дата в любом формате.
  • $year: - флаг для вывода года.

Описание

Конвертирует дату из числового представления в строковое с названием месяца.

Пример использования

  1.  echo MG::dateConvert('03.04.2018 14:45'true)// '3 апреля 2018'

Метод

void deactivateThisPlugin (string $dirPlugin, string|array $userFunction)

Параметры

  • $dirPlugin: директория в которой хранится плагин.
  • $userFunction: пользовательская функции, которая сработает при выключении плагина.

Описание

Добавляет обработчик для ДЕактивации плагина, пользовательская функция будет срабатывать тогда когда в панели администрирования будет выключен плагин.

>Является не обязательным атрибутом плагина, при отсутствии этого обработчика плагин тоже будет работать.

Функция обрабатывающая событие не должна производить вывод (echo, print, print_r, var_dump), это нарушит логику работы AJAX.

Пример использования

  1.  // при выключении плагина, исполняет функцию 'deactivate' в классе плагина 'deliveryCalc'
  2.  MG::activateThisPlugin('delivery-calc'array('deliveryCalc''deactivate'));

Метод

string declensionNum (int $number, array $titles)

Параметры

  • $number: - число
  • $titles: - три варианта склонений

Описание

Склонение числительных.

Пример использования

  1.  echo 'Найдено '.MG::declensionNum(5array('товар''товара''товаров'));

Метод

void decreaseCountProductOnStorage (array $product, [string $storage = 'all'])

Параметры

  • $product: товар
  • $storage: склад

Описание

Уменьшаем количество товаров при покупке на скаладах.

Пример использования

  1.    $data array(
  2.      'id' => 1,           // id
  3.      'variant_id' => 15,  // id варианта
  4.      'count' => 5         // количество товара для изменения
  5.    );
  6.    $storage 'sklad1';   // идентификатор склада
  7.    $res MG::decreaseCountProductOnStorage($data$storage);

Метод

array defenderXss (array $arr, [bool $emulMgOff = false])

Параметры

  • $arr: параметры, которые надо защитить.
  • $emulMgOff: флаг для вырезания слэшей в параметрах.

Описание

Защищает от XSS атак полученный массив параметров.

Пример использования

  1.  $array MG::defenderXss($array);
  2.  viewData($array);

Метод

string defenderXss_decode (array $string)

Параметры

  • $string: входящая строка.

Описание

Восстанавливает строку прошедшую защиту от xss атак через defenderXss().

Пример использования

  1.  $string MG::defenderXss_decode($string);
  2.  viewData($string);

Метод

void disableTemplate ()

Описание

Отключает вывод элементов шаблона. Нужен при работе с AJAX.

Пример использования

Метод

bool enabledStorage ()

Описание

Проверяет включены ли склады.

Пример использования

  1.   $res MG::enabledStorage();
  2.   var_dump($res);

Метод

void enableTemplate ()

Описание

Включает вывод элементов шаблона. Весь контент будет выводиться внутри пользовательской темы оформления.

Пример использования

  1.    MG::enableTemplate();

Метод

string genRandomWord ([int $count = 8], [string $accepted = '0987654321zyxwvutsrqponmlkjihgfedcba'])

Параметры

  • $count: длина строки
  • $accepted: допустимые символы

Описание

Генерирует случайный набор символов из допустимого набора. Используется для генерации паролей.

Пример использования

  1.  echo MG::genRandomWord(12)// 'meqvo9c6q1zaj'

Метод

mixed get ($key $key)

Параметры

  • $key: - имя переменной.

Описание

Возвращает переменную из реестра.

Пример использования

  1.    $result MG::get('category');
  2.    viewData($result);
  3.    $result MG::get('pages');
  4.    viewData($result);
  5.    $result MG::get('settings');
  6.    viewData($result);

Метод

string getBuffer (string $include, [bool $html = false], [bool $variables = false])

Параметры

  • $include: путь для подключаемого файла (вид или пользовательский файл).
  • $html: флаг вывода html контента.
  • $variables: массив переменных, которые должны быть доступны в файле вида.

Описание

Возвращает буфер, который содержит весь, полученный в ходе работы движка, контент.

Метод

bool. getConfigIni ()

Описание

Получает настройки для доступа к БД из конфигурационного файла config.ini.

При наличии в config.ini директив, создает одноименные константы, доступные далее в любом месте кода движка. HOST - хост USER - пользователь базы данных PASSWORD - пароль от базы данных NAME_BD - название базы данных PREFIX - префикс таблиц базы данных Если файл config.ini, запускает процесс инсталляции движка из папки install В этом же методе отсекается символ "/" для всех страниц сайта.

Метод

array getFilesR (string $dir, [array $extensions = array()], [bool $pathOnly = false], [bool $getFolders = false])

Параметры

  • $dir: путь к папке для сканирования
  • $extensions: массив с расширениями нужных файлов (если пустой, то возвращаются все файлы)
  • $pathOnly: при значении true возвращает только пути файлов
  • $getFolders: при значении true возвращает папки вместе с файлами

Описание

Возвращает массив файлов по определенному пути.

Пример использования

  1.   // получение всех файлов php и js в текущем шаблоне
  2.   $dir SITE_DIR.'mg-templates'.DIRECTORY_SEPARATOR.MG::getSetting('templateName');
  3.   $files MG::getFilesR($dirarray('php','js'));
  4.   viewData($files);

Пример использования

  1.   // получение только путей всех файлов и папок с картинками товаров
  2.   $dir SITE_DIR.'uploads'.DIRECTORY_SEPARATOR.'product';
  3.   $files MG::getFilesR($dirarray()truetrue);
  4.   viewData($files);

Метод

string|bool getHtmlContent ()

Описание

Получает содержание запрашиваемой HTML страницы.

Первым делом проверяет наличие информации в базе в mg_pages. Также проверяет наличие запрашиваемого физического файла в папке mg-pages.

Метод

string getMenu ([string|bool $type = false])

Параметры

  • $type: тип меню

Описание

Возвращает построенную верстку меню в HTML виде.

Метод

string|array getOption ($option $option, [$option $data = false])

Параметры

  • $option: - ключ опции optionName,
  • $data: - флаг для полного сбора данных о записи с опцией,

Описание

Возвращает значение для запрошенной опции (настройки).

Отличие от MG::get('settings') в том, что данные запрашиваются напрямую из БД. Имеет два режима:

Пример использования

  1.  1. $result1 getOption('optionName'вернет только значение;
  2.  $result1 => 'moguta.ru'
  3.  
  4.  2. $result2 getOption('optionName' trueвернет всю информацию об опции в
  5.  виде массива.
  6.  
  7.  $result2 => array(
  8.    option => 'sitename'// идентификатор опции
  9.    value  => 'moguta.ru'// значение опции
  10.    active => 'Y'// автоподгрузка опций в кэш (Y/N)
  11.    name => 'Имя сайта'// Метка для опции
  12.    desc => 'Настройка задает имя для сайта' // Описание опции
  13.  )

Метод

mixed getParameter (mixed $var)

Параметры

  • $var: входящий параметр.

Описание

Защищает входящие параметры параметры и массивов $_POST, $_GET, $_REQUEST, $_FILES, $_COOKIE исключает возможность инъекции вредоносного кода.

Пример использования

  1.  $result MG::getParameter('url');
  2.  viewData($result);

Метод

string getPhpContent ()

Описание

Получить путь до пользовательского файла, создающего контент страницы.

Файл должен находиться в папке mg-pages.

Метод

array getPriceCustomFunctions ()

Описание

Возвращает реестр записей о пользовательских функциях, обрабатывающих цену.

Пример использования

  1.  $result MG::getPriceCustomFunctions();
  2.  viewData($result);

Метод

int getProductCountOnStorage (int $count, int $productId, [int $variantId = 0], [string $storage = 'all'])

Параметры

  • $count: количество товара
  • $productId: id товара
  • $variantId: id варианта товара
  • $storage: склад

Описание

Загрузка количества товаров со склада (Возвращает число).

Пример использования

  1.    $productId 1;    // id
  2.    $variantId 15;  // id варианта
  3.    $count 5;     // количество товара для изменения
  4.    $storage 'sklad1';// идентификатор склада
  5.    $res MG::getProductCountOnStorage($count$productId$variantId$storage);
  6.    viewData($res);

Метод

string getSetting (string $option)

Параметры

  • $option: ключ соответствующий значению в поле option в таблице mg_setting.

Описание

Возвращает значение опции хранящиеся в поле value таблицы настроек mg_setting.

При вызове данного метода, обращение к таблице mg_setting не инициируется, данные берутся из реестра настроек MG::get('settings').

Пример использования

  1.    $result MG::getSetting('sitename');
  2.    viewData($result);

Метод

array getSmalCart ()

Описание

Возвращает данные по добавленным товарам в корзину.

Пример использования

  1.    $result MG::getSmalCart();
  2.    viewData($result);

Метод

array getWholesalesToCSV (int $id, [array $row = null])

Параметры

  • $id: id товара
  • $row: массив данных

Описание

Достает оптовые цены к товарам для CSV.

Пример использования

  1.   // $row - строка подготовленная для выгрузки в CSV
  2.   $row['wholesales'MG::getWholesalesToCSV($row['id']$row);

Метод

void increaseCountProductOnStorage (array $product, [string $storage = 'all'])

Параметры

  • $product: товар
  • $storage: склад

Описание

Увеличиваем количество товаров при покупке на скаладах.

Пример использования

  1.    $data array(
  2.      'id' => 1,           // id
  3.      'variant_id' => 15,  // id варианта
  4.      'count' => 5         // количество товара для изменения
  5.    );
  6.    $storage 'sklad1';   // идентификатор склада
  7.    $res MG::increaseCountProductOnStorage($data$storage);

Метод

void init ()

Описание

Инициализация настроек сайта из таблицы settings в БД.

Записывает в реестр все настройки из таблицы mg_settings, в последствии к ним осуществляется доступ из любой точки программы без обращения к БД.

Метод

string inlineEditor (string $table, string $field, int $id, string $content, [string $dir = ''])

Параметры

  • $table: таблица в базе например mg_page.
  • $field: поле в таблице, например html_content.
  • $id: номер записи в таблице.
  • $content: исходное содержание.
  • $dir: папка для картинок

Описание

Оборачивает публичную часть в специальный div для редактирования из публичной части.

Необходимо задать параметры редактируемого поля в таблице БД.

Метод

bool isDowntime ()

Описание

Метод возвращает значение опции временного закрытия сайта.

Пример использования

Метод

string|bool isMobileDevice ()

Описание

Возвращает наименование мобильного устройства, с которого происходит просмотр страницы.

Пример использования

  1.  echo MG::isMobileDevice();

Метод

string layoutManager (string $layout, array $data)

Параметры

  • $layout: название файла с версткой,
  • $data: массив переменных, которые будут доступны в layout,

Описание

Метод управляющий подключением верстки для писем и HTML блоков движка.

Также может быть использован для подключение пользовательских файлов из папки layouts/ действующего шаблона.

Пример использования

  1.       <?php MG::layoutManager('layout_cart')?>      // корзина
  2.       <?php MG::layoutManager('layout_auth')?>      // личный кабинет
  3.       <?php MG::layoutManager('layout_widget')?>    // виджеты и коды счетчиков
  4.       <?php MG::layoutManager('layout_compare')?>   // информер товаров для сравнения
  5.       <?php MG::layoutManager('layout_content')?>   // содержание открытой страницы
  6.       <?php MG::layoutManager('layout_leftmenu')?>  // левое меню с категориями
  7.       <?php MG::layoutManager('layout_topmenu')?>   // верхнее горизонтальное меню
  8.       <?php MG::layoutManager('layout_contacts')?>  // контакты в шапке
  9.       <?php MG::layoutManager('layout_search')?>    // форма для поиска
  10.       <?php MG::layoutManager('layout_content')?>   // вывод контента сгенерированного движком

Метод

array loadCountFromStorageToCatalog (array $catalog, [string $storage = 'all'])

Параметры

  • $catalog: список товаров
  • $storage: склад

Описание

Прикрепляет количествор со склада к списку товаров.

Пример использования

  1.    $model new Models_Product;
  2.    $data $model->getProductByUserFilter('cat_id = 1');
  3.    $res MG::loadCountFromStorageToCatalog($data);
  4.    viewData($res);

Метод

void loadLocaleData (int $id_ent, string $locale, string $table,  &$data, array $data)

Параметры

  • $id_ent: id записи в таблице
  • $locale: локаль
  • $table: таблица в БД
  • $data: массив данных (ссылка)

Описание

Загрузка локализации (при наличии соответствия на другом языке, заменяет оригинальные тексты).

Пример использования

  1.    // $data - массив с исходными данными из любой таблицы
  2.    $id_ent $data['id']// идентификатор записи
  3.    $table 'product';    // таблица для перевода
  4.    $locale LANG;        // LANG глобальная дирректива хранящая выбранный язык
  5.    MG::loadLocaleData($id_ent$locale$table&$data);

Метод

array loadWholeSalesToCatalog (array $data)

Параметры

  • $data: массив выдаваемый например методом catalog::getProductByUserFilter()

Описание

Загружает для каталога товаров оптовые цены.

Пример использования

  1.    $model new Models_Product;
  2.    $data $model->getProductByUserFilter('cat_id = 1');
  3.    $res MG::loadWholeSalesToCatalog($data);
  4.    viewData($res);

Метод

void loger (string|array $text, [string $mode = 'a+'])

Параметры

  • $text: текст лога.
  • $mode: режим записи.

Описание

Создает текстовый файл log_Y_m_d.txt в корневой папке сайта с отладочным содержанием. Можно использовать для логирования.

Пример использования

  1.  MG::loger("Любая строка");
  2.  MG::loger($var);
  3.  MG::loger($array)// для вывода в файл массива и полей объектов

Метод

bool logReffererInfo ()

Описание

Сохраняет в куках информацию о текущем посетителе.

с какой рекламной площадки пришел впервые, с какой рекламной площадки пришел и совершил покупку.

Метод

string mergeStaticFile (string $head, string $out)

Параметры

  • $head: - HTML содержимое тега head
  • $out: - тип выходного файла

Описание

Соединяет все js и css стили из блока head в один файл.

Метод

string. meta ([array $mode = array('meta'=>true,'css'=>true,'js'=>true,'jquery'=>true)])

Параметры

  • $mode: массив с указанием, какие мета данные подключать (meta(seo), css, js, jquery)

Описание

Устанавливает meta данные открытой страницы подключает системные файлы javascript.

Метод

string modalEditor (string $section, string $content, string $type, string $id)

Параметры

  • $section: секция для вызова модального окна.
  • $content: содержание блока.
  • $type: тип модального окна.
  • $id: сущность

Описание

Вызывает модальное окно для редактирования сущности в публичной части сайта.

Метод

void newTableContent (string $table,  $contentField)

Параметры

  • $table: наименование поля в таблице с контентом.

Описание

Добавляет в реестр движка информацию, о новой таблице, в которой можно искать статический контент.

Метод

string nl2br (string $string)

Параметры

  • $string: входная строка

Описание

Заменяет в строке перенос строки (\r,\n) на

Пример использования

  1.  echo MG::nl2br("строка1 \n строка2")// 'строка1 <br /> строка2'

Метод

string numberDeFormat (string $str)

Параметры

  • $str: - строка с форматированной ценой.

Описание

Де-форматирует цену из строки в число. Убирает пробелы и запятые.

Пример использования

  1.  echo MG::numberDeFormat('76 543,21')// '76543.21'

Метод

string numberFormat (string $str, [string|null $type = null])

Параметры

  • $str: строковое значение цены.
  • $type: формат вывода (если используется, то заменяет настройку 'Формат вывода цен').

Описание

Форматирует цену в читаемый вид, согласно настройке 'Формат вывода цен'.

Пример использования

  1.  echo MG::numberFormat('76543.21''1 234,56')// '76 543,21'

Метод

void pageThisPlugin (string $plugin, string|array $userFunction)

Параметры

  • $plugin: название папки в которой лежит плагин.
  • $userFunction: пользовательская функции, которая сработает при открытии страницы настроек данного плагина.

Описание

Добавляет обработчик для страницы плагина.

Назначенная в качестве обработчика пользовательская функция. будет, отрисовывать страницу настроек плагина.

Пример использования

  1.  // при открытии страницы плагина, исполняет функцию 'pageSettingsPlugin' в классе плагина 'BackRing'
  2.  MG::pageThisPlugin('back-ring'array('BackRing''pageSettingsPlugin'));

Метод

array prepareLangData ( &$data, array $filter, [string $lang = 'default'], array $data)

Параметры

  • $data: массив данных
  • $filter: параметры фильтрации масива
  • $lang: локаль

Описание

Подготовка массива для сохранения перевода сущности из общего массива по фильтру.

Пример использования

  1.   $entryArray array('url' => '/template/url/''title' => 'Тайтл','content' => 'Содержимое страницы''activity' => 1);
  2.   $filter array('title''content');
  3.   $preparedArray MG::prepareLangData($entryArray$filter'en');

Метод

string priceCourse (string $price, [bool $format = true], [bool $useFloat = null])

Параметры

  • $price: цена.
  • $format: нужно форматировать или нет.
  • $useFloat: округлять до целых.

Описание

Форматирует цену в читаемый вид.

Пример использования

  1.  echo MG::priceCourse('76543.21'truetrue)// '76 543'

Метод

string printGui (mixed $data)

Параметры

  • $data: - массив с данными для вывода контента.

Описание

Возвращает созданную движком HTML страницу, для вывода на экран.

Имеет четыре типа вывода: -представление из MVC; -пользовательский php Файл из mg-pages; -статическая HTML страница из БД; -страница 404 ошибки из пользовательского шаблона.

Метод

string printReCaptcha ([bool $autoinit = true])

Параметры

  • $autoinit: автоинициализация

Описание

Выводит ReCaptcha.

Пример использования

  1.  echo MG::printReCaptcha()// для инициализации в момент загрузки страницы
  2.  
  3.  echo MG::printReCaptcha(false)// для отложенной инициализации через javascript
  4.  
  5.  <script// пример инициализации ReCaptcha через javascript
  6.   $('.wrapper-modal-back-ring').find('.g-recaptcha-template').attr('id''backring_recaptcha');
  7.   var skey = $('#backring_recaptcha').data('sitekey');
  8.   backring_recaptcha grecaptcha.render('backring_recaptcha'{
  9.       sitekeyskey
  10.   });
  11.   $('.wrapper-modal-back-ring').find('.g-recaptcha-template').removeAttr('id');
  12.  </script>

Метод

void printTemplate ($content $content)

Параметры

  • $content: - содержание страницы для вывода в шаблоне.

Описание

Подключает каркасный файл template.php в используемом шаблоне.

Если файла template.php в текущем шаблоне нет, то подключается стандартный шаблона .default; Если пользователь авторизован как администратор или модератор, подключается панель для перехода в админку.

Метод

int prioritet (array $a, array $b)

Параметры

  • $a: первый массив
  • $b: второй массив

Описание

Сортировка массива по полю ['priority'].

Метод

void redirect (string $location, [string $redirect = ''])

Параметры

  • $location: ссылка на перенаправляемую страницу.
  • $redirect: тип редиректа 301, 302, и т.п.

Описание

Перенаправляет на другую страницу сайта.

Метод

void removeLocaleDataByEntity ([int $ent = ''], [string $table = ''])

Параметры

  • $ent: id записи в таблице
  • $table: таблица в БД

Описание

Удаление локализации для конкретной сущности (удаление всех сущностей перевода на всех языках).

Пример использования

  1.    $ent 1;            // id сущности для удаления
  2.    $table 'ptoduct';  // таблица
  3.    MG::removeLocaleDataByEntity($ent$table);

Метод

void|bool removeLocaleDataByLang ([string $lang = 'none'])

Параметры

  • $lang: локаль для удаления

Описание

Удаление локализации по языку (все соответствия для конкретного языка).

Пример использования

  1.    $lang 'en'// язык для удаления
  2.    MG::removeLocaleDataByLang($lang);

Метод

string restoreMsg (string $name, [array $changes = array()])

Параметры

  • $name: название сообщения в таблице
  • $changes: массив вида "константа" => "значение переменной"

Описание

Получает из базы сообщение движка, заменяет константы на значения переменных и возвращает сообщение.

Метод

void rrmdir (string $dir, [bool $deleteFolders = true])

Параметры

  • $dir: путь к папке для удаления
  • $deleteFolders: удалять сами папки

Описание

Рекурсивно удаляет папку и содержимое.

Пример использования

  1.   // удалить все картинки первой сотни товаров, но оставить папки
  2.   $dir SITE_DIR.'uploads'.DIRECTORY_SEPARATOR.'product'.DIRECTORY_SEPARATOR.'000';
  3.   MG::rrmdir($dirfalse);

Метод

void saveLocaleData (int $id_ent, string $locale, string $table, array $data)

Параметры

  • $id_ent: id записи в таблице
  • $locale: локаль
  • $table: таблица в БД
  • $data: результат работы медота MG::prepareLangData();

Описание

Сохранение локализации сущности по массиву подготовленному методом MG::prepareLangData().

Пример использования

  1.  $entryArray array('url' => '/template/url/''title' => 'Тайтл','content' => 'Содержимое страницы''activity' => 1);
  2.   $filter array('title''content');
  3.   $preparedArray MG::prepareLangData($entryArray$filter'en');
  4.   MG::savelocaleData(12'en''product'$preparedArray);

Метод

void seoMeta (array $data)

Параметры

  • $data: массив с SEO данными.

Описание

Задает meta-title, meta_keywords, meta_desc для запрошенной страницы.

Пример использования

  1.  MG::seoMeta(array('meta_title' => 'title''meta_keywords' => 'keywords''meta_desc' => 'description'));

Метод

void set ($key $key, $object $object)

Параметры

  • $key: - имя переменной.
  • $object: - значение переменной.

Описание

Создает переменную в реестре, в последствии доступна из любой точки программы.

Пример использования

  1.   MG::set('ключ''значение');

Метод

void setDifinePathTemplate ([$type $type = 'template'], [$template $template = 'default'])

Параметры

  • $type: тип шаблона
  • $template: папка с шаблоном в mg-templates/.

Описание

Инициализирует значение константы PATH_SITE_TEMPLATE - путь до папки с шаблоном.

Метод

void setOption (array|string $option, [string $value = ''])

Параметры

  • $option: - может содержать значения для полей таблицы mg_setting или идентификатор опции.
  • $value: - если переменная $option содержит идентификатор опции, то $value содержит значение опции.

Описание

Устанавливает значение для опции (настройки).

Пример использования

  1.  $option array(
  2.    option => 'sitename'// идентификатор опции
  3.    value  => 'moguta.ru'// значение опции
  4.    active => 'Y'// автоподгрузка опций в кэш (Y/N)
  5.    name => 'Имя сайта'// Метка для опции
  6.    desc => 'Настройка задает имя для сайта' // Описание опции
  7.  )
  8.  MG::setOption($data);
  9.  // или
  10.  MG::setOption('sitename''moguta.ru');

Метод

bool|void setSizeMapToData ( &$data, array $data)

Параметры

  • $data: массив данных (ссылка)

Описание

Прикрепляет размерную сетку к товару.

Пример использования

  1.   setSizeMapToData($data)// массив товара из буличной части товара

Метод

float setWholePrice (float $price, int $productId, [int $count = 0], [int $variantId = 0])

Параметры

  • $price: цена
  • $productId: id товара
  • $count: количество
  • $variantId: id варианта товара

Описание

Применяет оптовую цену к товару.

Пример использования

  1.   $price 1500;    // обычная цена
  2.   $productId 2;   // id товара
  3.   $count 5;       // количество товара
  4.   $variantId 15;  // вариант товара
  5.   $price MG::setWholePrice($price$productId$count$variantId);

Метод

string storageMinusProduct ([string $storage = 'all'])

Параметры

  • $storage: склад

Описание

Уменьшает количество товаров при скаладах покупке.

Пример использования

  1.    $storage 'sklad1';   // идентификатор склада
  2.    $res MG::storageMinusProduct($data);

Метод

array stripslashesArray (string|array $array)

Параметры

  • $array: строка или массив в котором надо удалить слэши.

Описание

Вырезает все слэши, аналог функции отключения магических кавычек.

Пример использования

  1.  $array MG::stripslashesArray($array);
  2.  viewData($array);

Метод

array templateData (array $content)

Параметры

  • $content: содержимое

Описание

Собирает массив данных, доступных в последствии в файле template.php используемого шаблона.

Метод

void templateFooter ([array|null $data = null])

Параметры

  • $data: данные для использовании в футере сайта

Описание

Подключает пользовательский подвал сайта из выбранного шаблона.

Если футер в текущем шаблоне отсутствует поставляется стандартный код из шаблона .default;

Метод

string textMore (string $text, [int $length = 240], [bool $stripTags = true])

Параметры

  • $text: входящая строка
  • $length: количество символов
  • $stripTags: удалять html теги и шорткоды

Описание

Отрезает часть строки дополняя ее многоточием.

Пример использования

  1.  $text 'описание товара';
  2.  $text MG::textMore($text8// 'описание...'

Метод

void titlePage (string $title)

Параметры

  • $title: - заголовок.

Описание

Задает meta-title: заголовок страницы отображаемый во вкладке браузера.

Инициализирует хук mg_titlepage, чтобы обработать его пользовательской функцией нужно добавить обработчик:

Пример использования

  1.  MG::titlePage('title');
Пример автоматического изменения title находится в файле functions.php дефолного шаблона.

Метод

string translitIt (string $str, [int $mode = 0])

Параметры

  • $str: переводимая строка.
  • $mode: флаг для замены символа / на -.

Описание

Транслитирирует написания из кириллицу в латиницу.

Пример использования

  1.  MG::translitIt('строка');