function Group_Free_Schedule($group, $beg_date, $end_date, $beg_time, $end_time, $app_times, $days_of_week, $bd) { $beg_month = substr($beg_date, 5, 2); $beg_year = substr($beg_date, 0, 4); $beg_day = substr($beg_date, 8, 2); $end_month = substr($end_date, 5, 2); $end_year = substr($end_date, 0, 4); $end_day = substr($end_date, 8, 2); $u_beg_date = mktime(1, 1, 1, $beg_month, $beg_day, $beg_year); $u_end_date = mktime(1, 1, 1, $end_month, $end_day, $end_year); $num_days = ($u_end_date - $u_beg_date) / (24 * 60 * 60) + 1; $k = 0; for ($date = $u_beg_date; $date <= $u_end_date; $date += 24 * 60 * 60) { $day = date('d', $date); $month = date('m', $date); $year = date('Y', $date); $w_date = date('w', $date); $f_date = date("Y-m-d", $date); for ($i = 0; $i < count($app_times) - 1; $i++) { $overlap = Group_Check_Appointment_Overlap($group, $day, $month, $year, $i, $i + 1, $bd); $overlap_w = Group_Check_Weekly_Appointment_Overlap($group, $w_date, $i, $i + 1, $bd); $free = !($overlap || $overlap_w); $apps[$k][0] = ''; $apps[$k][0] = 'common'; $apps[$k][11] = 0; if ($free) { $apps[$k][12] = 'free'; } else { $apps[$k][12] = 'notfree'; } $apps[$k][7] = $i; $apps[$k][9] = $i + 1; $apps[$k][3] = 1; $apps[$k][4] = $day; $apps[$k][5] = $month; $apps[$k][6] = $year; $apps[$k][8] = $app_times[$i]; $apps[$k][10] = $app_times[$i + 1]; $k++; } } return $apps; }
} if ($_POST['beg_time'] >= $_POST['end_time']) { $error[$num_errors++] = "The ending time must be greater than the beginning time"; } if (User_Validate_Simple_Field($_POST['day'], 2) <= 0 && is_int($_POST['day'])) { $error[$num_errors++] = "The day must be informed correctly"; } if (User_Validate_Simple_Field($_POST['year'], 2) <= 0 && is_int($_POST['year'])) { $error[$num_errors++] = "The year must be informed correctly"; } else { $max_day = date('t', mktime(0, 0, 0, $_POST['month'], 1, $_POST['year'])); if ($_POST['day'] > $max_day) { $error[$num_errors++] = "Invalid day"; } } $check = Group_Check_Appointment_Overlap($group_id, $_POST['day'], $_POST['month'], $_POST['year'], $_POST['beg_time'], $_POST['end_time'], $bd); if ($check) { $error[$num_errors++] = "One of the members has another appointment within this time span "; } if (empty($error)) { $day_w = date('w', mktime(0, 0, 0, $_POST['month'], $_POST['day'], $_POST['year'])); $check = Group_Check_Weekly_Appointment_Overlap($group_id, $day_w, $_POST['beg_time'], $_POST['end_time'], $bd); if (!$check) { Group_Insert_Appointment($group_id, $_POST['description'], $_POST['type'], $_POST['year'] . "-" . $_POST['month'] . "-" . $_POST['day'], $_POST['beg_time'], $_POST['end_time'], $_POST['url'], $account_id, $bd); $alert[$num_alerts++] = "Appointment Inserted Successfully"; if (!$is_pop) { include "groups_schedule.php"; exit; } else { $result_xsl = "xsl/" . $default_xsl . "/sch_pop_final.xsl"; }