File manager - Edit - /home/wwwroot/camplus.hk/master.camplus.hk/public_html/application/modules/attendance/models/Setting_model.php
Back
<?php Class Setting_model extends CI_Model{ // function getExamples() // { // return $this->db->get('tb_example')->result_array(); // } function getDailyTimes() { return $this->db->get('at_daily_attendance')->result_array(); } function getUserTimeRules() { $this->db->order_by("at_attendance_rule_period.id", "desc"); return $this->db->select('at_attendance_rule_period.*, group_concat(DISTINCT(username) SEPARATOR ", ") as uids')->from('at_attendance_rule_period') ->join('at_attendance_rule_dates','at_attendance_rule_dates.arp_id=at_attendance_rule_period.id') ->join('users','at_attendance_rule_dates.uid=users.id') ->group_by('arp_id')->get()->result_array(); } function getSpecialTimeRules() { $this->db->select('*, group_concat(DISTINCT(at_special_attendance.uid)) as uid'); $this->db->join('at_special_attendance','at_special_attendance_timeset.sa_id=at_special_attendance.sat_id'); $this->db->group_by('at_special_attendance_timeset.sa_id'); return $this->db->get('at_special_attendance_timeset')->result_array(); } function getSpecialTimeRule($id = 0) { $this->db->select('group_concat(at_special_attendance.uid) as uid'); $this->db->from('at_special_attendance'); $this->db->where('sat_id = '. $id); $special_at = $this->db->group_by('at_special_attendance.sat_id')->get()->row_array(); $special_at_timerule=$this->db->get_where('at_special_attendance_timeset',array('sa_id' => $id))->result_array(); return array("special_at"=> $special_at,"special_trule"=>$special_at_timerule); } function getUserTrule($id = 0) { return $this->db->get_where('at_attendance_rule_period',array('id' => $id))->row_array(); } function getDailyTime($id = 0) { return $this->db->get_where('at_daily_attendance',array('id' => $id))->row_array(); } function getSpecialTime($id = 0) { return $this->db->get_where('at_special_attendance_timeset',array('sa_id' => $id))->row_array(); } //getUserTimerule function getUserTimerule($id = 0) { return $this->db->get_where('at_attendance_rule_period',array('id' => $id))->row_array(); } function getUserTimerule_users($id = 0) { $uid=array(); $data= $this->db->group_by('uid')->get_where('at_attendance_rule_dates',array('arp_id' => $id))->result_array(); for($i=0;$i<count($data);$i++) { $uid[]=$data[$i]['uid']; } return implode(',',$uid); } function getUserTimerule_dates($id = 0) { $dates=""; $data= $this->db->group_by('day')->get_where('at_attendance_rule_dates',array('arp_id' => $id))->result_array(); for($i=0;$i<count($data);$i++) { $dates.=$data[$i]['day'].','; } return rtrim($dates,','); } function getRules($id) { $daily_rule=[]; $data= $this->db->get_where('at_user_time_rule_set',array('arp_id' => $id))->result_array(); for($i=0;$i<count($data);$i++) { $daily_rule[$data[$i]['every_day']]=$data[$i]['da_id']; } return $daily_rule; } function getEveryday($id) { $every_day=""; $data= $this->db->get_where('at_user_time_rule_set',array('arp_id' => $id))->result_array(); for($i=0;$i<count($data);$i++) { $every_day .=$data[$i]['every_day'].','; } return $every_day; } function addDaily_at($data) { $daily_at=array('rule_name'=>$data['rule_name']); $this->db->insert('at_daily_attendance',$daily_at); $dt_id=$this->db->insert_id(); foreach($data['dailytimeset'] as $key => $value) { $data_dt['da_id']=$dt_id; foreach($value as $key1 => $value1) { // echo $key1.' '.$value1; if($key1=='check_in') { $check_in=$value1[0]; $data_dt[$key1]= $check_in; } else if($key1=='check_out') { $check_out=$value1[0]; $data_dt[$key1]= $check_out; } else{ $data_dt[$key1]=$value1; } } $this->db->insert('at_daily_attendance_timeset',$data_dt); unset($data_dt); } return true; } function editDaily_trule($data,$id) { $daily_at=array('rule_name'=>$data['rule_name']); $this->db->update('at_daily_attendance', $daily_at , array('id' => $id)); $this->db->delete('at_daily_attendance_timeset',array('da_id' => $id)); foreach($data['dailytimeset'] as $key => $value) { $data_dt['da_id']=$id; foreach($value as $key1 => $value1) { // echo $key1.' '.$value1; if($key1=='check_in') { $check_in=$value1[0]; $data_dt[$key1]= $check_in; } else if($key1=='check_out') { $check_out=$value1[0]; $data_dt[$key1]= $check_out; } else{ $data_dt[$key1]=$value1; } } $this->db->insert('at_daily_attendance_timeset',$data_dt); unset($data_dt); } return true; } function delete_daily_trule($id) { $this->db->delete('at_daily_attendance_timeset',array('da_id' => $id)); return $this->db->delete('at_daily_attendance',array('id' => $id)); } function add_user_trule_assign($data) { if(array_key_exists('public_holiday', $data) && array_key_exists('school_holiday', $data)) { $Timerule=array("rule_name"=>$data['rule_name'],"effective_from"=>$data['from'],"effective_to"=>$data['to'],'school_holiday'=>$data['school_holiday'],'public_holiday'=>$data['public_holiday']); } else if(array_key_exists('school_holiday', $data)) { $Timerule=array("rule_name"=>$data['rule_name'],"effective_from"=>$data['from'],"effective_to"=>$data['to'],'school_holiday'=>$data['school_holiday']); } else if(array_key_exists('public_holiday', $data)) { $Timerule=array("rule_name"=>$data['rule_name'],"effective_from"=>$data['from'],"effective_to"=>$data['to'],'public_holiday'=>$data['public_holiday']); } else { $Timerule=array("rule_name"=>$data['rule_name'],"effective_from"=>$data['from'],"effective_to"=>$data['to']); } $this->db->insert('at_attendance_rule_period',$Timerule); $arp_id=$this->db->insert_id(); foreach($data['days'] as $key => $day){ $user_rule=array('arp_id'=>$arp_id,'every_day'=>$day,'da_id'=>$data[$day]); $this->db->insert('at_user_time_rule_set',$user_rule); } foreach($data['my-select'] as $key => $user){ $dates= explode(",", $data['dates']); foreach($dates as $key => $date ) { $timestamp = strtotime($date); $day = date('D', $timestamp); $usertimeruledays=array("arp_id"=>$arp_id,"day"=>$date,"da_id"=>$data[$day],'uid'=>$user); $this->db->insert('at_attendance_rule_dates', $usertimeruledays); } } return true; } function edit_user_trule_assign($data,$id) { if(empty($data['school_holiday'])) $data['school_holiday'] = 0; if(empty($data['public_holiday'])) $data['public_holiday'] = 0; if(array_key_exists('public_holiday', $data) && array_key_exists('school_holiday', $data)) { $Timerule=array("rule_name"=>$data['rule_name'],"effective_from"=>$data['from'],"effective_to"=>$data['to'],'school_holiday'=>$data['school_holiday'],'public_holiday'=>$data['public_holiday']); } else if(array_key_exists('school_holiday', $data)) { $Timerule=array("rule_name"=>$data['rule_name'],"effective_from"=>$data['from'],"effective_to"=>$data['to'],'school_holiday'=>$data['school_holiday']); } else if(array_key_exists('public_holiday', $data)) { $Timerule=array("rule_name"=>$data['rule_name'],"effective_from"=>$data['from'],"effective_to"=>$data['to'],'public_holiday'=>$data['public_holiday']); } else { $Timerule=array("rule_name"=>$data['rule_name'],"effective_from"=>$data['from'],"effective_to"=>$data['to']); } $this->db->update('at_attendance_rule_period', $Timerule , array('id' => $id)); $arp_id=$id; //delete old data $this->db->delete('at_user_time_rule_set',array('arp_id' => $id)); foreach($data['days'] as $key => $day){ $user_rule=array('arp_id'=>$arp_id,'every_day'=>$day,'da_id'=>$data[$day]); $this->db->insert('at_user_time_rule_set',$user_rule); } $this->db->delete('at_attendance_rule_dates',array('arp_id' => $id)); foreach($data['my-select'] as $key => $user){ if(!empty($data['dates'])) { //echo 'adding dates for ' . $user . PHP_EOL; $dates= explode(",", $data['dates']); //print_r($dates); foreach($dates as $key1 => $date ) { if($date!='' && (strtotime($day) >= strtotime($data['from'])) && (strtotime($data['to']) >= strtotime($day) )) { $timestamp = strtotime($date); $day = date('D', $timestamp); $usertimeruledays=array("arp_id"=>$arp_id,"day"=>$date,"da_id"=>$data[$day],'uid'=>$user); $this->db->insert('at_attendance_rule_dates', $usertimeruledays); } } } } return true; } function delete_user_trule_assign($id) { $this->db->delete('at_attendance_rule_dates',array('arp_id' => $id)); $this->db->delete('at_user_time_rule_set',array('arp_id' => $id)); return $this->db->delete('at_attendance_rule_period', array('id' => $id)); } function addSpecialTimeRule($data) { $insert_array = array(); $this->db->select('MAX(sa_id) as max'); $result = $this->db->get('at_special_attendance_timeset')->row_array(); if(empty($result)) $sa_id = 1; else $sa_id = $result['max']+1; foreach($data['dailytimeset'] as $key => $timesets) { $data_dt['dates']= $data['dates']; foreach($timesets as $key1 => $timeset) { // echo $key1.' '.$value1; if($key1=='check_in') { $check_in=$timeset[0]; $data_dt[$key1]= $check_in; } else if($key1=='check_out') { $check_out=$timeset[0]; $data_dt[$key1]= $check_out; } else { $data_dt[$key1]=$timeset; } $data_dt['sa_id'] = $sa_id; } $this->db->insert('at_special_attendance_timeset',$data_dt); $insert_array[] = $this->db->insert_id(); unset($data_dt); } foreach($data['user_id'] as $user) { $this->db->insert('at_special_attendance', array('uid'=>$user,'sat_id'=>$sa_id)); } return true; } function editSpecialTimeRule($data,$id) { $this->db->delete('at_special_attendance',array('sat_id'=>$id)); $this->db->delete('at_special_attendance_timeset',array('sa_id'=>$id)); foreach($data['user_id'] as $user) { $this->db->insert('at_special_attendance', array('uid'=>$user,'sat_id'=>$id)); } foreach($data['dailytimeset'] as $key => $value) { $data_dt['dates']= $data['dates']; foreach($value as $key1 => $value1) { // echo $key1.' '.$value1; if($key1=='check_in') { $check_in=$value1[0]; $data_dt[$key1]= $check_in; } else if($key1=='check_out') { $check_out=$value1[0]; $data_dt[$key1]= $check_out; } else{ $data_dt[$key1]=$value1; } } $data_dt['sa_id'] = $id; $this->db->insert('at_special_attendance_timeset',$data_dt); unset($data_dt); } return true; } function delete_special_trule($id) { $this->db->delete('at_special_attendance_timeset',array('sa_id' => $id)); return $this->db->delete('at_special_attendance',array('id' => $id)); } function getDailyTimeSet($id = 0) { $daily_at=$this->db->get_where('at_daily_attendance',array('id' => $id))->row_array(); $daily_at_timeset=$this->db->get_where('at_daily_attendance_timeset',array('da_id' => $id))->result_array(); return array("daily_at"=> $daily_at,"daily_at_time"=>$daily_at_timeset); } function importSpecialTime($dataSet) { foreach ($dataSet as $data) { $user_id=[]; $dailytimeset=[]; $user_arr = explode(',',$data['username']); foreach ($user_arr as $user) { $result = $this->db->get_where('users',array('username'=>$user))->row_array(); if(!empty($result)) $user_id[] = $result['id']; } if($data['check_in']==0) $data['check_in']=1; else $data['check_in']=0; if($data['check_out']==0) $data['check_out']=1; else $data['check_out']=0; $dailytimeset[] = array('time_in'=>$data['time_in'],'check_in'=>array($data['check_in']),'time_out'=>$data['time_out'],'check_out'=>array($data['check_out']),'working_days'=>$data['working_days']); $this->addSpecialTimeRule(array('user_id'=>$user_id,'dates'=>$data['dates'],'dailytimeset'=>$dailytimeset)); //$exceldata[]=array("username"=>$rowData[0][0],"dates"=> $rowData[0][1],"time_in" =>$rowData[0][2], "check_in"=>$rowData[0][3] ,"time_out"=>$rowData[0][4],"check_out"=>$rowData[0][5],"working_days"=>$rowData[0][6]); } return true; } }
| ver. 1.4 |
Github
|
.
| PHP 7.2.34 | Generation time: 0.43 |
proxy
|
phpinfo
|
Settings