41 header(
'Cache-control: private');
42 error_reporting(E_ALL ^ E_STRICT);
43 ini_set(
'display_errors', 1);
46 require_once(
'system/classes/db.php');
47 require_once(
'system/classes/settings.php');
48 require_once
'system/classes/language.php';
49 require_once(
'system/classes/alert.php');
50 require_once(
'system/classes/email.php');
51 require_once(
'system/classes/user.php');
52 require_once(
'system/classes/page.php');
53 require_once(
'system/classes/menu.php');
54 require_once(
'system/classes/widget.php');
55 require_once(
'system/classes/template.php');
56 require_once(
'system/classes/sys.php');
57 require_once(
'system/classes/controller.php');
58 require_once(
'system/classes/stats.php');
69 $language->init(
$db,
"frontend");
71 $lang = (array) $language->lang;
75 if (!isset($template)) {
76 $template =
new template();
88 if (!isset($controller)) {
94 $stats->setStats(
$db);
99 if (sys::isOffline(
$db)) {
101 sys::drawOfflineMessage(
$db);
105 if (isset(
$_GET[
'signup']) && (
$_GET[
'signup']) == 1) {
106 include(
'system/plugins/signup/classes/signup.php');
112 if (isset(
$_GET[
'include']) && (!empty(
$_GET[
'include'])))
114 if (
$_GET[
'include'] ===
"logout")
116 if ($user->logout(
$db) ===
true)
118 sys::setTimeout(
"index.html", 0);
123 if (isset($_POST[
'login']))
125 if (isset($_POST[
'user']) && (isset($_POST[
'password'])))
127 if ($user->login(
$db, $_POST[
'user'], $_POST[
'password']) ===
true)
129 if (isset($_POST[
'loginboxRedirect']) && (!empty($_POST[
'loginboxRedirect'])))
131 if (isset($_POST[
'loginboxRedirectTime'])
132 && (!empty($_POST[
'loginboxRedirectTime'])
133 && (is_numeric($_POST[
'loginboxRedirectTime']))))
135 sys::setTimeout($_POST[
'loginboxRedirect'], $_POST[
'loginboxRedirectTime']);
139 sys::setTimeout($_POST[
'loginboxRedirect'], 0);
144 $_GET[
'include'] =
"index";
157 $_GET[
'include'] =
"index";
161 if (!empty(
$_GET[
'templateID'])){
162 $template->id =
$_GET[
'templateID'];
166 $template->id = settings::getSetting(
$db,
"selectedTemplate");
170 $template->selectedTemplate = $template->id;
173 if (user::isAnybodyThere(
$db))
176 $user->loadProperties(
$db, $_SESSION[
'username']);
179 if ($user->overrideTemplate == 1)
182 if (isset($_COOKIE[
"frontendSwitchID"])){
183 $user->templateID = json_decode(stripslashes($_COOKIE[
'frontendSwitchID']));
187 $_SESSION[
'userTemplateID'] = $user->templateID;
190 $template->name = template::getTemplateNameById(
$db, $user->templateID);
192 $tplPath =
'system/templates/'.$template->name.
'/index.php';
197 $template->loadProperties(
$db, $user->templateID);
203 die(
"Unable to include user overriden template ID ".$user->templateID.
" (".$template->name.
") from template path: ".
$tplPath.
" <br>Either database config is faulty or Template ID: (".$user->templateID.
") is not correctly installed.");
211 if (isset($_COOKIE[
"frontendSwitchID"]))
213 $template->selectedTemplate = json_decode(stripslashes($_COOKIE[
'frontendSwitchID']));
216 $template->name = template::getTemplateNameById(
$db, $template->selectedTemplate);
217 $tplPath =
"system/templates/".$template->name.
"/index.php";
220 $template->loadProperties(
$db, $template->selectedTemplate);
226 die(
"Unable to include default template ID ".$user->templateID.
" (".$template->name.
") for logged in user from path: ".
$tplPath.
" <br>Either database config is faulty or selected Template ID: (".$user->templateID.
") is not correctly installed.");
233 if (isset($_COOKIE[
"frontendSwitchID"]))
235 $template->selectedTemplate = json_decode(stripslashes($_COOKIE[
'frontendSwitchID']));
238 $template->name = template::getTemplateNameById(
$db, $template->selectedTemplate);
239 $tplPath =
"system/templates/".$template->name.
"/index.php";
243 $template->loadProperties(
$db, $template->selectedTemplate);
248 die(
"Unable to include default template ID ".$template->selectedTemplate.
" (".$template->name.
") for guest user from path: ".
$tplPath.
" <br>Either database config is faulty or selected Template ID: (".$user->templateID.
") is not correctly installed.");
print $lang['FILEMAN_UPLOAD']
The controller function returns filtered filename as string (or null).
Mysqli database class; returns db connection object.
The language class - support multilingual backend.
The default pages class. Provide all functions to handle static pages.
Settings class: get and set YaWK system settings.
Statistics - get and set user and page stats.
The sys class - handles yawk's system core functions.
The template controller - get and set template settings.
The default user class. Provide all functions to handle the user object.