FilterFields = array(); $this->SortFields = array(); $this->CurrentFilter =0; $this->FilterMax = 0; $this->CurrentSortOrder = ""; $this->CurrentSortField = ""; } function AddFilterField($Label,$BitPlace) { $this->FilterFields[$Label]=$BitPlace; } function AddSortField($Field,$Label,$IsDefault=FALSE) { $this->SortFields[$Field] = $Label; if($IsDefault) $this->DefaultSortField = $Field; } function GetViewMenuJS($imagesURL) { $FilterVal = (int)$this->CurrentFilter; $FilterVar = $this->FilterVar; $fMax = $this->Filtermax; $sOrder = $this->CurrentSortOrder; $sOrderVar = $this->OrderVar; $sField = $this->CurrentSortField; $sDefault = $this->DefaultSortField; if(!strlen($sField)) $sField = $sDefault; if(!strlen($sOrder)) $sOrder = "asc"; $AllValue = $this->FilterMax; $PerPageVal = $this->PerPageValue; $PerPageVar = $this->PerPageVar; $SortVar = $this->SortVar; $CheckboxName = $this->CheckboxName; ob_start(); print <<FilterFields)>0) { echo " window.menu_filter = new Menu(lang_View); menu_filter.imagePath = '$imagesURL'+'/'; menu_filter.addMenuItem(lang_All,\"config_val('$FilterVar',$AllValue);\",FilterView==$AllValue); menu_filter.addMenuSeparator(); "; foreach($this->FilterFields as $Label=>$Bit) { if($Label =="-") { print " menu_filter.addMenuSeparator();\n"; } else print " menu_filter.addMenuItem('$Label',\"FlipBit('$FilterVar',FilterView,$Bit);\",BitStatus(FilterView,$Bit));\n"; } } else echo "var menu_filter = false;\n"; print <<SortFields as $field=>$label) { print " menu_sorting.addMenuItem('$label',\"config_val('$SortVar','$field');\",RadioIsSelected(SortField,'$field'));\n"; } print <<