Docs For Class PM

PM

Описание

Класс PM - плагин-менеджер, управляет плагинам и регистрирует их. Устанавливает взаимодействие пользовательских функций с системой.

Методы класса
bool checkPluginsUpdate() Проверяет наличие обновлений для плагинов и записывает результат в базу данных.
array createHook() Инициализирует то или иное событие в коде программы, сообщая об этом всем зарегистрированных обработчикам.
void delete() Удаляет из реестра данные об обработчике.
bool deletePlagin() Удаление информации о плагине из БД.
string doShortcode() Ищет в контексте шорткоды и запускает их обработчики.
array doShortcodeTag() Проверка разобранных частей для передачи в обработчик хука.
array downloadPlugin() Метод валидации загружаемого плагина.
bool extractPluginZip() Распаковка плагина при установке через панель администрирования.
void failtureUpdate() Обновляет информацию о плагине, в случае неуспешного обновления файлов.
string getFolderPlugin() Получает название папки в которой хранится плагин.
object - getInstance() Возвращает единственный экземпляр данного класса.
array getListNameHooks() Возвращает массив названий зарегистрированных хуков.
array getListShortCode() Возвращает массив названий шорткодов.
array getPluginDir() Получает актуальный путь для обновления плагина.
array getPluginsInfo() Считывает информацию обо всех плагинах в директории PLUGIN_DIR.
string getShortcodeRegex() Возвращает шаблон для поиска по регулярному выражению.
void includePluginInFolder() Подключает один конкретный плагин хранящийся в выбранной директории.
void includePlugins() Подключает все плагины соответствующие требованиям.
void init() Инициализирует объект данного класса.
bool. isHookInReg() Проверяет зарегистрирован ли хук.
array plugLocales() Добавляет локаль плагина, если она есть в папке /locales текущего плагина $pluginName.
int prioritet() Вычисляет приоритетность пользовательских функций, назначенных на обработку одного и того же события.
array|null readInfo() Считывает информацию о конкретном плагине.
void registration() Регистрирует обработчик для действия, занося его в реестр обработчиков.
array shortcodeParseAttrs() Возвращает список атрибутов внутри шорткода.
int sortByActivity() Функция для сортировки плагинов по активности.
int sortByPluginName() Функция для сортировки плагинов по алфавиту.
string stripShortcodes() Очищает контент от всех шорткодов.
string stripShortcodeTag() Вырезает все указанные шорткоды.
bool updatePlugin() Обновление плагина.
Описание методов и примеры их использования

Метод

bool checkPluginsUpdate ([array $plugins = array()])

Параметры

  • $plugins: массив вида: плагин=>версия

Описание

Проверяет наличие обновлений для плагинов и записывает результат в базу данных.

Метод

array createHook (string $hookName, array $arg, [bool $result = false])

Параметры

  • $hookName: название события.
  • $arg: массив аргументов.
  • $result: флаг, определяющий, должна ли пользовательская функция вернуть результат для дальнейшей работы в месте инициализации события.

Описание

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

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

Метод

void delete (Hook $eventHook)

Параметры

  • $eventHook: объект содержащий информацию об обработчике и событии.

Описание

Удаляет из реестра данные об обработчике.

Метод

bool deletePlagin (string $pluginFolder)

Параметры

  • $pluginFolder: имя плагина

Описание

Удаление информации о плагине из БД.

Метод

string doShortcode (string $content)

Параметры

  • $content: - строка для поиска в ней шорткодов.

Описание

Ищет в контексте шорткоды и запускает их обработчики.

Если шотркод не определен или его плагин отключен, он будет возвращен без обработки.

Метод

array doShortcodeTag (array $m)

Параметры

  • $m: массив полученный регулярным выражением

Описание

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

Метод

array downloadPlugin (array $file_array)

Параметры

  • $file_array: - массив данных загружаемого плагина

Описание

Метод валидации загружаемого плагина.

Метод

bool extractPluginZip (string $archiveFile, [string $pluginName = ''])

Параметры

  • $archiveFile: - путь до файла с плагином
  • $pluginName: - название папки плагина

Описание

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

Метод

void failtureUpdate (array $plugin, array $version)

