Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $sch = _hk_scheduler_list();
- dsm($sch);
- $tasks = [];
- foreach($sch as $item){
- $start = $item->start;
- $end = strtotime('+2 months', $start);
- if(intval($item->end_date) !== 0){
- $end = $item->end_date;
- }
- $step = 24 * 60 * 60;
- if($item->mode === 'week'){
- $step = 7 * 24 * 60 * 60;
- }
- if($item->mode === 'month'){
- $step = 30 * 7 * 24 * 60 * 60;
- }
- $taskDates = array();
- for($i = $start; $i < $end;){
- switch($item->mode){
- case 'day':
- generateDates($item, $i, $tasks);
- $i = strtotime('+1 day', $i);
- break;
- case 'week':
- if(!empty($item->week_days) && !is_null($item->week_days)){
- $weekDays = explode(',', $item->week_days);
- }else{
- $weekDays = [1, 2, 3, 4, 5, 6, 7];
- }
- foreach($weekDays as $weekDay){
- generateDates($item, $i + ($weekDay * 24 * 60 * 60), $tasks);
- }
- $i = strtotime('+1 week', $i);
- break;
- case 'month':
- if(!empty($item->month_days) && !is_null($item->month_days)){
- $monthDays = explode(',', $item->month_days);
- }else{
- $monthDays = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31];
- }
- foreach($monthDays as $monthDay){
- generateDates($item, $i + ($monthDay * 24 * 60 * 60), $tasks);
- }
- $i = strtotime('+1 month', $i);
- break;
- }
- }
- }
- function generateDates($item, $i, &$tasks){
- $createDate = new DateTime();
- $createDate->setTimestamp($i);
- $task = array();
- if(!empty($item->hours) && !is_null($item->hours)){
- $hours = explode(',', $item->hours);
- foreach($hours as $hour){
- $time = explode(':', $hour);
- $createDate->setTime($time[0], $time[1]);
- $rooms = explode(',', $item->rooms);
- foreach($rooms as $room){
- $task['date_create'] = $createDate;
- $task['room'] = $room;
- //dsm($task);
- $tasks[$item->id][] = $task;
- }
- }
- }else{
- $createDate->setTime(0, 0);
- $rooms = explode(',', $item->rooms);
- foreach($rooms as $room){
- $task['date_create'] = $createDate;
- $task['room'] = $room;
- //dsm($task);
- $tasks[$item->id][] = $task;
- }
- }
- }
- dsm($tasks);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement