Code

Added setup patches from stable
[gosa.git] / include / class_MultiSelectWindow.inc
index caf994ba6b247bd7d71a97d365f35657e1fc1d5c..cf90a8d01284605c60424d83be2aa24e1a46d768 100644 (file)
@@ -34,6 +34,7 @@ class MultiSelectWindow{
   var $HideFilterPart     = false;
 
   var $SaveAdditionalVars = array();  // Additional Post vars to store 
+  var $module= "";
 
        function ClearElementsList()
        {
@@ -72,9 +73,10 @@ class MultiSelectWindow{
        }
 
        /* Contrucktion */
-       function MultiSelectWindow($config,$filterName)
+       function MultiSelectWindow($config, $filterName, $module)
        {
                $this->config = $config;
+               $this->module = $module;
                $this->SaveButtonString         = _("Save");
                $this->CloseButtonString        = _("Close");
                $this->filterName                       = $filterName;
@@ -271,9 +273,9 @@ class MultiSelectWindow{
 
                        /* Check if box is checked */
                        if($box['default'] == true){
-                               $boxes .="<input type='checkbox' name='".$box['name']."' value='1' title='".$box['value']."' checked ".$boxClick.">&nbsp;".$box['string']."<br>";
+                               $boxes .="<input type='checkbox' name=\"".$box['name']."\" value='1' title=\"".htmlentities($box['value'])."\" checked ".$boxClick.">&nbsp;".$box['string']."<br>";
                        }else{
-                               $boxes .="<input type='checkbox' name='".$box['name']."' value='1' title='".$box['value']."'".$boxClick.";>&nbsp;".$box['string']."<br>";
+                               $boxes .="<input type='checkbox' name=\"".$box['name']."\" value='1' title=\"".htmlentities($box['value'])."\" ".$boxClick.">&nbsp;".$box['string']."<br>";
                        }
                }
                $smarty->assign("CheckBoxes", $boxes);
@@ -290,8 +292,8 @@ class MultiSelectWindow{
                                </label>
                                </td>
                                <td width=\"99%\">
-                               <input type='text' style='width:99%' name='".$regex['name']."' maxlength='20'
-                               value='".$regex['value']."' title=\"".$regex['string']."\"> 
+                               <input type=\"text\" style='width:99%' name=\"".$regex['name']."\" maxlength='20'
+                               value=\"".htmlentities($regex['value'])."\" title=\"".htmlentities($regex['string'])."\"> 
                                </td>
                                </tr>
                                </table>";
@@ -360,6 +362,11 @@ class MultiSelectWindow{
           Store data also into a session var, to keep the checkboxes check after reload  */
        function save_object()
        {
+    /* Get up to date config */
+    if(isset($this->parent->config)){
+      $this->config = $this->parent->config;
+    }
+
                /* Update current base */
                if($this->DepartmentsAdded){
                        $s_action ="";
@@ -497,10 +504,10 @@ class MultiSelectWindow{
           title='"._("Restore snapshopts of already deleted objects")."' 
           alt='"._("Restore")."' name='RestoreDeletedSnapShot'>&nbsp;"; 
       }else{
-        $str = "<img class='center' src='images/restore_grey.png'>&nbsp;";
+        $str = "<img class='center' src='images/restore_grey.png' alt=''>&nbsp;";
       }
 
-      $str .= "<img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'>&nbsp;";
+#      $str .= "<img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'>&nbsp;";
     }
     return($str);
   }
@@ -515,7 +522,7 @@ class MultiSelectWindow{
         $str.= "<input class='center' type='image' src='images/restore.png'
           alt='"._("Restore snapshot")."' name='RestoreSnapShotDialog_".base64_encode($dn)."' title='"._("Restore snapshot")."'>&nbsp;";
       } else {
-        $str = "<img class='center' src='images/restore_grey.png'>&nbsp;";
+        $str = "<img class='center' src='images/restore_grey.png' alt=''>&nbsp;";
       }
 
       $str.= "<input class='center' type='image' src='images/snapshot.png'
@@ -547,8 +554,8 @@ class MultiSelectWindow{
                $this->departments = array();
 
                /* Get all departments within this subtree */
-               $deps= get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))", $this->ui->subtreeACL,
-                               $base, array("ou", "description"), GL_SIZELIMIT | GL_CONVERT);
+               $deps= get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))", $this->module, $base,
+                    array("ou", "description"), GL_SIZELIMIT | GL_CONVERT);
 
                /* Edit delete link for system types
                 */
@@ -567,6 +574,7 @@ class MultiSelectWindow{
 
                /* Add deps to this dialog object list */
                foreach($this->departments as $key=> $val){
+
                        /* Add missing entries ... */
                        if(!isset($this->config->departments[trim($key)])){
                                $this->config->departments[trim($key)]="";