<?php

	$base_url = "URL";
	$front_page = "INDEX";
	$page_not_found = "404";
	$theme_folder = "THEME";
	$plugin_folder = "PLUGIN";

	$db_server = "SERVER";
	$db_user = "USER";
	$db_pass = "PASSWORD";
	$db_name = "NAME";
	$db_utf8 = "YES/NO";

	$base_directory = dirname(__FILE__);

	$time = microtime(true);

	$url_table = "";
	$url_variable = "";

	if (!$_GET) {
		$url_table = "article";
		$url_variable = $front_page;
	}
	elseif (isset($_GET['article']) === TRUE) {
		$url_table = "article";
		$url_variable = $_GET['article'];
	} elseif (isset($_GET['category']) === TRUE) {
		$url_table = "category";
		$url_variable = $_GET['category'];
	} elseif (isset($_GET['author']) === TRUE) {
		$url_table = "author";
		$url_variable = $_GET['author'];
	} else {
		$url_table = "article";
		$url_variable = $page_not_found;
	};

	if ($db_utf8 == "yes") {
		$db_array = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
	} else {
		$db_array = null;
	};

	try {
		$pdo = new PDO("mysql:host=$db_server; dbname=$db_name", $db_user, $db_pass, $db_array);
		$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	} catch(PDOException $pdo_error) {
		echo "Connection failed: " . $pdo_error->getMessage();
		exit;
	};

	$stmt = $pdo->prepare("SELECT * FROM $url_table WHERE url = :url");
	$stmt->bindParam(":url", $url_variable);
	$stmt->execute();

	if ($stmt->rowCount() == 0) {
		$stmt = $pdo->prepare("SELECT * FROM article WHERE url = :url");
		$stmt->bindParam(":url", $page_not_found);
		$stmt->execute();
	};

	$page = $stmt->fetch();

	$stmt = $pdo->prepare("SELECT * FROM template WHERE id_template = :template");
	$stmt->bindParam(":template", $page["template"]);
	$stmt->execute();
	$template = $stmt->fetch();
	$pdo = null;

	require(dirname(__FILE__) . "/" . $theme_folder . "/" . $template["file"]);

?>