<?
	/** Odbieranie rozwiązania strudenta.
	 * @author Michał Malinowski
	 * @package XPStudent
	 */

	 /** Potrzebna jest funkcja zczytujące informacje o oddanych pracach.
	 */
	 include './functions/Sdb.fun.php';

	/**
	 *
	 *
	 * @author Michał Malinowski
	 * @version 0.1
	 */
	function getFile($zaj_cyk, $idTask) {
		global $sess;

		if (!isset($_SESSION[$sess->name('Sgroups')][$zaj_cyk]['tasks'][$idTask]))
			return;
		getGivenJobs($jobs, $idTask, $sess->get("id"));
		if (sizeof($jobs) >= 5) {
			$sess->set('Sfile_error', 'Wykorzystałeś już limit wysyłań!<br>Pamiętaj, że możesz wysłać tylko 5 razy rozwiązanie.');
			return;
		}
		$zajData = &$_SESSION[$sess->name('Sgroups')][$zaj_cyk];
		$now = time();

		if (is_uploaded_file($_FILES['Sfile']['tmp_name'])) {
			if (empty($_FILES['Sfile']['size'])) {
			}
			ereg("\.([^\.]*)$", $_FILES['Sfile']['name'], $exts);
			if ($exts[1] != 'tgz') {
				$sess->set('Sfile_error', 'Nieznane rozszerzenie pliku: ' . htmlspecialchars($exts[1]) . '.<br>Oczekiwałem rozszerzenia tgz.');
				return;
			}

			$dir = '/' . $zajData['cdyd_kod'] . '/' . $zaj_cyk . '/' . $zajData['gr_nr'] . '/' . $idTask . '/' . $sess->get('indeks');
			exec("./script/upload $dir " . $_FILES['Sfile']['tmp_name']);
			$qstr =
				"UPDATE XP_ODDANE_PRACE
					SET status = 'U'
					WHERE  id_zad = '$idTask'  AND  id_stud = '" . $sess->get("id") . "'";
			$q = new CQuery($qstr);
			$qstr =
				"insert into XP_ODDANE_PRACE (id_stud, id_zad, oddanie, file, rozmiar) values (" .
				$sess->get("id") . ", $idTask,  '" . date("Y-m-d H:i:s", $now) . "', '$dir', " . $_FILES['Sfile']['size'] .")";
			$q->query($qstr);
			$q->query("select LAST_INSERT_ID()");
			$arr = $q->fetch_array();
			$sess->setTab('Sfile_status', 'id', $arr['last_insert_id()']);
			$sess->setTab('Sfile_status', 'idTask', $idTask);
			$sess->setTab('Sfile_status', 'nr', 1 + sizeof($jobs));
			$sess->setTab('Sfile_status', 'zaj_cyk', $zaj_cyk);
			$sess->setTab('Sfile_status', 'size', $_FILES['Sfile']['size']);
			$sess->setTab('Sfile_status', 'date', date("Y-m-d H:i:s", $now));
			Sget_actual_tasks();
		}
		else {
			$sess->set('Sfile_error', 'A teraz bądź tak grzeczny i podaj nazwę pliku przed wysłaniem!<br> I żeby to był niepusty plik!');
			return;
		}
	}

	$sess->del('Sfile_error');
	$sess->del('Sfile_status');
	getFile($_POST['Szaj_cyk'], $_POST['Stask']);
?>
