summaryrefslogtreecommitdiffstats
path: root/code/pages.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'code/pages.inc.php')
-rw-r--r--code/pages.inc.php108
1 files changed, 52 insertions, 56 deletions
diff --git a/code/pages.inc.php b/code/pages.inc.php
index 710bb44..ca0dbc1 100644
--- a/code/pages.inc.php
+++ b/code/pages.inc.php
@@ -1,65 +1,61 @@
<?PHP
- if(!defined('PAGES_INC')) {
- define('PAGES_INC', 1);
-
- require_once('code/db.inc.php');
- require_once('code/user.inc.php');
- require_once('code/handlers.inc.php');
+ require_once('code/db.inc.php');
+ require_once('code/user.inc.php');
+ require_once('code/handlers.inc.php');
+
+ class Pages {
+ function Get($name, $type, $extra = null) {
+ if(!$this->Exists($name, $type))
+ return array('title' => $name,
+ 'content' => ErrorMessage('PageNotFound', array('page' => $name)));
+
+ $res = $GLOBALS['db']->Execute('SELECT id, handler, data FROM pages WHERE name = ? AND type = ?', array($name, $type));
+
+ if(!$this->HasAccess($name, $type))
+ return array('title' => $name,
+ 'content' => ErrorMessage('Forbidden', array('page' => $name)));
+
+ parse_str($res->fields[2], $data);
+ $data = array_map('Unquote', $data);
+ if($extra) $data = array_merge($data, $extra);
+ $data['_id'] = $res->fields[0];
+ $data['_page'] = $name;
+
+ return $GLOBALS['handlers'][$res->fields[1]]->Get($data);
+ }
- class Pages {
- function Get($name, $type, $extra = null) {
- if(!$this->Exists($name, $type))
- return array('title' => $name,
- 'content' => ErrorMessage('PageNotFound', array('page' => $name)));
-
- $res = $GLOBALS['db']->Execute('SELECT id, handler, data FROM pages WHERE name = ? AND type = ?', array($name, $type));
-
- if(!$this->HasAccess($name, $type))
- return array('title' => $name,
- 'content' => ErrorMessage('Forbidden', array('page' => $name)));
-
- parse_str($res->fields[2], $data);
- $data = array_map('Unquote', $data);
- if($extra) $data = array_merge($data, $extra);
- $data['_id'] = $res->fields[0];
- $data['_page'] = $name;
-
- return $GLOBALS['handlers'][$res->fields[1]]->Get($data);
- }
+ function Edit($name, $type) {
+ if(!$this->Exists($name, $type))
+ return array('title' => $name,
+ 'content' => ErrorMessage('PageNotFound', array('page' => $name)));
- function Edit($name, $type) {
- if(!$this->Exists($name, $type))
- return array('title' => $name,
- 'content' => ErrorMessage('PageNotFound', array('page' => $name)));
-
- $res = $GLOBALS['db']->Execute('SELECT id, handler, data FROM pages WHERE name = ? AND type = ?', array($name, $type));
-
- if(!$GLOBALS['user']->IsAdmin())
- return array('title' => $name,
- 'content' => ErrorMessage('Forbidden', array('page' => $name)));
-
- parse_str($res->fields[2], $data = null);
- $data = array_map('Unquote', $data);
- $data['_id'] = $res->fields[0];
- $data['_page'] = $name;
-
- return $this->Get($res->fields[1], 'e', array('_data' => $data));
- }
+ $res = $GLOBALS['db']->Execute('SELECT id, handler, data FROM pages WHERE name = ? AND type = ?', array($name, $type));
- function Exists($name, $type) {
- $res = $GLOBALS['db']->Execute('SELECT id FROM pages WHERE name = ? AND type = ?', array($name, $type));
-
- return ($res->RecordCount() > 0);
- }
+ if(!$GLOBALS['user']->IsAdmin())
+ return array('title' => $name,
+ 'content' => ErrorMessage('Forbidden', array('page' => $name)));
- function HasAccess($name, $type) {
- $gid = $GLOBALS['user']->GetGid();
- $res = $GLOBALS['db']->Execute('SELECT access FROM pages WHERE name = ? AND type = ?', array($name, $type));
-
- return ($GLOBALS['user']->IsAdmin() || (ord($res->fields[0][$gid/8]) & (1 << ($gid%8))) != 0);
- }
+ parse_str($res->fields[2], $data = null);
+ $data = array_map('Unquote', $data);
+ $data['_id'] = $res->fields[0];
+ $data['_page'] = $name;
+
+ return $this->Get($res->fields[1], 'e', array('_data' => $data));
+ }
+
+ function Exists($name, $type) {
+ $res = $GLOBALS['db']->Execute('SELECT id FROM pages WHERE name = ? AND type = ?', array($name, $type));
+
+ return ($res->RecordCount() > 0);
}
- $pages = new Pages;
+ function HasAccess($name, $type) {
+ $gid = $GLOBALS['user']->GetGid();
+ $res = $GLOBALS['db']->Execute('SELECT access FROM pages WHERE name = ? AND type = ?', array($name, $type));
+
+ return ($GLOBALS['user']->IsAdmin() || (ord($res->fields[0][$gid/8]) & (1 << ($gid%8))) != 0);
+ }
}
+
+ $GLOBALS['pages'] = new Pages;
?>