<?php

	$title = "Add New Job";

	if ( $_POST['state'] == "addjob" ) {
		$username = preg_replace("/[^a-zA-Z0-9_ -]/", "", $_POST['user']);
		$auth = preg_replace("/[^a-z0-9]/", "", $_POST['auth']);

		$result = mysql_queryf("SELECT id FROM users WHERE name=%s AND auth=%s;", $username, $auth);

		if ( $row = mysql_fetch_array($result) ) {
			$user_id = intval($row[0]);

		# TODO: Improve error message quality.
		} else {
			echo "Incorrect username or auth token.";
			exit();	
		}

		mysql_queryf("INSERT INTO jobs (user_id,name,created) VALUES(%u,%s,NOW());",
			$user_id, $_POST['job_name']);

		$job_id = mysql_insert_id();

		foreach ( $_POST['suites'] as $suite_num => $suite_name ) {
			if ( $suite_name ) {
				#echo "$suite_num " . $_POST['suites'][$suite_num] . " " . $_POST['urls'][$suite_num] . "<br>";
				mysql_queryf("INSERT INTO runs (job_id,name,url,created) VALUES(%u,%s,%s,NOW());",
					$job_id, $suite_name, $_POST['urls'][$suite_num]);

				$run_id = mysql_insert_id();

				$ua_type = "1 = 1";

				if ( $_POST['browsers'] == "popular" ) {
					$ua_type = "popular = 1";
				} else if ( $_POST['browsers'] == "current" ) {
					$ua_type = "current = 1";
				} else if ( $_POST['browsers'] == "gbs" ) {
					$ua_type = "gbs = 1";
				} else if ( $_POST['browsers'] == "beta" ) {
					$ua_type = "beta = 1";
				} else if ( $_POST['browsers'] == "popularbeta" ) {
					$ua_type = "(popular = 1 OR beta = 1)";
				}

				$result = mysql_queryf("SELECT id FROM useragents WHERE active = 1 AND $ua_type;");

				while ( $row = mysql_fetch_array($result) ) {
					$browser_num = $row[0];
					mysql_queryf("INSERT INTO run_useragent (run_id,useragent_id,max,created) VALUES(%u,%u,%u,NOW());",
						$run_id, $browser_num, $_POST['max']);
				}
			}
		}

		$url = "/job/" . $job_id . "/";

		if ( $_POST['output'] == "dump" ) {
			echo $url;
		} else {
			header("Location: $url");
		}

		exit();
	}

?>