<?php
error_reporting(E_ALL);

//---[CZ]: složka s třídami
define("CLASSES_PATH", "components/classes/");

//---[CZ]: načteme soubor s DB údaji
include "config.php";

//---[CZ]: definování proměnných
if (!isset($_GET["action"])) { $_GET["action"]=""; }

// ######
// ######
// ######

//---[CZ]: načteme potřebné třídy
include CLASSES_PATH."Db_layer.php";
include CLASSES_PATH."Index.php"; $index=new Index();
include CLASSES_PATH."Login.php"; $login=new Login();
include CLASSES_PATH."Config_variables.php"; $config_variables=new Config_variables();
include CLASSES_PATH."Status_messages.php";
include CLASSES_PATH."Print_forums.php";

if (isset($_GET["forum"]) OR $_GET["action"]=="search") {
include CLASSES_PATH."Print_topics.php";
}

if (isset($_GET["topic"])) {
include CLASSES_PATH."Print_posts.php";
}

if (isset($_GET["forum"]) OR isset($_GET["topic"]) OR $_GET["action"]=="search") {
include CLASSES_PATH."Paging.php";
}

if (isset($_GET["profile"])) {
include CLASSES_PATH."Profile.php"; $profile=new Profile();
}

if ($_GET["action"]=="replace_topic" OR $_GET["action"]=="replace_post") {
include CLASSES_PATH."Replace_items.php"; $replace_items=new Replace_items();
}

if (isset($_GET["forum"]) OR isset($_GET["topic"]) OR $_GET["action"]=="edit_topic" OR $_GET["action"]=="edit_post" OR $_GET["action"]=="response") {
include CLASSES_PATH."Formating.php"; $formating=new Formating();
}

// ######
// ######
// ######

//---[CZ]: zkontrolujeme, zda není IP zabanována
if ($index->check_ban()==0):

//---[CZ]: vybereme tabulku s uživateli
define("TABLE_USERS", $config_variables->get("table_users"));

//---[CZ]: načteme jazykový soubor
include ("languages/".$config_variables->get("lang").".php");

//---[CZ]: odstartujeme session
session_start();

//---[CZ]: přihlášení
if ($_GET["action"]=="login") { $login->login(); }

//---[CZ]: automatické přihlášení
if (isset($_COOKIE["user_check"]) AND !isset($_SESSION["user_id"])) { $login->autologin(); }

//---[CZ]: odhlášení
if ($_GET["action"]=="logout") { $login->logout(); }

//---[CZ]: aktualizace počtu zobrazení topicu
if (isset($_GET["topic"]) AND !isset($_COOKIE["viewed_topic_".$_GET["topic"]])) { $index->update_views(); }

//---[CZ]: zamykání/odemykání topicu
if ($_GET["action"]=="topic_lock" AND $login->check_rights()>=$config_variables->get("topic_lock_and_unlock_rights")) { $index->topic_lock(); }

//---[CZ]: změna statusu topicu
if ($_GET["action"]=="topic_status" AND $login->check_rights()>=$config_variables->get("topic_lock_and_unlock_rights")) { $index->topic_status(); }

//---[CZ]: přesunutí topicu
if ($_GET["action"]=="replace_topic" AND $login->check_rights()>=$config_variables->get("items_replace_rights") AND isset($_POST["submit"])) { $replace_items->move_topic(); }

//---[CZ]: přesunutí příspěvku
if ($_GET["action"]=="replace_post" AND $login->check_rights()>=$config_variables->get("items_replace_rights") AND isset($_POST["submit"])) { $replace_items->move_post(); }

//---[CZ]: registrace
if ($_GET["action"]=="register" AND isset($_POST["submit"])) { $index->registration(); }

//---[CZ]: uložení změn v profilu
if (isset($_POST["submit"]) AND isset($_GET["profile"]) AND $_GET["profile"]==$_SESSION["user_id"]) { $profile->save_profile(); }

//---[CZ]: nový příspěvek
if ($_GET["action"]=="new_post" AND isset($_POST["submit"])) { $index->new_post($config_variables->get("paging_number")); }

