summaryrefslogtreecommitdiffstats
path: root/modules-available/exams/inc/exams.inc.php
blob: c01d4badf0fce98fbfded9f4d86c626d27765953 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

class Exams
{

	/**
	 * @param int[] of location ids. must bot be an associative array.
	 * @return: bool true iff for any of the given location ids an exam is scheduled.
	 **/
	public static function isInExamMode($locationIds)
	{
		if (!is_array($locationIds)) {
			$locationIds = array($locationIds);
		} elseif (empty($locationIds)) {
			return false;
		}
		$l = str_repeat(',?', count($locationIds) - 1);
		$res = Database::queryFirst("SELECT examid FROM exams"
			. " INNER JOIN exams_x_location USING (examid)"
			. " WHERE UNIX_TIMESTAMP() BETWEEN starttime AND endtime AND locationid IN (?$l) LIMIT 1", $locationIds);
		return $res !== false;
	}

}