#!/usr/bin/php
<?php
	chdir(dirname($argv[0]));
	require("../libraries/settings.php");

	print "Make sure the database settings in settings/website.conf are correct!\n\n";

	/* Get MySQL root password
	 */
	do {
		print "Enter MySQL root password: ";
		system("stty -echo");
		$password = trim(fgets(STDIN));
		system("stty echo");
		print "\n";
	} while ($password == "");

	/* Connect to MySQL server
	 */
	ob_start();
	$db = new MySQLi_connection(DB_HOSTNAME, "mysql", "root", $password);
	ob_end_clean();

	if ($db->connected == false) {
		exit("Can't connect to MySQL database.\n");
	}

	$db->query("begin");

	/* Create user
	 */
	$query = "insert into user values (%s, %s, password(%s)".str_repeat(", %s", 34).")";
	$values = array("localhost", DB_USERNAME, DB_PASSWORD, array_fill(1, 26, 'N'), '', '', '', '', 0, 0, 0, 0);

	if ($db->query($query, $values) == false) {
		$db->query("rollback");
		exit("Error creating user\n");
	}

	/* Create database
	 */
	$query = "create database %S";
	if ($db->query($query, DB_DATABASE) == false) {
		$db->query("rollback");
		exit("Error creating database\n");
	}

	/* Set access rights
	 */
	$query = "insert into db values(".implode(", ", array_fill(1, 20, "%s")).")";
	$values = array("localhost", DB_DATABASE, DB_USERNAME, array_fill(1, 6, "Y"), "N", array_fill(1, 10, "Y"));

	if ($db->query($query, $values) == false) {
		$db->query("rollback");
		exit("Error setting access rights\n");
	}

	$db->query("commit");
	$db->query("flush privileges");

	/* Import tables
	 */
	system("mysql -u ".DB_USERNAME." --password=".DB_PASSWORD." ".DB_DATABASE." < mysql.sql");
?>
