class form_leaves { public $id; public $user_id; public $start_date; public $end_date; public $start_time; public $end_time; public $description; public $start_ampm; public $end_ampm; public $form_type; public $leave_type; public $certificate; public $config; public $validation; public $reasons; public function __construct($context) { $this->id = $context['id']; $this->user_id = $context['user_id']; $this->form_type = $context['form_type']; } public function set() { global $database; $id = $this->id; $this->start_time = 8; $this->start_ampm = "AM"; $this->end_time = 5; $this->end_ampm = "PM"; //$database->debug = true; if(!empty($id)) { $leaves = common_leaves::get_leave($id); $this->id = $leaves['id']; $this->user_id = $leaves['user_id']; $this->leave_type = $leaves['type_id']; $this->start_date = common_leaves::change_date_format($leaves['start_date']); $this->end_date = common_leaves::change_date_format($leaves['end_date']); $startTime = common_leaves::convert_time_split($leaves['start_time']); $endTime = common_leaves::convert_time_split($leaves['end_time']); $this->start_time = $startTime['hour']; $this->end_time = $endTime['hour']; $this->start_ampm = $startTime['ampm']; $this->end_ampm = $endTime['ampm']; $this->description = $leaves['description']; $this->certificate = $leaves['certificate']; $this->status = $leaves['status']; } if($_POST['Submit'] == "Save") { $this->user_id = $_POST['user_id']; $this->start_date = $_POST['start_date']; $this->end_date = $_POST['end_date']; $this->start_time = $_POST['start_time']; $this->end_time = $_POST['end_time']; $this->start_ampm = $_POST['start_ampm']; $this->end_ampm = $_POST['end_ampm']; $this->description = $_POST['description']; $this->leave_type = $_POST['leave_type']; } $this->config['user_id'] = array("id"=> $id,"value"=> $this->user_id, "input_name" => "user_id", "name" => "User","rule" => "required|numeric"); $this->config['start_date'] = array("id"=> $id,"value"=> $this->start_date, "input_name" => "start_date", "name" => "Start Date","rule" => "required"); $this->config['end_date'] = array("id"=> $id,"value"=> $this->end_date, "input_name" => "end_date", "name" => "End Date","rule" => "required"); $this->config['start_time'] = array("id"=> $id,"value"=> $this->start_time, "input_name" => "start_time", "name" => "Start Time","rule" => "integer"); $this->config['end_time'] = array("id"=> $id,"value"=> $this->end_time, "input_name" => "end_time", "name" => "End Time","rule" => "integer"); $this->config['start_ampm'] = array("id"=> $id,"value"=> $this->start_ampm, "input_name" => "start_ampm", "name" => "Start Time Period","rule" => ""); $this->config['end_ampm'] = array("id"=> $id,"value"=> $this->end_ampm, "input_name" => "end_ampm", "name" => "End Time Period","rule" => ""); $this->config['description'] = array("id"=> $id,"value"=> $this->description, "input_name" => "description", "name" => "Description","rule" => "required"); self::run_validation(); } public function run_validation() { $static_function = (($_POST['Submit'] == "")) ? "initial" : "validate"; $this->validation['user_id'] = validation::$static_function($this->config['user_id']); $this->validation['start_date'] = validation::$static_function($this->config['start_date']); $this->validation['end_date'] = validation::$static_function($this->config['end_date']); $this->validation['start_time'] = validation::$static_function($this->config['start_time']); $this->validation['end_time'] = validation::$static_function($this->config['end_time']); $this->validation['start_ampm'] = validation::$static_function($this->config['start_ampm']); $this->validation['end_ampm'] = validation::$static_function($this->config['end_ampm']); $this->validation['description'] = validation::$static_function($this->config['description']); $this->reasons = validation::formalise($this->validation); } public function form() { global $database; $form_type = $this->form_type; $leave_type = $this->leave_type; $id = $this->id; $config = $this->config; $validation = $this->validation; $options = array("class" => "medium"); $option_large = array("class" => "large"); $options_select = array("class" => "medium form"); $table_class = (empty($form_type)) ? "tab_form" : ""; $name = common_users::full_name($this->user_id); $start_ampm['results']= array( array('id'=>"AM", 'name'=>"AM"), array('id'=>"PM", 'name'=>"PM") ); $start_ampm['chosen']= $this->start_ampm; $end_ampm['results']= array( array('id'=>"AM", 'name'=>"AM"), array('id'=>"PM", 'name'=>"PM") ); $end_ampm['chosen']= $this->end_ampm; $table_class = (empty($form_type)) ? "tab_form" : ""; for($i=1; $i<=12; $i++) { $start_time['results'][] = array('id'=>$i, 'name'=>$i); } $start_time['chosen'] = $this->start_time; for($i=1; $i<=12; $i++) { $end_time['results'][] = array('id'=>$i, 'name'=>$i); } $end_time['chosen'] = $this->end_time; $name = common_users::full_name($this->user_id); $users['results'] = common_users::get_users_sort_name(); $users['chosen'] = $this->user_id; ?>