diff options
author | neoraider <devnull@localhost> | 2006-02-02 00:50:04 +0100 |
---|---|---|
committer | neoraider <devnull@localhost> | 2006-02-02 00:50:04 +0100 |
commit | af3aaf3630d4634a85d7d912f751f3bf36633278 (patch) | |
tree | cb1aebacd08195dcedad6cb8295ce157ba0ecf31 /code | |
parent | 6f165543cc5604a8acc809f5b7a85465dd1ab870 (diff) | |
download | neon-af3aaf3630d4634a85d7d912f751f3bf36633278.tar neon-af3aaf3630d4634a85d7d912f751f3bf36633278.zip |
Editoren implementiert. ErrorMessage verschoben.
Diffstat (limited to 'code')
-rw-r--r-- | code/db.inc.php | 4 | ||||
-rw-r--r-- | code/message.inc.php | 4 | ||||
-rw-r--r-- | code/pages.inc.php | 57 |
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) { |