array_Elements = array(); } function HideFilterPart($bool = true) { $this->HideFilterPart = $bool; } function SetHeight($height) { $this->DivHeight=$height; } /* Adds a regex input field to the current dialog */ function AddRegex($name,$string,$value,$conn,$image="images/search.png") { $arr = array(); /* Check if the given input field name was already used for this type of dialog */ if(isset($_SESSION['MultiDialogFilters'][$this->filterName][$name])){ $arr['value'] = $_SESSION['MultiDialogFilters'][$this->filterName][$name]; $this->$name = $arr['value']; }else{ $arr['value'] = $value; } $arr['name'] = $name; $arr['string'] = $string; $arr['image'] = $image; $arr['connAlpha'] = $conn; // Connect with alphabet select $this->array_Regexes[] = $arr; } /* Contrucktion */ function MultiSelectWindow($config,$filterName) { $this->config = $config; $this->SaveButtonString = _("Save"); $this->CloseButtonString = _("Close"); $this->filterName = $filterName; $this->selectedBase = $_SESSION['CurrentMainBase']; /* Check default values for SaveAdditionalVars */ foreach($this->SaveAdditionalVars as $name){ if(isset($_SESSION['MultiDialogFilters'][$this->filterName][$name])){ $this->$name = $_SESSION['MultiDialogFilters'][$this->filterName][$name]; } } } /* Enables the headpage mode, which changes the list look */ function SetHeadpageMode() { $this->is_headpage = true; } /* Sets the List internal name (not displayed anywhere) it is used to identify every single list */ function SetTitle($str) { $this->string_Title = $str; } /* Set the list header string */ function SetListHeader($str) { $this->string_ListHeader = $str; } /* This sets the list description which is the first gray bar on top of the list */ function SetSummary($str) { $this->string_Summary = $str; } /* If the save button is enabled, you can change its caption with this function */ function SetSaveButtonString($str) { $this->SaveButtonString = $str; } /* If the close button is enabled, you can change its caption with this function */ function SetCloseButtonString($str) { $this->CloseButtonString = $str; } /* With this function you can change the text of the information box */ function SetInformation($str) { $this->string_Information = $str; } /* Display the alphabet selection box*/ function EnableAplhabet($bool) { $this->bool_DisplayAlpahabet = $bool; } /* Add additional header col */ function AddHeader($arr) { $this->array_Header[] = $arr; } /* add additional List element */ function AddElement($arr) { $this->array_Elements[] = $arr; } /* Add a checkbox to the filter element, the name specifies an existing class var to store the 'selection' */ function AddCheckBox($name,$value="Unset",$string="Unset",$default=false) { $arr = array(); if($name == SEPERATOR){ $arr['name'] = SEPERATOR; }else{ /* Check if there was already a variable for this dialog which we should use instead of the default*/ if(isset($_SESSION['MultiDialogFilters'][$this->filterName][$name])){ $arr['default'] = $_SESSION['MultiDialogFilters'][$this->filterName][$name]; $this->$name = $arr['default']; }else{ $arr['default'] = $default; $this->$name = $default; } $arr['name'] = $name; $arr['string'] = $string; $arr['value'] = $value; $arr['enabled'] = true; } $this->array_Checkboxes[] = $arr; } /* Hides or unhides the checkbox with the given name */ function DisableCheckBox($name,$HideShow = false) { foreach($this->array_Checkboxes as $key => $chkbox){ if($chkbox['name'] == $name){ $this->array_Checkboxes[$key]['enabled'] = $HideShow; } } } /* Returns true if the close button was pressed */ function isClosed() { return($this->is_closed); } /* Enable the close button */ function EnableCloseButton($bool) { $this->bool_DisplayCloseButton = $bool; } /* Enable the save button on the bottom of the list*/ function EnableSaveButton ($bool) { $this->bool_DisplaySaveButton = $bool; } /* Add a list specific filter object to position 1 on top of Information 2 Between Information && Filter 3 Below the Filter Part */ function AddUserBoxToFilter($position) { return(""); } /* Draw the list with all list elements and filters */ function Draw() { /* Check for exeeded sizelimit */ if (($message= check_sizelimit()) != ""){ return($message); } $smarty = get_smarty(); $smarty->assign("UserBox1",$this->AddUserBoxToFilter(1)); $smarty->assign("UserBox2",$this->AddUserBoxToFilter(2)); $smarty->assign("UserBox3",$this->AddUserBoxToFilter(3)); $divlist = new divlist($this->string_Title); $divlist->SetSummary($this->string_Summary); $divlist->SetEntriesPerPage(0); // 0 for scrollable list if($this->DivHeight != ""){ $divlist->SetHeight($this->DivHeight); } /* set Header informations */ $header = array(); foreach($this->array_Header as $head){ $header[] = $head; } $divlist->SetHeader($header); /* set Entries */ $elements = array(); foreach($this->array_Elements as $element){ $divlist->AddEntry($element); } /* Create checkboxes fields */ $boxes = ""; $boxClick = " onClick='document.mainform.submit();' "; foreach($this->array_Checkboxes as $box){ if($box['name'] == SEPERATOR){ $boxes .= "
";
continue;
}
/* Skip disabled boxes */
if(!$box['enabled']) continue;
/* Check if box is checked */
if($box['default'] == true){
$boxes .=" ".$box['string']." "; }else{ $boxes .=" ".$box['string']." "; } } $smarty->assign("CheckBoxes", $boxes); /* Assign regex fields */ $regexes = ""; foreach($this->array_Regexes as $regex){ $regexes.=" |