145 global
$database, $MESSAGE, $section_id, $page_id;
147 parent::__construct();
149 static::$instance = $this;
151 $section_id = (isset ($_POST[
'section_id']) ? intval($_POST[
'section_id']) : 0);
152 if ($section_id == 0 )
154 $section_id = (isset ($_GET[
'section_id'])? intval($_GET[
'section_id']): 0);
157 $page_id = (isset ($_POST[
'page_id']) ? intval($_POST[
'page_id']) : 0);
160 $page_id = (isset ($_GET[
'page_id']) ? intval($_GET[
'page_id']) : 0);
166 if ($this->oTWIG ===
null)
168 $this->oTWIG = lib_twig_box::getInstance();
169 $this->oTWIG->loader->prependPath(
THEME_PATH.
"/templates/",
"theme" );
176 if(
true === $auto_auth)
187 if ($auto_auth ===
true)
190 if ($this->is_authenticated() ===
false)
192 header(
'Location:' . ADMIN_URL .
'/login/index.php');
197 if (!$this->checkLepToken())
199 $pin_set = $this->database->get_one(
"SELECT `pin_set` FROM `".TABLE_PREFIX.
"users` WHERE `user_id` = '".$_SESSION[
'USER_ID'].
"' ");
202 $this->database->simple_query(
"UPDATE `" . TABLE_PREFIX .
"users` SET `pin_set` = 1 WHERE user_id = '" . $_SESSION[
'USER_ID'] .
"' ");
204 unset($_SESSION[
'USER_ID']);
205 header(
'Location:' . ADMIN_URL .
'/login/index.php');
212 die($MESSAGE[
'ADMIN_INSUFFICIENT_PRIVILEGES']);
218 $this->database->execute_query(
219 "SELECT `language` FROM `" . TABLE_PREFIX .
"users` WHERE `user_id` = '" . (
int) $this->get_user_id() .
"'",
225 $user_language = (!isset($user_language[
'language']))
227 : substr($user_language[
'language'], 0,2)
231 $admin_folder = str_replace(LEPTON_PATH,
'', ADMIN_PATH);
232 if ((LANGUAGE != $user_language) && file_exists(LEPTON_PATH .
'/languages/' . $user_language .
'.php') && strpos($_SERVER[
'SCRIPT_NAME'], $admin_folder .
'/') !==
false)
235 $page_id_url = (isset($_GET[
'page_id'])) ?
'&page_id=' . (
int) $_GET[
'page_id'] :
'';
236 $section_id_url = (isset($_GET[
'section_id'])) ?
'§ion_id=' . (
int) $_GET[
'section_id'] :
'';
237 if (isset($_SERVER[
'QUERY_STRING']) && $_SERVER[
'QUERY_STRING'] !=
'')
239 header(
'Location: ' . $_SERVER[
'SCRIPT_NAME'] .
'?lang=' . $user_language . $page_id_url . $section_id_url .
'&' . $_SERVER[
'QUERY_STRING']);
243 header(
'Location: ' . $_SERVER[
'SCRIPT_NAME'] .
'?lang=' . $user_language . $page_id_url . $section_id_url);
249 if ($auto_header ===
true)
255 if(CRONJOB == 2 || CRONJOB == 3)
357 if ($action !=
'viewing')
362 $action_groups = $action .
'_groups';
363 $action_users = $action .
'_users';
366 $groups = $page[$action_groups];
367 $users = $page[$action_users];
372 $this->database->execute_query(
373 "SELECT ".$action_groups.
",".$action_users.
" FROM " . TABLE_PREFIX .
"pages WHERE page_id = ".$page ,
378 $groups = explode(
',', str_replace(
'_',
'', $results[$action_groups]));
379 $users = explode(
',', str_replace(
'_',
'', $results[$action_users]));
383 foreach ($this->get_groups_id() as $cur_gid)
385 if (in_array($cur_gid, $groups))
390 if ((!$in_group) && !is_numeric(array_search($this->get_user_id(), $users)))
435 $title = $this->database->get_one(
"SELECT `value` FROM `".TABLE_PREFIX.
"settings` WHERE `name`='website_title'");
437 $charset = (
true === defined(
'DEFAULT_CHARSET')) ? DEFAULT_CHARSET :
'utf-8';
441 $view_url = LEPTON_URL;
442 if (isset($_GET[
'page_id']))
445 $result = $this->database->get_one(
"SELECT `link` FROM `" . TABLE_PREFIX .
"pages` WHERE `page_id`= '" . (
int) addslashes($_GET[
'page_id']) .
"'");
448 $view_url .= PAGES_DIRECTORY . $result. PAGE_EXTENSION;
456 $backend_theme_version =
"";
457 if (defined(
'DEFAULT_THEME'))
459 $backend_theme_version = $this->database->get_one(
"SELECT `version` from `" . TABLE_PREFIX .
"addons` where `directory`='" . DEFAULT_THEME .
"'");
463 'SECTION_NAME' => $MENU[strtoupper($this->section_name)],
464 'WEBSITE_TITLE' => $title,
465 'BACKEND_TITLE' => BACKEND_TITLE,
466 'TEXT_ADMINISTRATION' => $TEXT[
'ADMINISTRATION'],
467 'CURRENT_USER' => $MESSAGE[
'START_CURRENT_USER'],
468 'DISPLAY_NAME' => $this->get_display_name(),
469 'CHARSET' => $charset,
470 'LANGUAGE' => strtolower(LANGUAGE),
471 'LEPTON_VERSION' => LEPTON_VERSION,
472 'SUBVERSION' => SUBVERSION,
473 'LEPTON_URL' => LEPTON_URL,
474 'ADMIN_URL' => ADMIN_URL,
475 'THEME_URL' => THEME_URL,
476 'TITLE_START' => $MENU[
'START'],
477 'TITLE_VIEW' => $MENU[
'VIEW'],
478 'TITLE_HELP' => $MENU[
'HELP'],
479 'TITLE_LOGOUT' => $MENU[
'LOGOUT'],
481 'PAGES' => $MENU[
'PAGES'],
482 'MEDIA' => $MENU[
'MEDIA'],
483 'ADDONS' => $MENU[
'ADDONS'],
484 'PREFERENCES' => $MENU[
'PREFERENCES'],
485 'SETTINGS' => $MENU[
'SETTINGS'],
486 'ADMINTOOLS' => $MENU[
'ADMINTOOLS'],
487 'ACCESS' => $MENU[
'ACCESS'],
489 'URL_VIEW' => $view_url,
490 'URL_HELP' =>
' https://lepton-cms.org/',
492 'THEME_VERSION' => $backend_theme_version,
493 'THEME_NAME' => DEFAULT_THEME,
505 echo $this->oTWIG->render(
522 'LEPTON_URL' => LEPTON_URL,
523 'LEPTON_PATH' => LEPTON_PATH,
524 'ADMIN_URL' => ADMIN_URL,
525 'THEME_URL' => THEME_URL
528 echo $this->oTWIG->render(
541 $this->html_output_storage = ob_get_clean();
542 if (
true === $this->droplets_ok)
544 evalDroplets($this->html_output_storage);
548 if ($this->is_authenticated() )
550 LEPTON_core::getInstance()->getProtectedFunctions($this->html_output_storage, $this);
553 echo $this->html_output_storage;