//---[CZ]: úprava příspěvku
if ($_GET["action"]=="edit_post" AND isset($_POST["submit"])) { if ($login->check_rights()>0 OR $index->id_info()==$_SESSION["user_id"]) { $index->edit_post($config_variables->get("paging_number")); } }

//---[CZ]: úprava topicu
if ($_GET["action"]=="edit_topic" AND isset($_POST["submit"])) { if ($login->check_rights()>0 OR $index->id_info()==$_SESSION["user_id"]) { $index->edit_topic(); } }

//---[CZ]: smazání příspěvku
if ($_GET["action"]=="delete_post" AND isset($_GET["p_id"]) AND $login->check_rights()>=$config_variables->get("post_delete_rights")) { $index->delete_post(); }

//---[CZ]: smazání topicu
if ($_GET["action"]=="delete_topic" AND isset($_GET["t_id"]) AND $login->check_rights()>=$config_variables->get("topic_delete_rights")) { $index->delete_topic(); }

//---[CZ]: odpověď na příspěvek
if ($_GET["action"]=="response" AND isset($_POST["submit"])) { $index->response($config_variables->get("paging_number")); }

//---[CZ]: nový topic
if ($_GET["action"]=="new_topic" AND isset($_POST["submit"])) { $index->new_topic(); }

//---[CZ]: přesměrování vyhledávání do GET
if ($_GET["action"]=="search" AND !isset($_GET["w"])) { $index->search_to_get(); }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $config_variables->get("lang"); ?>">
<head>
<meta name="Author" content="Powered by K:Board v<?php echo $config_variables->get("version"); ?>, (c) 2008-2009 Stepan Matl, kboard.stepanmatl.cz" />
<meta name="Copyright" content="<?php echo strip_tags($config_variables->get("meta_copyright")); ?>" />
<meta name="Keywords" content="<?php echo $config_variables->get("meta_keywords"); ?>" />
<meta name="Robots" content="index, follow" />
<meta name="Description" content="<?php echo $config_variables->get("meta_desc"); ?>" />
<meta http-equiv="Content-language" content="<?php echo $config_variables->get("lang"); ?>" />
<meta http-equiv="Cache-control" content="public" />
<meta http-equiv="Content-type" content="application/xhtml+xml; charset=utf-8" />
<link rel="Stylesheet" href="./themes/<?php echo $config_variables->get("theme"); ?>.css" type="text/css" />
<link rel="Shortcut icon" href="./components/images/favicon/favicon.ico" type="image/x-icon" />
<link rel="Icon" href="./components/images/favicon/favicon.ico" type="image/x-icon" />
<title><?php echo $config_variables->get("sitename"); $index->title_tag(); ?></title>
</head>
<body>
<?php include "components/user_editable/top_place.php"; ?>

<script type="text/javascript">
/* <![CDATA[ */
function openWindow(link) {
  otevrit=window.open(link);
  return (typeof(otevrit)=='object')?true:false;
}
/* ]]> */
</script>

<div id="header"><?php echo $config_variables->get("sitename"); ?></div>

<h1><?php $index->h1_tag(); ?></h1>

<div id="content">

<?php if (!isset($_SESSION["user_id"])): ?>

<div class="popup-normal" id="login-window" style="display: none;">

<form action="./index.php?action=login" method="post">

<h2><?php echo LANG_LOGIN; ?></h2>

<p><strong><?php echo LANG_USERNAME; ?>:</strong><br /><input type="text" name="login" /></p>

<p><strong><?php echo LANG_PASSWORD; ?>:</strong><br /><input type="password" name="password" />

</p>

<p><input type="submit" name="submit" value="<?php echo LANG_LOGIN; ?>" class="button" /> <input type="button" onclick="getElementById('login-window').style.display='none';" value="<?php echo LANG_CLOSE_WINDOW; ?>" class="button" /></p>

</form>

</div>

<div class="popup-normal" id="registration-window" style="display: none;">

<form action="./index.php?action=register" method="post">

<h2><?php echo LANG_REGISTRATION; ?></h2>

<p><strong><?php echo LANG_USERNAME; ?>:</strong><br /><input type="text" name="login" /></p>

<p><strong><?php echo LANG_PASSWORD; ?>:</strong><br /><input type="password" name="password" /></p>

<div class="display-none"><input type="text" name="robot" value="www" id="robot2" /></div>

