<?PHP

// 30 uur voordat sessie verloopt.
session_cache_expire(1800);
// Session start.
session_start();

// Tijdelijke check voor test periode.
if (mktime (date("H"), 0, 0, date("m"), date("j"), date("Y")) < mktime (14, 0, 0, 1, 31, 2008)) {
	if ($_GET["wijsurfen"]) $_SESSION["veilig"] = true;
	if (!$_SESSION["veilig"] AND !$_GET["no_html"]) exit;
}

// Zorg dat er database verbinding is.
require "connect.php";

// Zorg dat er querys via functies opgemaakt kunnen worden.
require "functions/func_mysql.php";
require "functions/func_reports.php";
require "functions/func_column.php";
require "functions/func_login.php";
require "functions/func_dynamic_page.php";
require "functions/func_user.php";
require "functions/func_stats.php";
require "functions/func_tagging.php";
require "functions/func_search.php";

// Aantal standaard waarden
$set_SITEPAGE_ID = array();
$set_SITEPAGE_ID["top"] = 1;
$set_SITEPAGE_ID["homepage"] = 3;
$set_SITEPAGE_ID["bottom"] = 2;

// Verzamelen van data.
$data = array();
$data["user"] = get_user_data(); // Get user data.

// Indien geen actie dan homepage showen.
// Actie ondernemen en $htmlcode opbouwen
switch ($_GET["action"]) {
  	// Blanco uitprinten van laatste column
    case "column_print_latest":
        require "pages/column_print_latest.php";
        break;
  	// Beschikbaar stellen van javascript voor laatste column.
    case "column_print_latest_javascript":
        require "pages/column_print_latest_javascript.php";
        break;
  	// Display options of column
    case "column_how_to_display":
        require "pages/column_how_to_display.php";
        break;
  	// Display options of column
    case "column_settings":
        require "pages/column_settings.php";
        break;
  	// Display stats links of column
    case "column_stats_links":
        require "pages/column_stats_links.php";
        break;
  	// Display edit text of column
    case "column_text_overview":
        require "pages/column_text_overview.php";
        break;
  	// Display edit text of column
    case "column_text_settings":
        require "pages/column_text_settings.php";
        break;
  	// Display edit text of column
    case "column_print_selected_text":
        require "pages/column_print_selected_text.php";
        break;
  	// Display edit text of column
    case "column_print_selected_text_javascript":
        require "pages/column_print_selected_text_javascript.php";
        break;

	// Display pages.
  	// Display edit text of column
    case "dynamic_paga_display":
        require "pages/dynamic_paga_display.php";
        break;

	// Search page
    case "search":
        require "pages/columns_search.php";
        break;

  	// User gedeelte
    case "user_new": // User settings
        require "pages/user_new.php";
        break;
    case "user_settings": // User settings
        require "pages/user_settings.php";
        break;
    case "columns_overview": // Columns overview
        require "pages/columns_overview.php";
        break;
    case "login":
        login_required(array("notset"));
        break;
    case "logout":
    	if ($_SERVER["PHP_AUTH_USER"] == "logout") header("Location: http://". $_SERVER["HTTP_HOST"] ."/");
    	else {
	        // Restart session
	        $_SESSION = array();
			if (isset($_COOKIE[session_name()])) setcookie(session_name(), '', time()-42000, '/');
	        session_destroy();
	        header("Location: http://logout:logout@". $_SERVER["HTTP_HOST"] ."/logout.html");
	    }
        exit;
        break;

  	// ADMIN gedeelte
    case "dynamic_page_edit":
        require "pages/dynamic_page_edit.php";
        break;
    case "users_overview":
        require "pages/users_overview.php";
        break;
    default :
	    $htmlcode = get_html_dynamic_page($set_SITEPAGE_ID["homepage"],$data);
}

// Displayen van HTML
if (!$_GET["no_html"]) {
	$topcode = <<<END
<html>
	<head>
	<title>WeColumn.com</title>
	<link REL="stylesheet" TYPE="text/css" href="/style.css">
	<script type="text/javascript" src="/fckeditor/fckeditor.js"></script>
	</head>
	<body>
	<div id="style_body">
END;

	// Include top.
	echo $topcode;
	echo get_html_dynamic_page($set_SITEPAGE_ID["top"],$data);

	// Include menu.
	$menu_naam = $data["user"]["user_rights"];
	if (!$menu_naam) $menu_naam = "guest";
	echo "<div id=\"menu\">". get_html_dynamic_page(get_SITEPAGE_ID_by_SITEPAGE_htmlname("menu_". $menu_naam),$data) ."</div>";
	echo "<div id=\"main_content\">";
}

// Include content
// Deze moet puur blijven zonder codes ivm javascript output.
echo  $htmlcode;

// Include bottom
if (!$_GET["no_html"]) {
  	echo "</div>";
	echo get_html_dynamic_page($set_SITEPAGE_ID["bottom"],$data);
	$topcode = <<<END
	</div>
	</body>
</html>
END;
}
?>