File:
0.00.0a/page.php (
View as Code)
1: 2: /* -------------------------------------------------------------
3: This file is part of FreeDESK
4:
5: FreeDESK is (C) Copyright 2012 David Cutting
6:
7: FreeDESK is free software: you can redistribute it and/or modify
8: it under the terms of the GNU General Public License as published by
9: the Free Software Foundation, either version 3 of the License, or
10: (at your option) any later version.
11:
12: FreeDESK is distributed in the hope that it will be useful,
13: but WITHOUT ANY WARRANTY; without even the implied warranty of
14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: GNU General Public License for more details.
16:
17: You should have received a copy of the GNU General Public License
18: along with FreeDESK. If not, see www.gnu.org/licenses
19:
20: For more information see www.purplepixie.org/freedesk/
21: -------------------------------------------------------------- */
22:
23: /**
24: * Display HTML page components
25: **/
26:
27:
28: // Output buffer on and start FreeDESK then discard startup whitespace-spam
29: ob_start();
30: include("core/FreeDESK.php");
31: $DESK = new FreeDESK("./");
32: $DESK->Start();
33: ob_end_clean();
34:
35:
36: if ( (!isset($_REQUEST['sid'])) || (!$DESK->ContextManager->Open(ContextType::User, $_REQUEST['sid'])) )
37: {
38: echo $DESK->Lang->Get("login.expire");
39: exit();
40: }
41:
42: $page = $DESK->PluginManager->GetPage($_REQUEST['page']);
43:
44: if ($page === false)
45: {
46: if ($DESK->PluginManager->PIMPage($_REQUEST['page']))
47: exit();
48:
49: echo "404: ".$DESK->Lang->Get("not_found")." ".$_REQUEST['page'];
50: exit();
51: }
52:
53: $perm = "page.".$_REQUEST['page'];
54:
55: if ($DESK->PermissionManager->PermissionExists($perm))
56: {
57: // This page has its own permission rule
58: if (!$DESK->ContextManager->Permission($perm))
59: {
60: echo ErrorCode::Forbidden.": ".$DESK->Lang->Get("permission_denied");
61: exit();
62: }
63: }
64:
65: include($page);
66:
67:
68: ?>
69: