<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* MaxSite CMS
* (c) https://max-3000.com/
*
*/
/**
* загружаем включенные плагины
*
* @return void
*/
function mso_autoload_plugins()
{
global $MSO;
// функция mso_autoload_custom может быть в mso_config.php
if (function_exists('mso_autoload_custom')) mso_autoload_custom();
$d = mso_get_option('active_plugins', 'general');
if (!$d) $d = $MSO->active_plugins;
foreach ($d as $load) {
mso_plugin_load($load);
}
}
/**
* подключение плагина
*
* @param mixed $plugin
*
* @return void
*/
function mso_plugin_load($plugin = '')
{
global $MSO;
$fn_plugin = $MSO->config['plugins_dir'] . $plugin . '/index.php';
if (!file_exists($fn_plugin)) {
return false;
} else {
//_mso_profiler_start($plugin);
require_once $fn_plugin;
$auto_load = $plugin . '_autoload';
if (function_exists($auto_load)) $auto_load();
//_mso_profiler_end($plugin);
// добавим плагин в список активных
$MSO->active_plugins[] = $plugin;
$MSO->active_plugins = array_unique($MSO->active_plugins);
sort($MSO->active_plugins);
return true;
}
}
/**
* подключение admin-плагина - выполняется только при входе в админку
*
* @param mixed $plugin
*
* @return void
*/
function mso_admin_plugin_load($plugin = '')
{
global $MSO;
$fn_plugin = $MSO->config['admin_plugins_dir'] . $plugin . '/index.php';
if (!file_exists($fn_plugin)) {
return false;
} else {
require_once $fn_plugin;
$auto_load = $plugin . '_autoload';
if (function_exists($auto_load)) $auto_load();
return true;
}
}
# end of file