<script type="text/javascript">
/* <![CDATA[ */
document.getElementById("robot2").value="";
/* ]]> */
</script>

<p><input type="submit" name="submit" value="<?php echo LANG_REGISTRATION; ?>" class="button" /> <input type="button" onclick="getElementById('registration-window').style.display='none';" value="<?php echo LANG_CLOSE_WINDOW; ?>" class="button" /></p>

</form>

</div>

<?php endif; ?>

<div class="popup-normal" id="search-window" style="display: none;">

<form action="./index.php?action=search" method="post">

<h2><?php echo LANG_SEARCH; ?></h2>

<p><strong><?php echo LANG_WANTED_WORD; ?>:</strong><br /><input type="text" name="search" /></p>

<p><input type="submit" name="submit" value="<?php echo LANG_SEARCH; ?>" class="button" /> <input type="button" onclick="getElementById('search-window').style.display='none';" value="<?php echo LANG_CLOSE_WINDOW; ?>" class="button" /></p>

</form>

</div>

<?php
//---[CZ]: pokud se má vypsat zpráva
if (isset($_GET["mt"])) { $status_messages=new Status_messages(); $status_messages->create(); }
?>

<p id="top-links"><?php if (!isset($_SESSION["user_id"])): ?><a href="#" onclick="getElementById('login-window').style.display='block';"><?php echo LANG_LOGIN; ?></a> &bull; <a href="#" onclick="getElementById('registration-window').style.display='block';"><?php echo LANG_REGISTRATION; ?></a><?php else: echo ucfirst(LANG_USER)." ".$index->logged_user_details("login").": "; ?><?php if ($login->check_rights()>0): ?><a href="./admin.php"><?php echo LANG_ADMINISTRATION; ?></a> &bull; <?php endif; ?><a href="./index.php?profile=<?php echo $_SESSION["user_id"]; ?>"><?php echo LANG_MY_PROFILE; ?></a> &bull; <a href="./index.php?action=logout"><?php echo LANG_LOGOUT; ?></a><?php endif; ?> &bull; <a href="#" onclick="getElementById('search-window').style.display='block';"><?php echo LANG_SEARCH; ?></a><?php echo $config_variables->get("top_links"); ?></p>

