示例#1
0
/**
 * This function check if classrooms to be occupated are available or not
 *
 * @param int $idCourse
 * @return array $course_class or false if classrooms are available
 */
function checkAvailableClass($idCourse, $edition_id = FALSE)
{
    require_once $GLOBALS["where_framework"] . "/lib/resources/lib.timetable.php";
    $tt = new TimeTable();
    $resource = "classroom";
    if ($edition_id === FALSE) {
        $consumer = "course";
        $consumer_id = $idCourse;
        $qtxt = "SELECT date_begin, date_end FROM " . $GLOBALS["prefix_lms"] . "_course ";
        $qtxt .= "WHERE idCourse='" . (int) $idCourse . "'";
    } else {
        $consumer = "course_edition";
        $consumer_id = $edition_id;
        $qtxt = "SELECT date_begin, date_end FROM " . $GLOBALS["prefix_lms"] . "_course_edition ";
        $qtxt .= "WHERE idCourseEdition='" . (int) $edition_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;
    }
    // Occupied resources
    $in_use = $tt->getResourcesInUse($resource, $start_date, $end_date);
    // Classroom Resources used by current consumer
    $consumer_resources = $tt->getConsumerResources($consumer, $consumer_id, $start_date, $end_date, $resource);
    foreach ($consumer_resources as $val) {
        $tmp_id = $val["resource_id"];
        if (in_array($tmp_id, $in_use)) {
            unset($in_use[$tmp_id]);
        }
    }
    if (empty($in_use)) {
        $in_use = FALSE;
    }
    return $in_use;
}