Класс PM - плагин-менеджер, управляет плагинам и регистрирует их. Устанавливает взаимодействие пользовательских функций с системой.
array | plugLocales() | Добавляет локаль плагина, если она есть в папке /locales текущего плагина $pluginName. |
object | getInstance() | Возвращает единственный экземпляр данного класса. |
array | getListShortCode() |
Возвращает массив названий шорткодов. Все хуки для шорткодов начинаются с префикса "shortcode_". |
array | getListNameHooks() | Возвращает массив названий зарегистрированных хуков. |
bool. | isHookInReg() | Проверяет зарегистрирован ли хук. |
void | init() | Инициализирует объект данного класса. |
void | registration() | Регистрирует обработчик для действия, занося его в реестр обработчиков. |
void | delete() | Удаляет из реестра данные об обработчике. |
int | prioritet() |
Вычисляет приоритетность пользовательских функций, назначенных на обработку одного и того же события. Используется для сравнения приоритетов в функции. |
void | includePlugins() |
Подключает все плагины соответствующие требованиям. - Все плагины должны содержаться в каталоге mg-plugins/; - Название папки содержащей плагин, может быть любым; - Если в папке плагина есть файл index.php и в первом блоковом комментарии он содержит хотябы один из доступных параметров PluginName , то плагин будет подключен. Пример мета информации в index.php
Plugin Name: Hello World |
string | includePluginInFolder() | Подключает один конкретный плагин хранящийся в выбранной директории. |
array | getPluginsInfo() | Считывает информацию обо всех плагинах в директории PLUGIN_DIR. |
int | sortByActivity() | Функция для сортировки плагинов по активности. |
int | sortByPluginName() | Функция для сортировки плагинов по алфавиту. |
array|null | readInfo() | Считывает информацию о конкретном плагине. |
array|null | readTemplateInfo() | Считывает информацию о конкретном шаблоне. |
string | getFolderPlugin() | Получает название папки в которой хранится плагин. |
string | doShortcode() |
Ищет в контексте шорткоды и запускает их обработчики. Если шотркод не определен или его плагин отключен, он будет возвращен без обработки. |
string | getShortcodeRegex() |
Возвращает шаблон для поиска по регулярному выражению. Регулярное выражение содержит 6 различных частей, для обеспечения разбора контента, которые ищут: 1 - Открывающую скобку [ исключая вложения их друг в друга [[]]; 2 - Название шорткода; 3 - Список аргументов; 4 - Закрывающий слеш /; 5 - Содержимое шорткода, между тегами; 6 - Закрывающую скобку [ исключая вложения их друг в друга [[]]; |
array | doShortcodeTag() | Проверка разобранных частей для передачи в обработчик хука. |
array | createHook() |
Инициализирует то или иное событие в коде программы, сообщая об этом всем зарегистрированных обработчикам. Если существуют обработчики назначенные на данное событие, то запускает их пользовательские функции, в порядке очереди определенной приоритетами. |
array | shortcodeParseAttrs() |
Возвращает список атрибутов внутри шорткода. в виде массива пар - {ключ:значение} |
string | stripShortcodes() | Очищает контент от всех шорткодов. |
string | stripShortcodeTag() | Вырезает все указанные шорткоды. |
'msg' | downloadPlugin() |
Метод валидации загружаемого плагина. |
bool | extractPluginZip() | Распаковка плагина при установке через панель администрирования. |
array | getPluginDir() | Получает актуальный путь для обновления плагина. |
void | failtureUpdate() |
Обновляет информацию о плагине, в случае неуспешного обновления файлов. Возвращает информацию о версиях плагинов в состояние, которое было до попытки обновления. |
bool | checkPluginsUpdate() | Проверяет наличие обновлений для плагинов и записывает результат в базу данных. |
bool | deletePlagin() | Удаление информации о плагине из БД и удаление папки. |
bool | updatePlugin() | Обновление плагина. |
bool | hookExists() | Проверка добавлен ли обработчик хука. |
bool|array | classInfo() | Проверяет подключение плагина и возвращает данные о плагине обернутые в дата атрибут. |
Метод
array plugLocales ($pluginName)
Параметры
Описание
Добавляет локаль плагина, если она есть в папке /locales текущего плагина $pluginName.
Метод
array getListShortCode ()
Описание
Возвращает массив названий шорткодов.
Все хуки для шорткодов начинаются с префикса "shortcode_".
Метод
bool. isHookInReg (string $hookname)
Параметры
Описание
Проверяет зарегистрирован ли хук.
Метод
registration (Hook $eventHook)
Параметры
Описание
Регистрирует обработчик для действия, занося его в реестр обработчиков.
Метод
delete (Hook $eventHook)
Параметры
Описание
Удаляет из реестра данные об обработчике.
Метод
int prioritet ($a, $b)
Параметры
Описание
Вычисляет приоритетность пользовательских функций, назначенных на обработку одного и того же события.
Используется для сравнения приоритетов в функции.
Метод
void includePlugins ()
Описание
Подключает все плагины соответствующие требованиям.
- Все плагины должны содержаться в каталоге mg-plugins/;
- Название папки содержащей плагин, может быть любым;
- Если в папке плагина есть файл index.php и в первом блоковом комментарии
он содержит хотябы один из доступных параметров PluginName ,
то плагин будет подключен.
Пример мета информации в index.php
Plugin Name: Hello World
Plugin URI: https://moguta.ru/plugins/HelloWorld/
Description: Плагин для демонстрации функционала
Author: mogutaTeam
Version: 1.0
Метод
string includePluginInFolder (string $folderName)
Параметры
Описание
Подключает один конкретный плагин хранящийся в выбранной директории.
Метод
array getPluginsInfo ()
Описание
Считывает информацию обо всех плагинах в директории PLUGIN_DIR.
Метод
int sortByActivity ($a, $b)
Параметры
Описание
Функция для сортировки плагинов по активности.
Метод
int sortByPluginName ($a, $b)
Параметры
Описание
Функция для сортировки плагинов по алфавиту.
Метод
array|null readInfo (string $folderName, bool $fromTemplate)
Параметры
Описание
Считывает информацию о конкретном плагине.
Метод
array|null readTemplateInfo (string $folderName)
Параметры
Описание
Считывает информацию о конкретном шаблоне.
Метод
string getFolderPlugin (string $dir)
Параметры
Описание
Получает название папки в которой хранится плагин.
Метод
string doShortcode (string $content)
Параметры
Описание
Ищет в контексте шорткоды и запускает их обработчики.
Если шотркод не определен или его плагин отключен, он будет возвращен без обработки.
Метод
string getShortcodeRegex ()
Описание
Возвращает шаблон для поиска по регулярному выражению.
Регулярное выражение содержит 6 различных частей,
для обеспечения разбора контента, которые ищут:
1 - Открывающую скобку [ исключая вложения их друг в друга [[]];
2 - Название шорткода;
3 - Список аргументов;
4 - Закрывающий слеш /;
5 - Содержимое шорткода, между тегами;
6 - Закрывающую скобку [ исключая вложения их друг в друга [[]];
Метод
array doShortcodeTag (array $m, $first = false, $recursionStart = false)
Параметры
Описание
Проверка разобранных частей для передачи в обработчик хука.
Метод
array createHook (string $hookName, array $arg, bool $result = false, $first = false, $recursionStart = false)
Параметры
Описание
Инициализирует то или иное событие в коде программы,
сообщая об этом всем зарегистрированных обработчикам.
Если существуют обработчики назначенные на данное событие,
то запускает их пользовательские функции, в порядке очереди
определенной приоритетами.
Метод
array shortcodeParseAttrs ()
Параметры
Описание
Возвращает список атрибутов внутри шорткода.
в виде массива пар - {ключ:значение}
Метод
string stripShortcodes (string $content)
Параметры
Описание
Очищает контент от всех шорткодов.
Метод
string stripShortcodeTag (array $m)
Параметры
Описание
Вырезает все указанные шорткоды.
Метод
'msg' downloadPlugin (array $file_array)
Параметры
Описание
Метод валидации загружаемого плагина.
Метод
bool extractPluginZip (string $archiveFile, string $pluginName)
Параметры
Описание
Распаковка плагина при установке через панель администрирования.
Метод
array getPluginDir (array $pluginName)
Параметры
Описание
Получает актуальный путь для обновления плагина.
Метод
void failtureUpdate (array $plugin, array $version)
Параметры
Описание
Обновляет информацию о плагине, в случае неуспешного обновления файлов.
Возвращает информацию о версиях плагинов в состояние, которое было до попытки обновления.
Метод
bool checkPluginsUpdate (array $plugins)
Параметры
Описание
Проверяет наличие обновлений для плагинов и записывает результат в базу данных.
Метод
bool deletePlagin (string $pluginFolder)
Параметры
Описание
Удаление информации о плагине из БД и удаление папки.
Метод
bool updatePlugin (string $pluginFolder, string $folder, string $version)
Параметры
Описание
Обновление плагина.