<?php
//---[CZ]: pokud neprovádíme žádnou akci
if ($_GET["action"]=="") {

//---[CZ]: pokud neprohlížíme profil
if (!isset($_GET["profile"])) {

//---[CZ]: pokud jsme na úvodní stránce fóra
if (!isset($_GET["forum"]) AND !isset($_GET["topic"])) {

//---[CZ]: vypíšeme kategorie a fóra
$print_forums=new Print_forums();
$print_forums->print_data($config_variables->get("paging_number"), $config_variables->get("date_format"));

}

// ######
// ######
// ######

//---[CZ]: pokud jsme ve fóru
if (isset($_GET["forum"])) {

//---[CZ]: fórum - ověříme práva pro čtení
if ($login->check_rights()>=$index->forum_details("read_rights")) {

//---[CZ]: fórum - vypíšeme topicy
$print_topics=new Print_topics();
$print_topics->print_data($config_variables->get("paging_number"), $config_variables->get("date_format"), $config_variables->get("topic_lock_and_unlock_rights"), $config_variables->get("topic_delete_rights"), $config_variables->get("items_replace_rights"));

//---[CZ]: fórum - ověříme, zda je odemčeno
if ($index->forum_details("locked")==0 OR $login->check_rights()>=$config_variables->get("locked_forums_writing_rights")) {

//---[CZ]: fórum - pokud je pro zápis nutné přihlášení
if ($index->forum_details("write_ntbl")==1 AND !isset($_SESSION["user_id"])) { echo "<h2>".LANG_YOU_MUST_BE_LOGGED_TO_WRITING_POSTS.".</h2>\n\n"; }

else {
//---[CZ]: nahrajeme formulář
include "components/pages_index/add_topic.php";
}

//---[CZ]: fórum - pokud je zamčeno, vypíšeme zprávu
} else { echo "<h2>".LANG_FORUM_IS_LOCKED.".</h2>\n\n"; } 

//---[CZ]: fórum - pokud nemáme dostatečná práva pro čtení
} else { echo "<h2>".LANG_YOU_HAVE_NOT_ACCESS_TO_THIS_SECTION."</h2>"; }

}

// ######
// ######
// ######

//---[CZ]: pokud jsme v topicu
if (isset($_GET["topic"])) {

//---[CZ]: topic - ověříme práva pro čtení
if ($login->check_rights()>=$index->topic_forum_details("read_rights")) {

//---[CZ]: topic - ověříme, zda je pro čtění příspěvků nutné přihlášení
if ($index->topic_forum_details("read_ntbl")==1 AND !isset($_SESSION["user_id"])) {

echo "<h2>".LANG_YOU_MUST_BE_LOGGED_TO_READING_POSTS.".</h2>";

} else {

//---[CZ]: topic - vypíšeme příspěvky
$print_posts=new Print_posts();
$print_posts->print_data($config_variables->get("paging_number"), $config_variables->get("date_format"), $config_variables->get("locked_forums_writing_rights"), $config_variables->get("locked_topics_writing_rights"), $config_variables->get("items_replace_rights"), $config_variables->get("post_delete_rights"));

//---[CZ]: topic - ověříme, zda je FÓRUM zamčeno
if ($index->topic_forum_details("locked")==0 OR $login->check_rights()>=$config_variables->get("locked_topics_writing_rights")) {

//---[CZ]: topic - ověříme, zda je pro zápis nutné přihlášení
if ($index->topic_forum_details("write_ntbl")==1 AND !isset($_SESSION["user_id"])) {

echo "<h2>".LANG_YOU_MUST_BE_LOGGED_TO_WRITING_POSTS.".</h2>\n\n";

} else {

//---[CZ]: topic - ověříme, zda je zamčen
if ($index->topic_details("locked")==0 OR $login->check_rights()>=$config_variables->get("locked_topics_writing_rights")) {

//---[CZ]: nahrajeme formulář
include "components/pages_index/add_post.php";

//---[CZ]: pokud je topic zamčen, vypíšeme zprávu
} else { echo "<h2>".LANG_TOPIC_IS_LOCKED.".</h2>\n\n"; } }

//---[CZ]: pokud je fórum zamčeno, vypíšeme zprávu
} else { echo "<h2>".LANG_FORUM_IS_LOCKED.".</h2>\n\n"; }

}

//---[CZ]: fórum - pokud nemáme dostatečná práva pro čtení
} else { echo "<h2>".LANG_YOU_HAVE_NOT_ACCESS_TO_THIS_SECTION."</h2>"; }

}

// ######
// ######
// ######

//---[CZ]: pokud jsme na profilu
} else { include "components/pages_index/profile.php"; }

//---[CZ]: pokud provádíme nějakou akci
} else {

//---[CZ]: ověříme, zda je nutné nahrát stránku
if ($_GET["action"]=="search" OR $_GET["action"]=="response" OR $_GET["action"]=="edit_topic" OR $_GET["action"]=="edit_post" OR $_GET["action"]=="replace_topic" OR $_GET["action"]=="replace_post") {

//---[CZ]: případně ji nahrajeme
include "components/pages_index/".$_GET["action"].".php";

}

}

// ######
// ######
// ######

//---[CZ]: vypíšeme statistiky
echo "<p id=\"forum-stats\">".LANG_NUMBER_OF_TOPICS.": <strong>".$index->bottom_stats("kboard_topics")."</strong> &bull; ".LANG_NUMBER_OF_POSTS.": <strong>".$index->bottom_stats("kboard_posts")."</strong> &bull; ".LANG_NUMBER_OF_REGISTERED_USERS.": <strong>".$index->bottom_stats(TABLE_USERS)."</strong></p>";
?>

</div>

<div id="footer">
<div class="float-left"><?php echo $config_variables->get("meta_copyright")."</div>
<div class=\"float-right\">powered by <a href=\"http://kboard.stepanmatl.cz\">K:Board</a> v".$config_variables->get("version")."</div>\n"; ?>
<div class="float-ending"><!-- --></div>
</div>

<?php include "components/user_editable/bottom_place.php"; echo "\n"; ?>
</body>
</html>
<?php else: include "components/user_editable/ban_page.php"; endif; ?>