CreateNew protected $s_Event_Name = ""; // Will be displayed in the Management list. protected $s_action = ""; // The deamon command name. protected $s_Menu_Image = "images/empty.png"; // The deamon command name. protected $config; // GOsa configuration file protected $data; // The event data protected $timestamp = 0; // Event execution time; protected $time_select_used = FALSE; // Indicates that we have used the timestamp select boxes. protected $target_list_used = FALSE; // Indicates that the target list was used. protected $target_divlist = FALSE; // The divlist used by the target add dialog public function __construct($config,$data = array()) { $this->data = $data; $this->config = $config; timezone::get_default_timezone(); $this->timestamp = time(); } public function execute() { $this->time_select_used = FALSE; $str = "

"._("This event has no template.")."

"; $str.= "

"; $str.= "
"; return($str); } public function get_header() { $str = "

"._("Daemon event")." - ".$this->s_Event_Name."

"; return($str); } public function get_footer() { if($this->target_list_used){ return(""); } $str = "

"; $str.= "
 
"; return($str); } public function get_time_select() { $this->time_select_used = TRUE; $smarty = get_smarty(); $year = date("Y",$this->timestamp); $month = date("m",$this->timestamp); $day = date("d",$this->timestamp); $hour = date("H",$this->timestamp); $minute = date("i",$this->timestamp); $second = date("s",$this->timestamp); $years = array(); for($i = date("Y",time()); $i <= 2037 ;$i ++){ $years[$i] = $i; } $months = array(); for($i = 1; $i <= 12; $i ++){ $e = str_pad($i,2,"0",STR_PAD_LEFT); $months[$e] = $e; } $days = array(); for($i = 1; $i <= cal_days_in_month(CAL_GREGORIAN,$month,$year); $i ++){ $e = str_pad($i,2,"0",STR_PAD_LEFT); $days[$e] = $e; } $hours = array(); for($i = 0; $i < 24; $i ++){ $e = str_pad($i,2,"0",STR_PAD_LEFT); $hours[$e] = $e; } $minutes = array(); for($i = 0; $i < 60; $i ++){ $e = str_pad($i,2,"0",STR_PAD_LEFT); $minutes[$e] = $e; } $seconds = array(); for($i = 0; $i < 60; $i ++){ $e = str_pad($i,2,"0",STR_PAD_LEFT); $seconds[$e] = $e; } $smarty->assign("years", $years); $smarty->assign("months", $months); $smarty->assign("days", $days); $smarty->assign("hours", $hours); $smarty->assign("minutes", $minutes); $smarty->assign("seconds", $seconds); $smarty->assign("time_year",$year); $smarty->assign("time_month",$month); $smarty->assign("time_day",$day); $smarty->assign("time_hour",$hour); $smarty->assign("time_minute",$minute); $smarty->assign("time_second",$second); return($smarty->fetch(get_template_path('timestamp_select.tpl', TRUE, dirname(__FILE__)))); } public function get_target_list() { $this->target_list_used = TRUE; $smarty = get_smarty(); if(!$this->target_divlist){ $this->target_divlist = new MultiSelectWindow($this->config,"EventTargets","gotomasses"); $this->target_divlist->SetSummary(_("Targets")); $this->target_divlist->SetInformation(_("This dialog shows all available targets for your event, check the targets you want to add and use the 'Use' button to accept.")); $this->target_divlist->EnableCloseButton(FALSE); $this->target_divlist->EnableSaveButton(FALSE); } $smarty->assign("divlist",$this->target_divlist->Draw()); return($smarty->fetch(get_template_path('target_list.tpl', TRUE, dirname(__FILE__)))); } public function save_object() { if(isset($_POST['open_target_list'])){ $this->target_list_used =TRUE; } if($this->target_divlist){ $this->target_divlist->save_object(); } if($this->target_list_used){ if(isset($_POST['abort_target_dialog'])){ $this->target_list_used =FALSE; $this->target_divlist = FALSE; } if(isset($_POST['save_target_dialog'])){ $this->target_list_used =FALSE; echo "Targets auslesen"; $this->target_divlist = FALSE; } } if($this->time_select_used){ $time_stamp_values_found = TRUE; foreach(array("time_year","time_month","time_day","time_hour","time_minute","time_second") as $attr){ $time_stamp_values_found &= isset($_POST[$attr]); } if($time_stamp_values_found){ $this->timestamp = mktime( $_POST['time_hour'], $_POST['time_minute'], $_POST['time_second'], $_POST['time_month'], $_POST['time_day'], $_POST['time_year']); } } } public function _event_to_timestamp($str) { return(strtotime($str)); } public function _timestamp_to_event($stamp) { return(date("YmdHis",$stamp)); } public function get_event_info() { $data =array(); $data['NAME'] = get_class($this); $data['MenuName'] = $this->s_Menu_Name; $data['EventName'] = $this->s_Event_Name; $data['Action'] = $this->s_action; $data['MenuImage'] = "".$this->s_Menu_Name.""; return($data); } protected function is_target_list_open() { return($this->target_list_used); } static function get_event_types() { global $class_mapping,$config; $list = array(); foreach($class_mapping as $name => $path){ if(preg_match("/^DaemonEvent_/",$name)){ $tmp = new $name($config); $list[$name] = $tmp->get_event_info(); } } return($list); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>