示例#1
0
function addUserToTimeTable($user_id, $course_id, $edition_id = 0)
{
    // -- timetable setup ------------------------------------------------
    require_once $GLOBALS["where_framework"] . "/lib/resources/lib.timetable.php";
    $tt = new TimeTable();
    $resource = "user";
    $resource_id = $user_id;
    if ($edition_id > 0) {
        $consumer = "course_edition";
        $consumer_id = $edition_id;
        $table = $GLOBALS["prefix_lms"] . "_course_edition";
        $id_name = "idCourseEdition";
    } else {
        $consumer = "course";
        $consumer_id = $course_id;
        $table = $GLOBALS["prefix_lms"] . "_course";
        $id_name = "idCourse";
    }
    // -------------------------------------------------------------------
    $qtxt = "SELECT date_begin, date_end FROM " . $table . " ";
    $qtxt .= "WHERE " . $id_name . "='" . (int) $consumer_id . "'";
    $q = sql_query($qtxt);
    if ($q && mysql_num_rows($q) > 0) {
        $row = mysql_fetch_assoc($q);
        $start_date = $row["date_begin"];
        $end_date = $row["date_end"];
    } else {
        return FALSE;
    }
    $res = $tt->saveEvent(FALSE, $start_date, $end_date, $start_date, $end_date, $resource, $resource_id, $consumer, $consumer_id);
    return $res;
}
示例#2
0
function assignClassroomToEdition()
{
    $err = FALSE;
    $idCourse = importVar('idCourse', true, 0);
    $idCourseEdition = importVar('edition_id', true, 0);
    // -- timetable setup ------------------------------------------------
    require_once $GLOBALS["where_framework"] . "/lib/resources/lib.timetable.php";
    $tt = new TimeTable();
    $resource = "classroom";
    $consumer = "course_edition";
    $consumer_id = $idCourseEdition;
    // -------------------------------------------------------------------
    if (isset($_POST['class_room_to_edition'])) {
        $saved_room = $_POST["class_room_to_edition"];
        // -- Adding info to the timetable -----------------------------------
        $qtxt = "SELECT date_begin, date_end " . "FROM " . $GLOBALS["prefix_lms"] . "_course_edition " . "WHERE idCourseEdition = '" . (int) $idCourseEdition . "'";
        $q = sql_query($qtxt);
        if (!$q || !mysql_num_rows($q)) {
            Util::jump_to('index.php?modname=course&op=course_list&result=fail_course');
        }
        list($start_date, $end_date) = sql_fetch_row($q);
        $save_ok = $tt->saveEvent(FALSE, $start_date, $end_date, $start_date, $end_date, $resource, $saved_room, $consumer, $consumer_id);
    } else {
        $saved_room = '';
    }
    // -- Removin old info from the timetable ----------------------------
    if ($saved_room != '') {
        $exclude_resource_id = $saved_room;
    } else {
        $exclude_resource_id = FALSE;
    }
    $tt->deleteAllConsumerEventsForResource($resource, $consumer, $consumer_id, $exclude_resource_id);
    // -------------------------------------------------------------------
    $query = "UPDATE " . $GLOBALS['prefix_lms'] . "_course_edition\r\n\tSET classrooms = '{$saved_room}'\r\n\tWHERE idCourseEdition = {$idCourseEdition}";
    $err = sql_query($query);
    Util::jump_to('index.php?modname=course&op=course_list&result=' . ($err === FALSE ? "ok_course" : "fail_course"));
}
 function store()
 {
     if ($this->getPerm()) {
         $start_date = $this->start_year . "-" . $this->start_month . "-" . $this->start_day . " " . $this->start_hour . ":" . $this->start_min . ":" . $this->start_sec;
         $end_date = $this->end_year . "-" . $this->end_month . "-" . $this->end_day . " " . $this->end_hour . ":" . $this->end_min . ":" . $this->end_sec;
         if ($this->id > 0) {
             $action_add = FALSE;
             $table = $GLOBALS['prefix_lms'] . "_classroom_calendar";
             $qtxt = "SELECT start_date, end_date FROM " . $table . " ";
             $qtxt .= "WHERE id='" . (int) $this->id . "'";
             $q = sql_query($qtxt);
             list($old_start_date, $old_end_date) = sql_fetch_row($q);
             $query = "UPDATE " . $GLOBALS['prefix_lms'] . "_classroom_calendar SET ";
         } else {
             $action_add = TRUE;
             $old_start_date = $start_date;
             $old_end_date = $end_date;
             $query = "INSERT INTO " . $GLOBALS['prefix_lms'] . "_classroom_calendar SET owner='" . Docebo::user()->getIdSt() . "',";
         }
         $query .= "start_date='" . $start_date . "',";
         $query .= "end_date='" . $end_date . "',";
         $query .= "classroom_id='" . (int) $this->classroom . "',";
         $query .= "title='" . $this->title . "',";
         $query .= "description='" . $this->description . "' ";
         if ($this->id > 0) {
             $query .= " WHERE id='" . $this->id . "'";
         }
         $q = sql_query($query);
         if (mysql_error()) {
             die(mysql_error() . "<br />" . $query);
         }
         if ($q) {
             if ($action_add) {
                 $this->id = mysql_insert_id();
             }
             // -- timetable setup ------------------------------------------------
             require_once $GLOBALS["where_framework"] . "/lib/resources/lib.timetable.php";
             $tt = new TimeTable();
             $resource = "classroom";
             $resource_id = (int) $this->classroom;
             $consumer = "classroom_event";
             $consumer_id = $this->id;
             // -------------------------------------------------------------------
             $save_ok = $tt->saveEvent(FALSE, $start_date, $end_date, $old_start_date, $old_end_date, $resource, $resource_id, $consumer, $consumer_id);
             if (!$save_ok) {
                 // Not very optimized but we're late :P
                 $query = "DELETE FROM " . $GLOBALS['prefix_lms'] . "_classroom_calendar WHERE id='" . $this->id . "'";
                 $q = sql_query($query);
                 //$this->id=0;
                 return false;
             }
         } else {
             //$this->id=0;
         }
         return $this->id;
     } else {
         return 0;
     }
 }