Code

Cleaned up code
[gosa.git] / include / class_tabs.inc
index 701631f4a51b30af1580aede32a08b95dc3e0d3b..3be731dcbcb0e780a173b2b7981b974353e8ba62 100644 (file)
@@ -85,12 +85,14 @@ class tabs
        $display= $this->gen_tabs();
 
        /* Show object */
-       $display.= "<table summary=\"\" cellpadding=4 cellspacing=0 border=0 style=\"width:100%; background-color:#F0F0F0; border-style:solid; border-color:black; border-top-width:0px; border-bottom-width:1px; border-left-width:1px; border-right-width:1px;\">\n";
+       $display.= "<table summary=\"\" cellpadding=4 cellspacing=0 border=0 style=\"width:100%; background-color:#F8F8F8; border-style:solid; border-color:#AAA; border-top-width:0px; border-bottom-width:1px; border-left-width:1px; border-right-width:1px;\">\n";
        $display.= "<tr><td>\n";
 
        $obj= $this->by_object[$this->current];
        $display.= $obj->execute();
-       $this->by_object[$this->current]= $obj;
+  if (is_php4()){
+    $this->by_object[$this->current]= $obj;
+  }
 
        /* Footer for tabbed dialog */
        $display.= "</td></tr></table>";
@@ -106,7 +108,9 @@ class tabs
 
                $obj= $this->by_object[$this->last];
                $obj->save_object ();
-               $this->by_object[$this->last]= $obj;
+    if (is_php4()){
+      $this->by_object[$this->last]= $obj;
+    }
        }
 
        /* Skip if curent and last are the same object */
@@ -122,9 +126,10 @@ class tabs
                        $this->current, "Saving (current)");
 
                $obj->save_object ();
-               $this->by_object[$this->current]= $obj;
+    if (is_php4()){
+      $this->by_object[$this->current]= $obj;
+    }
        }
-
   }
 
   function gen_tabs()
@@ -147,7 +152,7 @@ class tabs
                }
 
                /* Paint tab */
-               $display.= "<td style=\"vertical-align:bottom;width:1px;\">";
+               $display.= "<td style=\"vertical-align:bottom;width:1px;white-space:nowrap;\">";
 
                /* Shorten string if its too long for the tab headers*/
                $title= _($name);
@@ -158,11 +163,18 @@ class tabs
                /* nobr causes w3c warnings so we use &nbsp; to keep the tab name in one line */
                $title= preg_replace("/ /","&nbsp;",$title);
 
+    /* Take care about notifications */
+    if ($this->by_object[$class]->pl_notify){
+      $notify= "id=\"notify\"";
+    } else {
+      $notify= "";
+    }
+
                if ($_SESSION['js']==FALSE){    
-                       $display.= "<div class=\"$style[$index]\"><input type=\"submit\" name=\"$class\"".
+                       $display.= "<div ".$notify." class=\"$style[$index]\"><input type=\"submit\" name=\"$class\"".
                                   " class=\"$style[$index]\" value=\"$title\"";
                } else {                         
-                       $display.= "<div class=\"$style[$index]\"><a class=\"$style[$index]\" onclick=\"return true;\" href=\"javascript:document.mainform.arg.value='$class';document.mainform.submit();\">$title</a";
+                       $display.= "<div ".$notify." class=\"$style[$index]\"><a class=\"$style[$index]\" onclick=\"return true;\" href=\"javascript:document.mainform.arg.value='$class';document.mainform.submit();\">$title</a";
                }
                $display.= "></div></td>";
        }
@@ -210,24 +222,36 @@ class tabs
 
   function check($ignore_account= FALSE)
   {
-       $this->save_object(TRUE);
-       $messages= array();
-
-       /* Check all plugins */
-       foreach ($this->by_object as $key => $obj){
-               if ($obj->is_account || $ignore_account || $obj->ignore_account){
-                       @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,
-                               $key, "Checking");
-
-                       $messages= $obj->check();
-                       if (count($messages)){
-                               $this->current= $key;
-                               break;
-                       }
-               }
-       }
-
-       return ($messages);
+    $this->save_object(TRUE);
+    $messages= array();
+
+    $current_set = FALSE;
+
+    /* Check all plugins */
+    foreach ($this->by_object as $key => $obj){
+      if ($obj->is_account || $ignore_account || $obj->ignore_account){
+        @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__,$key, "Checking");
+
+        $msg = $obj->check();
+
+        if (is_php4()){
+          $this->by_object[$key]= $obj;
+        }
+        if (count($msg)){
+          $this->by_object[$key]->pl_notify= TRUE;
+          if(!$current_set){
+            $current_set = TRUE;
+            $this->current= $key;
+            $messages = $msg;
+          }
+        }else{
+          $this->by_object[$key]->pl_notify= FALSE;
+        }
+      }else{
+        $this->by_object[$key]->pl_notify= FALSE;
+      }
+    }
+    return ($messages);
   }
 
   function save($ignore_account= FALSE)
@@ -257,7 +281,9 @@ class tabs
                                  $key, "Adapting");
                  $obj->parent= &$this;
                  $obj->adapt_from_template($dn);
-                 $this->by_object[$key]= $obj;
+      if (is_php4()){
+        $this->by_object[$key]= $obj;
+      }
          }
   }
 
@@ -278,20 +304,23 @@ class tabs
    */
   function getCopyDialog()
   {
-         $ret = "";
-         $this->SubDialog = false;
-         foreach ($this->by_object as $key => $obj){
-                 if($obj->is_account){
-                         $tmp = $this->by_object[$key]->getCopyDialog();
-                         if($tmp['status'] == "SubDialog"){
-                                 $this->SubDialog = true;
-                     return($tmp['string']);
-                 }else{
-                 $ret .= $tmp['string'];
-                         }
-                 }
-         }
-         return($ret);
+    $ret = "";
+    $this->SubDialog = false;
+    foreach ($this->by_object as $key => $obj){
+      if($obj->is_account){
+        $tmp = $this->by_object[$key]->getCopyDialog();
+        if($tmp['status'] == "SubDialog"){
+          $this->SubDialog = true;
+          return($tmp['string']);
+        }else{
+          if(!empty($tmp['string'])){
+            $ret .= $tmp['string'];
+            $ret .= "<p class='seperator'>&nbsp;</p>";
+          }
+        }
+      }
+    }
+    return($ret);
   }
 
 
@@ -322,5 +351,5 @@ class tabs
   }
 
 }
-
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>