This repository has been archived on 2024-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
sakura/public/manage.php

90 lines
1.7 KiB
PHP
Raw Normal View History

2015-04-30 14:12:49 +00:00
<?php
/*
* Sakura Management
*/
// Declare Namespace
namespace Sakura;
2015-05-05 06:24:19 +00:00
2015-04-30 23:01:01 +00:00
// Define that we are in Management mode
define('SAKURA_MANAGE', true);
2015-04-30 14:12:49 +00:00
// Include components
require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) . 'sakura.php';
2015-04-30 23:01:01 +00:00
2015-08-18 13:13:40 +00:00
// Make sure user has the permissions to view this
if (!$currentUser->checkPermission('MANAGE', 'USE_MANAGE')) {
2015-08-18 13:13:40 +00:00
header('Location: /');
exit;
}
// Modes
$modes = [
'dashboard' => [
'index',
2015-05-03 16:25:57 +00:00
],
'configuration' => [
'general',
'security',
'authentication',
'appearance',
'performance',
],
2015-12-09 20:21:08 +00:00
'logs' => [
'errors',
],
'error' => [
'index',
],
2015-04-30 23:01:01 +00:00
];
// Select mode
$category = isset($_GET['cat'])
? (
array_key_exists($_GET['cat'], $modes) ?
$_GET['cat'] :
'error'
)
: key($modes);
$mode = isset($_GET['mode'])
? (
in_array($_GET['mode'], $modes[$category]) ?
$_GET['mode'] :
'error'
)
: $modes[$category][0];
// Override category if mode is error
if ($mode == 'error') {
$category = 'error';
$mode = $modes[$category][0];
}
2015-04-30 23:01:01 +00:00
// Set page data
$renderData = array_merge($renderData, [
'manage' => [
'category' => $category,
'mode' => $mode,
],
]);
// Add special variables
switch ($category . '.' . $mode) {
2015-12-09 20:21:08 +00:00
case 'logs.errors':
$errorLog = Database::fetch('error_log', true, null, ['error_id', true]);
$renderData = array_merge($renderData, ['errors' => $errorLog]);
break;
}
2015-04-30 14:12:49 +00:00
// Initialise templating engine
$template = new Template();
// Change templating engine
$template->setTemplate($templateName);
// Set parse variables
$template->setVariables($renderData);
2015-04-30 14:12:49 +00:00
// Print page contents
echo $template->render('pages/' . $category . '/' . $mode);