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