Code

Updated infoPage
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 29 Nov 2010 09:13:37 +0000 (09:13 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 29 Nov 2010 09:13:37 +0000 (09:13 +0000)
-Fixed welcome/infoPage handling.

git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@20400 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-core/contrib/gosa.conf
gosa-core/html/main.php
gosa-core/include/class_pluglist.inc

index 657684c9a94b5b8d6891d81f6c95459a0c9d5912..e3e1ba18630c57a41a1a48d3c73ffdbbc580f6a2 100644 (file)
@@ -74,7 +74,7 @@
 
   <!-- These entries will be rendered on the short-cut menu -->
   <shortCutMenu>
-      <plugin acl="all" class="welcome" />
+      <plugin acl="none" class="welcome" />
   </shortCutMenu>
 
   <!-- These entries will be rendered on the path navigator -->
index 9fb52e0ed5dda3023c8ea8726ca3df1c027f6955..8e0d14d1680c6ea24303163f1a4a907b99b36c94 100644 (file)
@@ -240,6 +240,8 @@ $smarty->assign("noMenuMode", count($plist->getRegisteredMenuEntries()) == 0);
 if (isset($_GET['plug']) && $plist->plugin_access_allowed($_GET['plug'])){
   $plug= validate($_GET['plug']);
   $plugin_dir= $plist->get_path($plug);
+  $plugin= $plist->get_class($plug);
+  session::global_set('currentPlugin',$plugin);
   session::global_set('plugin_dir',$plugin_dir);
   if ($plugin_dir == ""){
     new log("security","gosa","",array(),"main.php called with invalid plug parameter \"$plug\"") ;
@@ -247,18 +249,19 @@ if (isset($_GET['plug']) && $plist->plugin_access_allowed($_GET['plug'])){
     exit;
   }
 } else {
-
-    // Display the welcome page for admins (iconmenu) and an info page for those 
-    //  who are not allowed to adminstrate anything (user)
-    if(count($plist->getRegisteredMenuEntries()) == 0){
-        session::global_set('plugin_dir',"infoPage");
-        $plugin_dir= "$BASE_DIR/plugins/generic/infoPage";
-    }else{
-        session::global_set('plugin_dir',"welcome");
-        $plugin_dir= "$BASE_DIR/plugins/generic/welcome";
-    } 
+    session::global_set('plugin_dir',"welcome");
+    session::global_set('currentPlugin','welcome');
+    $plugin_dir= "$BASE_DIR/plugins/generic/welcome";
 }
 
+// Display the welcome page for admins (iconmenu) and an info page for those 
+//  who are not allowed to adminstrate anything (user)
+if(count($plist->getRegisteredMenuEntries()) == 0 && session::global_get('currentPlugin') == "welcome"){
+    session::global_set('plugin_dir',"infoPage");
+    session::global_set('currentPlugin','welcome');
+    $plugin_dir= "$BASE_DIR/plugins/generic/infoPage";
+} 
+
 /* Handle plugin locks.
     - Remove the plugin from session if we switched to another. (cleanup) 
     - Remove all created locks if "reset" was posted.
index 80d64680e96903f8e9f1fe35c7a5416c6d2c2242..d088d4aae76f7354e139f3adb602cccc8e8cae12 100644 (file)
@@ -187,6 +187,10 @@ class pluglist
             $acl_to_check = trim($acl_to_check);
             $acl_to_check = preg_replace("/ /","",$acl_to_check);
 
+            if($acl_to_check == "none"){
+                $this->silly_cache[$aclname]= TRUE;
+                return(TRUE);
+            }
 
             /* Check if the given acl tag is only valid for self acl entries  
              *          <plugin acl="users/user:self" class="user"...  
@@ -510,6 +514,14 @@ class pluglist
     }
 
 
+    /*! \brief    Returns the plugins id for a given class.
+     */
+    function get_class($index)
+    {
+        return($this->pluginList[$index]);
+    }
+
+
     /*! \brief  This function checks if we are allowed to view the plugin with the given id 
      *
      *  @param  $plug_id  Integer  The ID of the plugin.