forked from ifphobic/MeoRace
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommit.php
47 lines (36 loc) · 1.48 KB
/
commit.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
include( "core/include.php" );
$moduleName = $_POST['module'];
$pageName = $_POST['page'];
$GLOBALS['MeoRace']['tabIndex'] = $_POST['index'] - 1;
$GLOBALS['MeoRace']['content'] = $_POST;
$role = Role::NO_ROLE;
if ( isset( $_COOKIE['sessionId'] ) ) {
$commonDbFunction = new CommonDbFunction();
$role = $commonDbFunction->determineCurrentUser()->role;
$commonDbFunction->close();
}
$modules = ModuleReader::readAllModules( $role );
// error_log("module: " . $moduleName . ", page: " . $pageName);
$page = $modules[ $moduleName ][ $pageName ];
if ( ! in_array( $role, $page->getRolesCommit() ) ) {
throw new Exception( "No permission for commit ");
}
$className = ucfirst( $pageName ) . "Action";
include( Configuration::MODULE_FOLDER . $moduleName . "/action/" . $className . ".php" );
Page::includeDependency( $moduleName, $page );
$action = new $className;
$nextPage = $action->commit( $_POST );
ob_clean();
if ( $nextPage != null ) {
$page = $modules[ $nextPage->getModule() ][ $nextPage->getPage() ];
$GLOBALS['MeoRace']['content'] = $nextPage->getParameter();
//Page::printContent( $nextPage->getModule(), $page);
$parameter = "module=" . $nextPage->getModule();
$parameter .= "&page=" . $nextPage->getPage();
foreach ( $nextPage->getParameter() as $key => $value ) {
$parameter .= "&" . $key . "=" . $value;
}
print( $parameter );
};
?>