1
0
mirror of https://github.com/ZeroDream-CN/PHPMC7 synced 2026-05-15 01:52:33 +08:00

v7.3.3156 更新发布

增加插件系统
增加事件管理系统
修复错误页面的标题问题
This commit is contained in:
2018-09-16 01:49:48 +08:00
Unverified
parent 3117402098
commit f06e0bcb30
9 changed files with 161 additions and 30 deletions
+32 -26
View File
@@ -3,6 +3,12 @@ include(ROOT . "/include/core/PHPMC/Main.php");
include(ROOT . "/include/data/config.php");
class Loader {
public $Event;
public function __construct() {
$this->Event = new Event();
}
/**
*
* 页面框架显示控制函数
@@ -31,6 +37,7 @@ class Loader {
}
if(!PHPMC::User()->isLogin() && $pageName !== "login.html" && $pageName !== "404.html" && $pageName !== "403.html") {
$pageName = "login.html";
$pagePath = ROOT . "/content/" . $Option->getOption("Theme") . "/";
}
$str = file_get_contents($pagePath . $pageName);
$str = str_replace("{CONTENTDIR}", "./content", $str);
@@ -82,7 +89,7 @@ class Loader {
$Option = new Option();
if(preg_match("/^[A-Za-z0-9\-\_]+$/", $_GET["page"])) {
PHPMC::Permission()->checkSession("page:" . $_GET['page']);
echo $this::loadPage($_GET["page"] . ".html", ROOT . "/content/" . $Option->getOption("Theme") . "/");
$this->Event->EventHandle("viewPageEvent", array($_GET));
exit;
} elseif($_GET['action']) {
switch($_GET['action']) {
@@ -90,98 +97,97 @@ class Loader {
if(!PHPMC::Csrf()->verifyCsrfToken($_POST)) {
PHPMC::Error()->Println("Csrf 验证失败,请刷新页面重试。");
}
PHPMC::Event()->LoginEvent($_POST);
$this->Event->EventHandle("LoginEvent", array($_POST));
break;
case 'logout':
PHPMC::Event()->LogoutEvent();
$this->Event->EventHandle("LogoutEvent", array());
break;
case 'getserver':
PHPMC::Permission()->checkSession("server:" . $_GET['id']);
PHPMC::Event()->getServerEvent($_GET);
$this->Event->EventHandle("getServerEvent", array($_GET));
break;
case 'start':
PHPMC::Permission()->checkSession("server:" . $_GET['id']);
PHPMC::Event()->startServerEvent($_GET);
$this->Event->EventHandle("startServerEvent", array($_GET));
break;
case 'stop':
PHPMC::Permission()->checkSession("server:" . $_GET['id']);
PHPMC::Event()->stopServerEvent($_GET);
$this->Event->EventHandle("stopServerEvent", array($_GET));
break;
case 'restart':
PHPMC::Permission()->checkSession("server:" . $_GET['id']);
PHPMC::Event()->restartServerEvent($_GET);
$this->Event->EventHandle("restartServerEvent", array($_GET));
break;
case 'sendcommand':
PHPMC::Permission()->checkSession("server:" . $_GET['id']);
PHPMC::Event()->onCommandEvent($_GET);
$this->Event->EventHandle("onCommandEvent", array($_GET));
break;
case 'status':
PHPMC::Permission()->checkSession("server:" . $_GET['id']);
PHPMC::Event()->getStatusEvent($_GET);
$this->Event->EventHandle("getStatusEvent", array($_GET));
break;
case 'getserverinfo':
PHPMC::Permission()->checkSession("server:" . $_GET['id']);
PHPMC::Event()->getServerInfoEvent($_GET);
$this->Event->EventHandle("getServerInfoEvent", array($_GET));
break;
case 'getdaemoninfo':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->getDaemonInfoEvent($_GET);
$this->Event->EventHandle("getDaemonInfoEvent", array($_GET));
break;
case 'getuserinfo':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->getUserInfoEvent($_GET);
$this->Event->EventHandle("getUserInfoEvent", array($_GET));
break;
case 'saveconfig':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->saveConfigEvent($_GET);
$this->Event->EventHandle("saveConfigEvent", array($_GET));
break;
case 'createserver':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->createServerEvent($_GET);
$this->Event->EventHandle("createServerEvent", array($_GET));
break;
case 'updateserver':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->updateServerEvent($_GET);
$this->Event->EventHandle("updateServerEvent", array($_GET));
break;
case 'deleteserver':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->deleteServerEvent($_GET);
$this->Event->EventHandle("deleteServerEvent", array($_GET));
break;
case 'createdaemon':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->createDaemonEvent($_GET);
$this->Event->EventHandle("createDaemonEvent", array($_GET));
break;
case 'updatedaemon':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->updateDaemonEvent($_GET);
$this->Event->EventHandle("updateDaemonEvent", array($_GET));
break;
case 'deletedaemon':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->deleteDaemonEvent($_GET);
$this->Event->EventHandle("deleteDaemonEvent", array($_GET));
break;
case 'createuser':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->createUserEvent($_GET);
$this->Event->EventHandle("createUserEvent", array($_GET));
break;
case 'updateuser':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->updateUserEvent($_GET);
$this->Event->EventHandle("updateUserEvent", array($_GET));
break;
case 'deleteuser':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->deleteUserEvent($_GET);
$this->Event->EventHandle("deleteUserEvent", array($_GET));
break;
case 'update':
PHPMC::Permission()->checkSession("action:" . $_GET['action']);
PHPMC::Event()->updateEvent();
$this->Event->EventHandle("updateEvent", array());
break;
default:
echo $this::loadPage("404.html", ROOT . "/content/" . $Option->getOption("Theme") . "/error/");
$this->Event->EventHandle("defaultActionEvent", array($_GET));
}
exit;
} elseif(empty($_GET['page'])) {
echo $this::loadPage("panel.html", ROOT . "/content/" . $Option->getOption("Theme") . "/");
exit;
$this->Event->EventHandle("defaultPageEvent", array($_GET));
}
}
}