本文整理匯總了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;
}
}
}
}