/** * * @throws Exception */ public function executeResetBreaks() { global $wpdb; $breaks = $this->getParameter('breaks'); // remove all breaks for staff member $break = new AB_ScheduleItemBreak(); $break->removeBreaksByStaffId($breaks['staff_id']); $html_breaks = array(); // restore previous breaks if (isset($breaks['breaks']) && is_array($breaks['breaks'])) { $query = "INSERT INTO ab_schedule_item_break (staff_schedule_item_id, start_time, end_time) VALUES "; foreach ($breaks['breaks'] as $day) { $query .= "({$day['staff_schedule_item_id']}, '{$day['start']}', '{$day['end']}'), "; } $query = rtrim($query, ", "); $wpdb->get_results($query); } $staff = new AB_Staff(); $staff->load($breaks['staff_id']); // make array with breaks (html) for each day foreach ($staff->getScheduleList() as $list_item) { $html_breaks[$list_item->id] = $this->render("_breaks", array('day_is_not_available' => null === $list_item->start_time, 'list_item' => $list_item, 'time_format' => get_option('time_format')), false); } echo json_encode($html_breaks); exit; }