<?
	/** Funkcje operujące na bazie danych, przeznaczone dla zastosowań studenta.
	 * @author Michał Malinowski
	 * @package XPStudent
	 */

	 /** */
	if ( defined( '_S_DB_FUN' ) ) return;
	define( '_S_DB_FUN', 1 );

	/** Funkcja wyciągająca z bazy danych zadania dla konkretnego przedmiotu w cyklu.
	 * @author Michał Malinowski
	 * @version 0.1
	 * @param array &$lab przedmiot do krótego ma być wpisana tablica z zadaniami - 'tasks'.
	 * @param string $zaj_cykli numer zajęć
	 * @param string $gr numer grupy
	 */
	function readTasks(&$lab, $zaj_cykli, $gr) {
		global $sess;

		$lab['tasks'] = array();
		$sel =
			"SELECT zad.id, zad.numer_zad, zad.link_url, zad.nazwa, UNIX_TIMESTAMP(zad.termin1), UNIX_TIMESTAMP(zad.termin2), zad.poblazanie, os.imie, os.nazwisko, os.email, UNIX_TIMESTAMP(zad_gr.gr_termin1)
				FROM XP_ZADANIE zad, XP_OSOBY os, XP_ZADANIE_GRUPY zad_gr
				WHERE  zad.zaj_cykli = '$zaj_cykli'  AND  zad.autor = os.id
					AND  zad_gr.id_zad = zad.id        AND  zad_gr.nalezy = 'Y'
				ORDER BY zad.numer_zad";
		$q = new CQuery($sel);
		while ($arr = $q->fetch_array()) {
			$lab['tasks'][$arr['id']] =
				array('numer_zad' => $arr['numer_zad'],
							'link_url' => $arr['link_url'],
							'nazwa' => $arr['nazwa'],
							'termin1' => $arr['UNIX_TIMESTAMP(zad.termin1)'],
							'termin2' => $arr['UNIX_TIMESTAMP(zad.termin2)'],
							'poblazanie' => $arr['poblazanie'],
							'aimie' => $arr['imie'],
							'anazwisko' => $arr['nazwisko'],
							'aemail' => $arr['email']);
			if ($arr['UNIX_TIMESTAMP(zad_gr.gr_termin1)'])
				$lab['tasks'][$arr['id']]['termin1'] = $arr['UNIX_TIMESTAMP(zad_gr.gr_termin1)'];
		}
	}

	/** Funkcja wyciągająca z bazy danych zadania dla konkretnego przedmiotu w cyklu.
	 * @author Michał Malinowski
	 * @version 0.1
	 * @param array &$lab przedmiot do krótego ma być wpisana tablica z zadaniami - 'tasks'.
	 * @param string $zaj_cykli numer zajęć
	 * @param string $gr numer grupy
	 */
	function getGivenJobs(&$jobs, $idZad, $idStud) {
		global $sess;

		$sel =
			"SELECT id, UNIX_TIMESTAMP(oddanie), rozmiar, status
				FROM XP_ODDANE_PRACE
				WHERE  id_zad = '$idZad'  AND  id_stud = '$idStud'
				ORDER BY UNIX_TIMESTAMP(oddanie)";
		$q = new CQuery($sel);
		if ($q->num_rows()) {
			$jobs = array();
			while ($arr = $q->fetch_array()) {
				$jobs[$arr['id']] =
					array ('oddanie' => $arr['UNIX_TIMESTAMP(oddanie)'],
								 'rozmiar' => $arr['rozmiar']);
				switch ($arr['status']) {
				case 'A':
					$jobs[$arr['id']]['status'] = 'Aktualne';
					break;
				default:
					$jobs[$arr['id']]['status'] = 'Usunięte';
				}
			}
		}
	}

?>
