Описание функции cot_plugin_active.
Функция cot_plugin_active предназначена для проверки, установлен ли и активен ли плагин в системе на основе кода расширения (плагина).
Код функции cot_plugin_active
/**
* Checks if a plugin is currently installed and active
*
* @param string $extensionCode Plugin code
* @return bool
*/
function cot_plugin_active($extensionCode)
{
if (empty($extensionCode)) {
return false;
}
return ExtensionsService::getInstance()
->isActive($extensionCode, ExtensionsDictionary::TYPE_PLUGIN);
}
Параметры:
$extensionCode (string): Код плагина, который необходимо проверить. Это строка, идентифицирующая конкретный плагин в системе.
Возвращаемое значение:
bool:
true, если плагин установлен и активен.
false, если плагин не установлен, не активен или передан пустой код.
Логика работы:
Проверка на пустой код:
Если переданный код расширения ($extensionCode) пуст, функция немедленно возвращает false.
Получение экземпляра сервиса расширений:
Вызов метода ExtensionsService::getInstance() создает или получает экземпляр класса, управляющего расширениями системы.
Проверка активности плагина:
Метод isActive($extensionCode, ExtensionsDictionary::TYPE_PLUGIN) проверяет, активен ли указанный плагин. В качестве второго параметра передается тип расширения, который в данном случае указывает на то, что проверяется именно плагин (не модуль или другое расширение).
Примеры использования:
if (cot_plugin_active('comments')) {
require_once cot_incfile('comments', 'plug');
}
$pluginCode = 'my_plugin';
if (cot_plugin_active($pluginCode)) {
echo "Плагин '$pluginCode' активен.";
} else {
echo "Плагин '$pluginCode' не активен или не установлен.";
}
Заключение:
Функция cot_plugin_active предоставляет простой способ проверить, активен ли плагин в системе. Она использует сервис управления расширениями, что позволяет централизованно проверять состояние плагинов, модулей или других расширений в системе.