Code

Fixed Terminal 'root server' 'swap server' selectbox
[gosa.git] / plugins / personal / environment / class_kioskManagementDialog.inc
1 <?php
3 class kioskManagementDialog extends plugin
4 {
5   /* CLI vars */
6   var $cli_summary          = "Manage server basic objects";
7   var $cli_description      = "Some longer text\nfor help";
8   var $cli_parameters       = array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser");
10   /* attribute list for save action */
11   var $ignore_account       = TRUE;
12   var $attributes           = array("filesToAttach");
13   var $objectclasses        = array("whatever");
14   var $use_existing         = false;  
15   var $filesToAttach        = array();
17   var $baseDir              = "../kioskProfiles/";
19   function kioskManagementDialog ($config, $dn= NULL,$attach=false )
20   {
21     plugin::plugin ($config, $dn);
22     if($attach){
23       $this->filesToAttach = $attach;
24     }
25     $this->baseDir = search_config($this->config->data['MENU'],"environment", "KIOSKPATH");
26   }
28   function execute()
29   {
30     /* Fill templating stuff */
31     $smarty= get_smarty();
32     $display= "";
34     /* Add new kiosk profile 
35      * in profile directory ($this->baseDir); 
36      */
37     if((isset($_POST['profileAdd']))&&(isset($_FILES['newProfile']))){
38       $file = $_FILES['newProfile'];
39       if(!file_exists($this->baseDir.$file['name'])){
40         $this->filesToAttach[$file['name']]=$file;
41         $this->filesToAttach[$file['name']]['contents'] = file_get_contents($file['tmp_name']);
42       }
43     }
44       
45     /* Delete profile
46      * Delete selected file form $this->baseDir
47      */
48     if((isset($_POST['profileDel']))&&(isset($_POST['gotoKioskProfile']))){
49       $filename = $this->baseDir."/".$_POST['gotoKioskProfile'];
50   
51       $res = @unlink($filename);
52       if(!$res){
53         if(!is_writeable($filename)){
54           print_red(_("Can't delete '".$filename."' permission denied."));
55         }
56         if(!file_exists($filename)){
57           print_red(_("Can't delete '".$filename."' file don't exists."));
58         }
59       
60       }
61     }
63     /*Assign all existing profiles to smarty*/
64     $smarty->assign("gotoKioskProfiles",$this->getKioskProfiles());
65     $smarty->assign("gotoKioskProfileKeys",array_flip($this->getKioskProfiles()));
67     $display.= $smarty->fetch(get_template_path('kioskManagement.tpl', TRUE,dirname(__FILE__)));
68     return($display);
69   }
71   function save(){
72     return($this->filesToAttach);
73   }
75   function getKioskProfiles($attach = false)
76   {
77     $a_return = array();
78     $dir = @opendir($this->baseDir);
79     if(!$dir){
80       print_red(sprintf(_("Can't open %s permission denied."),$this->baseDir));
81     }else{
82       $a_return = array();
83       while($file = readdir($dir)){
84         if(!(($file==".")||($file==".."))){
85           $name = $file;
86           $a_return[$name] = $name;
87         }
88       }
89     }
90     
91     foreach($this->filesToAttach as $file){
92       $a_return[$file['name']] = $file['name'];
93     }
95     if($attach){
96       foreach($attach as $file){
97         $a_return[$file['name']] = $file['name'];
98       }
99     }
101     return($a_return);
102   }
105 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
106 ?>