Beispiel #1
0
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;
}
        include "groups.php";
        exit;
    }
    if ($is_pop) {
        $result_xsl = "xsl/" . $default_xsl . "/groups_sch_ins_week_app_pop.xsl";
    } else {
        $result_xsl = "xsl/" . $default_xsl . "/groups_sch_ins_week_app.xsl";
    }
    if (!empty($_POST['submit_ins'])) {
        if (User_Validate_Simple_Field($_POST['description'], 100) <= 0) {
            $error[$num_errors++] = "The appointment description must be informed";
        }
        if ($_POST['beg_time'] >= $_POST['end_time']) {
            $error[$num_errors++] = "The ending time must be greater than the beginning time";
        }
        $check = Group_Check_Weekly_Appointment_Overlap($group_id, $_POST['day'], $_POST['beg_time'], $_POST['end_time'], $bd);
        if ($check) {
            $error[$num_errors++] = "One of the members has another weekly appointment within this time span";
        }
        if (empty($error)) {
            Group_Insert_Weekly_Appointment($group_id, $_POST['description'], $_POST['type'], $_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 . "/groups_sch_pop_final.xsl";
            }
        }
    }
} else {