diff --git a/bl-kernel/admin/themes/booty/index.php b/bl-kernel/admin/themes/booty/index.php
index 9f0ab96f..2972c3ae 100644
--- a/bl-kernel/admin/themes/booty/index.php
+++ b/bl-kernel/admin/themes/booty/index.php
@@ -80,8 +80,8 @@
adminView();
+ } else if (!empty($layout['plugin']) && method_exists($layout['plugin'], 'adminView')) {
+ echo $layout['plugin']->adminView();
} else {
echo '
'.$L->g('Page not found').'
';
echo ''.$L->g('Choose a page from the sidebar.').'
';
diff --git a/bl-kernel/boot/admin.php b/bl-kernel/boot/admin.php
index 25d6239c..16d6cd39 100644
--- a/bl-kernel/boot/admin.php
+++ b/bl-kernel/boot/admin.php
@@ -13,18 +13,24 @@ $layout = array(
'view'=>null,
'template'=>'index.php',
'slug'=>null,
+ 'plugin'=>false,
'parameters'=>null,
'title'=>'Bludit'
);
-// Get the view, controller, and the parameters from the URL.
+// Get the Controller
$explodeSlug = $url->explodeSlug();
$layout['controller'] = $layout['view'] = $layout['slug'] = empty($explodeSlug[0])?'dashboard':$explodeSlug[0];
unset($explodeSlug[0]);
-$layout['parameters'] = implode('/', $explodeSlug);
-// Boot plugins rules
+// Get the Plugin
include(PATH_RULES.'60.plugins.php');
+if ($layout['controller'] === 'plugin' && !empty($explodeSlug)) {
+ $layout['plugin'] = getPlugin(array_shift($explodeSlug));
+}
+
+// Get the URL parameters
+$layout['parameters'] = implode('/', $explodeSlug);
// --- AJAX ---
if ($layout['slug']==='ajax') {
@@ -63,8 +69,8 @@ else
}
// Define variables
- $ADMIN_CONTROLLER = $layout['controller'];
- $ADMIN_VIEW = $layout['view'];
+ $ADMIN_CONTROLLER = $layout['controller'];
+ $ADMIN_VIEW = $layout['view'];
// Load plugins before the admin area will be load.
Theme::plugins('beforeAdminLoad');
@@ -77,10 +83,8 @@ else
// Load controller.
if (Sanitize::pathFile(PATH_ADMIN_CONTROLLERS, $layout['controller'].'.php')) {
include(PATH_ADMIN_CONTROLLERS.$layout['controller'].'.php');
- } else if (($plugin = getPlugin($layout['controller'])) !== false) {
- if (method_exists($plugin, "adminController") && method_exists($plugin, "adminView")) {
- $plugin->adminController();
- }
+ } else if(!empty($layout['plugin']) && method_exists($layout['plugin'], 'adminController')) {
+ $layout['plugin']->adminController();
}
// Load view and theme.