1 <?php
2 /*
3 * This code is part of GOsa (http://www.gosa-project.org)
4 * Copyright (C) 2003-2008 GONICUS GmbH
5 *
6 * ID: $$Id: class_target_list.inc 9850 2008-03-14 14:15:12Z hickert $$
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 */
23 class classSelect extends management
24 {
25 // Tab definition
26 protected $skipFooter = TRUE;
27 protected $skipHeader = TRUE;
29 var $plHeadline = "Class selection";
31 function __construct($config,$ui)
32 {
33 $this->config = $config;
34 $this->ui = $ui;
36 // Build filter
37 if (session::global_is_set(get_class($this)."_filter")){
38 $filter= session::global_get(get_class($this)."_filter");
39 } else {
40 $filter = new filter(get_template_path("selectClass-filter.xml", true, dirname(__FILE__)));
41 $filter->setObjectStorage($this->storagePoints);
42 }
43 $this->setFilter($filter);
45 // Build headpage
46 $headpage = new listing(get_template_path("selectClass-list.xml", true, dirname(__FILE__)));
47 $headpage->registerElementFilter("filterProperties", "classSelect::filterProperties");
48 $headpage->setFilter($filter);
49 parent::__construct($config, $ui, "FAI class", $headpage);
50 }
52 static function filterProperties($row, $classes)
53 {
54 /* Create different picture for each object type */
55 $objTypes['FAIhook'] = "<img src='plugins/fai/images/fai_hook.png' title='"._("Hook bundle")."' alt=''> ";
56 $objTypes['FAItemplate'] = "<img src='plugins/fai/images/fai_template.png' title='"._("Template bundle")."' alt=''> ";
57 $objTypes['FAIscript'] = "<img src='plugins/fai/images/fai_script.png' title='"._("Script bundle")."' alt=''> ";
58 $objTypes['FAIvariable'] = "<img src='plugins/fai/images/fai_variable.png' title='"._("Variable bundle")."' alt=''> ";
59 $objTypes['FAIpackageList'] = "<img src='plugins/fai/images/fai_packages.png' title='"._("Package bundle")."' alt=''> ";
60 $objTypes['FAIpartitionTable'] = "<img src='plugins/fai/images/fai_partitionTable.png' title='"._("Partition table")."' alt=''> ";
62 $str = "";
63 foreach($objTypes as $class => $img){
64 if(in_array($class, $classes)){
65 $str .= $img;
66 }else{
67 $str .= "<img src='images/empty.png'> ";
68 }
69 }
70 return($str);
71 }
73 function save()
74 {
75 $act = $this->detectPostActions();
76 $headpage = $this->getHeadpage();
77 if(!isset($act['targets'])) return(array());
78 $ret = array();
79 foreach($act['targets'] as $dn){
80 $ret[] = $headpage->getEntry($dn);
81 }
82 return($ret);
83 }
84 }
85 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
86 ?>