IsPluginEnabled() public static method

public static IsPluginEnabled ( $p_name, $p_version = null )
示例#1
0
 public static function ExtendNoMenuScripts(&$p_no_menu_scripts)
 {
     foreach (self::GetPluginsInfo() as $info) {
         if (is_array($info['no_menu_scripts']) && CampPlugin::IsPluginEnabled($info['name'])) {
             $p_no_menu_scripts = array_merge($p_no_menu_scripts, $info['no_menu_scripts']);
         }
     }
 }
示例#2
0
 /**
  * Generate pages array for Zend_Navigation.
  *
  * @return array
  */
 public static function CreatePluginMenu()
 {
     global $g_user;
     $root_menu = false;
     $plugin_infos = self::GetPluginsInfo(true);
     if ($g_user->hasPermission('plugin_manager')) {
         $root_menu = true;
     }
     foreach ($plugin_infos as $info) {
         if (isset($info['menu']['permission']) && $g_user->hasPermission($info['menu']['permission'])) {
             $root_menu = true;
         } elseif (isset($info['menu']['sub']) && is_array($info['menu']['sub'])) {
             foreach ($info['menu']['sub'] as $menu_info) {
                 if ($g_user->hasPermission($menu_info['permission'])) {
                     $root_menu = true;
                 }
             }
         }
     }
     if (empty($root_menu)) {
         return array();
     }
     $view = new Zend_View();
     $pages = array();
     if ($g_user->hasPermission('plugin_manager')) {
         $pages[] = array('label' => getGS('Manage Plugins'), 'module' => 'admin', 'controller' => 'plugins', 'action' => 'manage.php');
     }
     foreach ($plugin_infos as $info) {
         if (CampPlugin::IsPluginEnabled($info['name'])) {
             $menu_plugin = array();
             $parent_menu = false;
             $Plugin = new CampPlugin($info['name']);
             if (isset($info['menu']['permission']) && $g_user->hasPermission($info['menu']['permission'])) {
                 $parent_menu = true;
             } elseif (isset($info['menu']['sub']) && is_array($info['menu']['sub'])) {
                 foreach ($info['menu']['sub'] as $menu_info) {
                     if ($g_user->hasPermission($menu_info['permission'])) {
                         $parent_menu = true;
                     }
                 }
             }
             if ($parent_menu && isset($info['menu'])) {
                 $uri = '#';
                 if (isset($info['menu']['path'])) {
                     $uri = $view->baseUrl('admin/' . $info['menu']['path']);
                 }
                 $menu_plugin = array('label' => getGS($info['menu']['label']), 'uri' => $uri);
             }
             if (isset($info['menu']['sub']) && is_array($info['menu']['sub'])) {
                 foreach ($info['menu']['sub'] as $menu_info) {
                     if ($g_user->hasPermission($menu_info['permission'])) {
                         $uri = '#';
                         if (isset($menu_info['path'])) {
                             $uri = $view->baseUrl('admin/' . $menu_info['path']);
                         }
                         $menu_item = array('label' => getGS($menu_info['label']), 'uri' => $uri);
                         $menu_plugin['pages'][] = $menu_item;
                     }
                 }
             }
             if (!empty($menu_plugin)) {
                 $pages[] = $menu_plugin;
             }
         }
     }
     return $pages;
 }
示例#3
0
    static public function CreatePluginMenu()
    {
        global $ADMIN;
        global $g_user;

        $root_menu = false;
        $plugin_infos = self::GetPluginsInfo(true);

        if ($g_user->hasPermission('plugin_manager')) {
            $root_menu = true;
        }

        foreach ($plugin_infos as $info) {
        	if (isset($info['menu']['permission']) && $g_user->hasPermission($info['menu']['permission'])) {
        		$root_menu = true;
        	} elseif (is_array($info['menu']['sub'])) {
        		foreach ($info['menu']['sub'] as $menu_info) {
        			if ($g_user->hasPermission($menu_info['permission'])) {
        				$root_menu = true;
        			}
        		}
        	}
        }

        if (empty($root_menu)) {
            return;
        }

        $menu_modules =& DynMenuItem::Create(getGS('Plugins'), '',
            array('icon' => '', 'id' => 'plugins'));

        if ($g_user->hasPermission('plugin_manager')) {
            $menu_item =& DynMenuItem::Create(getGS('Manage Plugins'),
                "/$ADMIN/plugins/manage.php",
                array('icon' => ''));
            $menu_modules->addItem($menu_item);
        }

        foreach ($plugin_infos as $info) {
            if (CampPlugin::IsPluginEnabled($info['name'])) {
                $menu_plugin = null;
                $parent_menu = false;

                $Plugin = new CampPlugin($info['name']);

                if (isset($info['menu']['permission']) && $g_user->hasPermission($info['menu']['permission'])) {
                    $parent_menu = true;
                } elseif (is_array($info['menu']['sub'])) {
                    foreach ($info['menu']['sub'] as $menu_info) {
                        if ($g_user->hasPermission($menu_info['permission'])) {
                            $parent_menu = true;
                        }
                    }
                }

                if ($parent_menu && isset($info['menu'])) {
                    $menu_plugin =& DynMenuItem::Create(getGS($info['menu']['label']),
                        isset($info['menu']['path']) ? "/$ADMIN/".$info['menu']['path'] : null,
                        array('icon' => ''));
                }

                if (isset($info['menu']['sub']) && is_array($info['menu']['sub'])) {
                    foreach ($info['menu']['sub'] as $menu_info) {
                        if ($g_user->hasPermission($menu_info['permission'])) {
                            $menu_item =& DynMenuItem::Create(getGS($menu_info['label']),
                                is_null($menu_info['path']) ? null : "/$ADMIN/".$menu_info['path'],
                                array('icon' => ''));
                            $menu_plugin->addItem($menu_item);
                        }
                    }
                }

                if (is_object($menu_plugin)) {
                    $menu_modules->addItem($menu_plugin);
                }
            }
        }
        return $menu_modules;
    }