summaryrefslogtreecommitdiffstats
path: root/code
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2006-02-02 00:50:04 +0100
committerneoraider <devnull@localhost>2006-02-02 00:50:04 +0100
commitaf3aaf3630d4634a85d7d912f751f3bf36633278 (patch)
treecb1aebacd08195dcedad6cb8295ce157ba0ecf31 /code
parent6f165543cc5604a8acc809f5b7a85465dd1ab870 (diff)
downloadneon-af3aaf3630d4634a85d7d912f751f3bf36633278.tar
neon-af3aaf3630d4634a85d7d912f751f3bf36633278.zip
Editoren implementiert. ErrorMessage verschoben.
Diffstat (limited to 'code')
-rw-r--r--code/db.inc.php4
-rw-r--r--code/message.inc.php4
-rw-r--r--code/pages.inc.php57
3 files changed, 30 insertions, 35 deletions
diff --git a/code/db.inc.php b/code/db.inc.php
index 2f83f58..3f5c444 100644
--- a/code/db.inc.php
+++ b/code/db.inc.php
@@ -13,5 +13,9 @@
$sql = $GLOBALS['conn']->Prepare($query);
return $GLOBALS['conn']->Execute($sql, $args);
}
+
+ function DBInsertID() {
+ return $GLOBALS['conn']->Insert_ID();
+ }
}
?>
diff --git a/code/message.inc.php b/code/message.inc.php
index a3957d5..7b49a66 100644
--- a/code/message.inc.php
+++ b/code/message.inc.php
@@ -17,5 +17,9 @@
function Message($type, $data = array()) {
return Subst($GLOBALS['message'][$type], $data);
}
+
+ function ErrorMessage($type, $data = array()) {
+ return '<span class="error">' . Subst($GLOBALS['message'][$type], $data) . '</span>';
+ }
}
?>
diff --git a/code/pages.inc.php b/code/pages.inc.php
index f24f283..24d0ec4 100644
--- a/code/pages.inc.php
+++ b/code/pages.inc.php
@@ -7,56 +7,43 @@
include('code/handlers.inc.php');
class Pages {
- function Get($name, $type) {
- if(!$this->Exists($name, $type)) {
- $message = $GLOBALS['handlers']['default']->ErrorMessage('PageNotFound', array('page' => $name));
-
- if(!$message['title']) $message['title'] = $name;
-
- return $message;
- }
+ function Get($name, $type, $extra = null) {
+ if(!$this->Exists($name, $type))
+ return array('title' => $name,
+ 'content' => ErrorMessage('PageNotFound', array('page' => $name)));
- $res = DBQuery('SELECT handler, data FROM pages WHERE name = ? AND type = ?', array($name, $type));
+ $res = DBQuery('SELECT id, handler, data FROM pages WHERE name = ? AND type = ?', array($name, $type));
- if(!$this->HasAccess($name, $type)) {
- $message = $GLOBALS['handlers'][$res->fields[0]]->ErrorMessage('Forbidden', array('page' => $name));
-
- if(!$message['title']) $message['title'] = $name;
-
- return $message;
- }
+ if(!$this->HasAccess($name, $type))
+ return array('title' => $name,
+ 'content' => ErrorMessage('Forbidden', array('page' => $name)));
- parse_str($res->fields[1], $data);
+ parse_str($res->fields[2], $data);
$data = array_map('stripslashes', $data);
+ if($extra) $data = array_merge($data, $extra);
+ $data['_id'] = $res->fields[0];
$data['_page'] = $name;
- return $GLOBALS['handlers'][$res->fields[0]]->Get($data);
+ return $GLOBALS['handlers'][$res->fields[1]]->Get($data);
}
function Edit($name, $type) {
- if(!$this->Exists($name, $type)) {
- $message = $GLOBALS['handlers']['default']->ErrorMessage('PageNotFound', array('page' => $name));
-
- if(!$message['title']) $message['title'] = $name;
-
- return $message;
- }
+ if(!$this->Exists($name, $type))
+ return array('title' => $name,
+ 'content' => ErrorMessage('PageNotFound', array('page' => $name)));
- $res = DBQuery('SELECT handler, data FROM pages WHERE name = ? AND type = ?', array($name, $type));
+ $res = DBQuery('SELECT id, handler, data FROM pages WHERE name = ? AND type = ?', array($name, $type));
- if(!$GLOBALS['user']->IsAdmin()) {
- $message = $GLOBALS['handlers'][$res->fields[0]]->ErrorMessage('Forbidden', array('page' => $name));
-
- if(!$message['title']) $message['title'] = $name;
-
- return $message;
- }
+ if(!$GLOBALS['user']->IsAdmin())
+ return array('title' => $name,
+ 'content' => ErrorMessage('Forbidden', array('page' => $name)));
- parse_str($res->fields[1], $data);
+ parse_str($res->fields[2], $data = null);
$data = array_map('stripslashes', $data);
+ $data['_id'] = $res->fields[0];
$data['_page'] = $name;
- return $GLOBALS['handlers'][$res->fields[0]]->Edit($data);
+ return $this->Get($res->fields[1], 'e', array('_data' => $data));
}
function Exists($name, $type) {