8 header(
'Cache-control: private');
9 error_reporting(E_ALL ^ E_STRICT);
10 ini_set(
'display_errors', 1);
15 require_once
'../system/classes/db.php';
16 require_once
'../system/classes/AdminLTE.php';
17 require_once
'../system/classes/alert.php';
18 require_once
'../system/classes/settings.php';
19 require_once
'../system/classes/language.php';
20 require_once
'../system/classes/backend.php';
21 require_once
'../system/classes/dashboard.php';
22 require_once
'../system/classes/user.php';
23 require_once
'../system/classes/page.php';
24 require_once
'../system/classes/menu.php';
25 require_once
'../system/classes/email.php';
26 require_once
'../system/classes/plugin.php';
27 require_once
'../system/classes/widget.php';
28 require_once
'../system/classes/template.php';
29 require_once
'../system/classes/controller.php';
30 require_once
'../system/classes/filemanager.php';
31 require_once
'../system/classes/sys.php';
32 require_once
'../system/classes/update.php';
44 $language->init(
$db,
"backend");
46 $lang = (array) $language->lang;
52 $user = new \YAWK\user(
$db);
58 $page = new \YAWK\page();
62 if (!isset($AdminLTE))
65 $AdminLTE = new \YAWK\BACKEND\AdminLTE(
$db);
67 echo $AdminLTE->drawHtmlHead();
70 if (isset($_SESSION[
'logged_in']) && ($_SESSION[
'logged_in'] ===
true))
73 if (isset($_SESSION[
'username']) && (isset($_SESSION[
'gid']) && (isset($_SESSION[
'uid']))))
76 $user->loadProperties(
$db, $_SESSION[
'username']);
80 echo $AdminLTE->drawHtmlBody();
82 echo $AdminLTE->drawHtmlLogo(
$db,
$lang);
84 echo $AdminLTE->drawHtmlNavbar();
86 echo $AdminLTE->drawHtmlNavbarRightMenu();
89 echo $AdminLTE->drawHtmlNavbarBackupIcon(
$lang);
92 echo $AdminLTE->drawHtmlNavbarPreviewIcon(
$lang);
95 if (\
YAWK\settings::getSetting(
$db,
"backendMessagesMenu") == 1)
97 echo $AdminLTE->drawHtmlNavbarMessagesMenu(
$db,
$lang);
101 if (\
YAWK\settings::getSetting(
$db,
"webmail_active") == 1)
103 echo $AdminLTE->drawHtmlNavbarWebmailMenu(
$db,
$lang);
107 if (\
YAWK\settings::getSetting(
$db,
"backendNotificationMenu") == 1)
109 echo $AdminLTE->drawHtmlNavbarNotificationsMenu(
$db, $user,
$lang);
113 echo $AdminLTE->drawHtmlNavbarUserAccountMenu(
$db, $user);
115 echo $AdminLTE->drawHtmlNavbarHeaderEnd();
117 echo $AdminLTE->drawHtmlLeftSidebar(
$db, $user,
$lang);
119 echo $AdminLTE->drawHtmlContentHeader(
$lang);
121 echo $AdminLTE->drawHtmlContentBreadcrumbs();
123 echo $AdminLTE->drawHtmlContent(
$db,
$lang, $user);
126 if (\
YAWK\settings::getSetting(
$db,
"backendFooter") == 1)
128 echo $AdminLTE->drawHtmlFooter(
$db);
132 echo $AdminLTE->drawHtmlRightSidebar(
$lang);
134 echo $AdminLTE->drawHtmlJSIncludes();
136 echo $AdminLTE->drawHtmlEnd(
$db);
141 alert::draw(
"warning",
"Warning :",
"It seems that you are not logged in correctly. Please try to re-login!",
"",
"8000");
148 echo
"<body style=\"background-color: #ecf0f5\">
152 if (isset($_POST[
'resetPasswordRequest']))
154 if (!empty($_POST[
'number1'] && (!empty($_POST[
'number2']) && (!empty($_POST[
'captcha'])))))
156 $number1 = $_POST[
'number1'];
157 $number2 = $_POST[
'number2'];
158 $captcha = $_POST[
'captcha'];
159 if ($captcha != ($number1 + $number2))
161 alert::draw(
"danger",
$lang[
'ERROR'],
$lang[
'CAPTCHA_FAILED'],
"", 3800);
165 if ($user::sendResetEmail(
$db, $_POST[
'username'], $_POST[
'email'],
$lang) ==
true)
167 alert::draw(
"success",
"$lang[EMAIL_SENT]",
"$lang[PLEASE_CHECK_YOUR_INBOX]",
"", 2400);
171 alert::draw(
"danger",
$lang[
'ERROR'],
$lang[
'PASSWORD_RESET_FAILED'],
"", 3800);
178 if (isset(
$_GET[
'resetPassword'])) {
180 if (!empty(
$_GET[
'token']) && (is_string(
$_GET[
'token']))) {
182 if ($user::checkResetToken(
$db,
$_GET[
'token']) ===
true) {
187 echo
"<br><br></section></div>";
189 echo $AdminLTE->drawHtmlJSIncludes();
191 echo $AdminLTE->drawHtmlEnd(
$db);
195 alert::draw(
"danger",
$lang[
'ERROR'],
$lang[
'PASSWORD_RESET_TOKEN_INVALID'],
"", 3800);
201 if (backend::checkLogin(
$db) ===
false)
205 if (!isset($_SESSION[
'failed']))
207 $_SESSION[
'failed'] = 0;
209 if (!isset($_SESSION[
'lockout_until']))
211 $_SESSION[
'lockout_until'] = 0;
214 if (isset($_POST[
'user']) && (!empty($_POST[
'user']))){
215 $user->currentuser = $_POST[
'user'];
219 if (time() < $_SESSION[
'lockout_until'])
221 alert::draw(
"danger",
"ACCESS DENIED",
"You have reached the maximum number of login attempts. You have been banned for 60 minutes.<br>Your IP ".$_SERVER[
'REMOTE_ADDR'].
" / ".$_SERVER[
'REMOTE_HOST'].
" has been logged.",
"", 0);
223 sys::setSyslog(
$db, 12, 2,
"Possible brute force client ".$_SERVER[
'REMOTE_ADDR'].
" ".$_SERVER[
'REMOTE_HOST'].
" banned.", 0, 0, 0, 0);
227 echo backend::drawLoginBox(
$db,
$lang);
230 echo
"<br><br></section></div>";
233 echo $AdminLTE->drawHtmlJSIncludes();
236 echo $AdminLTE->drawHtmlEnd(
$db);
241 alert::draw(
"success",
$lang[
'SUCCESS'],
$lang[
'LOGIN'].
" ".
$lang[
'SUCCESSFUL'],
"index.php", 1200);
print $lang['FILEMAN_UPLOAD']
Throws a fancy Bootstrap Alert (success, info, warning or danger)
Backend class serves a few useful functions for the admin backend.
The language class - support multilingual backend.
The sys class - handles yawk's system core functions.
This class serves methods to create backup from files.