Параметры

  • $plugin: название плагина.
  • $version: версия плагина.

Описание

Обновляет информацию о плагине, в случае неуспешного обновления файлов.

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

Метод

string getFolderPlugin (string $dir)

Параметры

  • $dir: - директория в которой хранится плагин.

Описание

Получает название папки в которой хранится плагин.

Метод

array getListShortCode ()

Описание

Возвращает массив названий шорткодов.

Все хуки для шорткодов начинаются с префикса "shortcode_".

Метод

array getPluginDir (array $pluginName)

Параметры

  • $pluginName: название плагина

Описание

Получает актуальный путь для обновления плагина.

Метод

string getShortcodeRegex ()

Описание

Возвращает шаблон для поиска по регулярному выражению.

Регулярное выражение содержит 6 различных частей, для обеспечения разбора контента, которые ищут:

  1. - Открывающую скобку [ исключая вложения их друг в друга [[]];
  2. - Название шорткода;
  3. - Список аргументов;
  4. - Закрывающий слеш /;
  5. - Содержимое шорткода, между тегами;
  6. - Закрывающую скобку [ исключая вложения их друг в друга [[]];

Метод

void includePluginInFolder (string $folderName)

Параметры

  • $folderName: - наименование папки плагина.

Описание

Подключает один конкретный плагин хранящийся в выбранной директории.

Метод

void includePlugins ()

Описание

Подключает все плагины соответствующие требованиям.

  • Все плагины должны содержаться в каталоге mg-plugins/;
  • Название папки содержащей плагин, может быть любым;
  • Если в папке плагина есть файл index.php и в первом блоковом комментарии он содержит хотябы один из доступных параметров PluginName , то плагин будет подключен. Пример мета информации в index.php

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

    1.      Plugin NameHello World
    2.      Plugin URIhttp://moguta.ru/plugins/HelloWorld/
    3.      DescriptionПлагин для демонстрации функционала
    4.      AuthormogutaTeam
    5.      Version1.0

Метод

bool. isHookInReg (string $hookname)

Параметры

  • $hookname: имя хука, который надо проверить на регистрацию.

Описание

Проверяет зарегистрирован ли хук.

Метод

array plugLocales ($pluginName $pluginName)

Параметры

  • $pluginName: название плагина.

Описание

Добавляет локаль плагина, если она есть в папке /locales текущего плагина $pluginName.

Метод

int prioritet ($a $a, $b $b)

Параметры

  • $a: - приоритет текущей функции.
  • $b: - приоритет предыдущей функции usort в методе 'PM::createHook'.

Описание

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

Используется для сравнения приоритетов в функции.

Метод

array|null readInfo (string $folderName)

Параметры

  • $folderName: путь к папке с файлом index.php плагина

Описание

Считывает информацию о конкретном плагине.

Метод

void registration (Hook $eventHook)

Параметры

  • $eventHook: объект содержащий информацию об обработчике и событии.

Описание

Регистрирует обработчик для действия, занося его в реестр обработчиков.

Метод

array shortcodeParseAttrs (string $text)

Параметры

  • $text: строка шорткода с параметрами

Описание

Возвращает список атрибутов внутри шорткода.

в виде массива пар - {ключ:значение}

Метод

int sortByActivity ($a $a, $b $b)

Параметры

  • $a: - активность текущего плагина.
  • $b: - активность предыдущего плагина (usort в методе 'PM::getPluginsInfo').

Описание

Функция для сортировки плагинов по активности.

Метод

int sortByPluginName ($a $a, $b $b)

Параметры

  • $a: название первого плагина.
  • $b: название второго плагина.

Описание

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

Метод

string stripShortcodes (string $content)

Параметры

  • $content: строка с шорткодами.

Описание

Очищает контент от всех шорткодов.

Метод

string stripShortcodeTag (array $m)

Параметры

  • $m: массив с шорткодами.

Описание

Вырезает все указанные шорткоды.

Метод

bool updatePlugin ( $pluginName, string $folder, string $version, string $pluginFolder)

Параметры

  • $pluginFolder: имя плагина
  • $folder: папка плагина
  • $version: версия

Описание

Обновление плагина.