public static function addToNavigation() { $page = new page(); $pluginsManager = pluginsManager::getInstance(); // Création d'items de navigation absents (plugins) foreach ($pluginsManager->getPlugins() as $k => $plugin) { if ($plugin->getConfigVal('activate') && $plugin->getPublicFile() && $plugin->getName() != 'page') { $find = false; foreach ($page->getItems() as $k2 => $pageItem) { if ($pageItem->getTarget() == $plugin->getName()) { $find = true; } } if (!$find) { $pageItem = new pageItem(); $pageItem->setName($plugin->getInfoVal('name')); $pageItem->setPosition($page->makePosition()); $pageItem->setIsHomepage(0); $pageItem->setContent(''); $pageItem->setIsHidden(0); $pageItem->setFile(''); $pageItem->setTarget($plugin->getName()); $page->save($pageItem); } } } // génération de la navigation foreach ($page->getItems() as $k => $pageItem) { if (!$pageItem->getIsHidden()) { $core = core::getInstance(); $pluginsManager->getPlugin('page')->addToNavigation($pageItem->getName(), $page->makeUrl($pageItem), $pageItem->getTargetAttr()); } } }
function pluginsmanagerAdminNotifications() { $core = core::getInstance(); $pluginsManager = pluginsManager::getInstance(); $list = ''; foreach ($pluginsManager->getPlugins() as $plugin) { if (!$pluginsManager->isActivePlugin($plugin->getName())) { $list .= $plugin->getInfoVal('name') . ', '; } } if ($list != '') { show::msg($core->lang("Plugins are inactive") . ' (' . trim($list, ', ') . ')', "info"); } }
public static function mainNavigation($format = '<li><a href="[target]" target="[targetAttribut]">[label]</a></li>') { $pluginsManager = pluginsManager::getInstance(); $core = core::getInstance(); $data = ''; eval($core->callHook('startShowMainNavigation')); foreach ($pluginsManager->getPlugins() as $k => $plugin) { if ($plugin->getConfigval('activate') == 1) { foreach ($plugin->getNavigation() as $k2 => $item) { if ($item['label'] != '') { $temp = $format; $temp = str_replace('[target]', $item['target'], $temp); $temp = str_replace('[label]', $item['label'], $temp); $temp = str_replace('[targetAttribut]', $item['targetAttribut'], $temp); $data .= $temp; } } } } eval($core->callHook('endShowMainNavigation')); echo $data; }
include_once COMMON . 'pluginsManager.class.php'; include_once COMMON . 'plugin.class.php'; include_once COMMON . 'show.class.php'; ## Création de l'instance core $core = core::getInstance(); ## Plugin par défaut du mode public define('DEFAULT_PLUGIN', $core->getConfigVal('defaultPlugin')); ## Plugin par défaut du mode admin define('DEFAULT_ADMIN_PLUGIN', $core->getConfigVal('defaultAdminPlugin')); ## Si le core n'est pas installé on redirige vers le script d'installation if (!$core->isInstalled()) { header('location:' . ROOT . 'install.php'); die; } ## Création de l'istance pluginsManager $pluginsManager = pluginsManager::getInstance(); ## On boucle sur les plugins foreach ($pluginsManager->getPlugins() as $plugin) { // On inclut le fichier PHP principal include_once $plugin->getLibFile(); // Le core charge le fichier langue du plugin $core->loadPluginLang($plugin->getName()); // Le core alimente le tableau des hooks if ($plugin->getConfigVal('activate')) { foreach ($plugin->getHooks() as $name => $function) { $core->addHook($name, $function); } } } ## Hook eval($core->callHook('startCreatePlugin'));
public function loadPluginLang($plugin) { $pluginsManager = pluginsManager::getInstance(); $this->lang = array_merge($this->lang, $pluginsManager->getPlugin($plugin)->getLang()); }