config = $config; $this->ui = $ui; // Build filter if (session::global_is_set(get_class($this)."_filter")){ $filter= session::global_get(get_class($this)."_filter"); } else { $filter = new filter(get_template_path("selectClass-filter.xml", true, dirname(__FILE__))); $filter->setObjectStorage($this->storagePoints); } $this->setFilter($filter); // Build headpage $headpage = new listing(get_template_path("selectClass-list.xml", true, dirname(__FILE__))); $headpage->registerElementFilter("filterProperties", "classSelect::filterProperties"); $headpage->setFilter($filter); parent::__construct($config, $ui, "FAI class", $headpage); } static function filterProperties($row, $classes) { /* Create different picture for each object type */ $objTypes['FAIhook'] = " "; $objTypes['FAItemplate'] = " "; $objTypes['FAIscript'] = " "; $objTypes['FAIvariable'] = " "; $objTypes['FAIpackageList'] = " "; $objTypes['FAIpartitionTable'] = " "; $str = ""; foreach($objTypes as $class => $img){ if(in_array($class, $classes)){ $str .= $img; }else{ $str .= " "; } } return($str); } function save() { $act = $this->detectPostActions(); $headpage = $this->getHeadpage(); if(!isset($act['targets'])) return(array()); $ret = array(); foreach($act['targets'] as $dn){ $ret[] = $headpage->getEntry($dn); } return($ret); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>