本文整理汇总了PHP中rex_addon::addons方法的典型用法代码示例。如果您正苦于以下问题:PHP rex_addon::addons方法的具体用法?PHP rex_addon::addons怎么用?PHP rex_addon::addons使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rex_addon
的用法示例。
在下文中一共展示了rex_addon::addons方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initialize
/**
* Initializes all packages.
*/
public static function initialize($dbExists = true)
{
if ($dbExists) {
$config = rex::getConfig('package-config', []);
} else {
$config = [];
foreach (rex::getProperty('setup_addons') as $addon) {
$config[$addon]['install'] = false;
}
}
$addons = self::$addons;
self::$addons = [];
foreach ($config as $addonName => $addonConfig) {
$addon = isset($addons[$addonName]) ? $addons[$addonName] : new self($addonName);
$addon->setProperty('install', isset($addonConfig['install']) ? $addonConfig['install'] : false);
$addon->setProperty('status', isset($addonConfig['status']) ? $addonConfig['status'] : false);
self::$addons[$addonName] = $addon;
if (!$dbExists && is_array($plugins = $addon->getProperty('system_plugins'))) {
foreach ($plugins as $plugin) {
$config[$addonName]['plugins'][$plugin]['install'] = false;
}
}
if (isset($config[$addonName]['plugins']) && is_array($config[$addonName]['plugins'])) {
$plugins = $addon->plugins;
$addon->plugins = [];
foreach ($config[$addonName]['plugins'] as $pluginName => $pluginConfig) {
$plugin = isset($plugins[$pluginName]) ? $plugins[$pluginName] : new rex_plugin($pluginName, $addon);
$plugin->setProperty('install', isset($pluginConfig['install']) ? $pluginConfig['install'] : false);
$plugin->setProperty('status', isset($pluginConfig['status']) ? $pluginConfig['status'] : false);
$addon->plugins[$pluginName] = $plugin;
}
}
}
}