From 415243607829013d91b23b40608507fcd76b307b Mon Sep 17 00:00:00 2001 From: neoraider Date: Thu, 13 Apr 2006 00:45:02 +0000 Subject: Seiten-Verwaltung vollkommen ?berarbeitet. --- code/modules.inc.php | 18 ++- code/pages.inc.php | 254 +++++++++++++++++++++++++++++------------- code/util.inc.php | 2 +- code/xmlparser.inc.php | 51 ++++++--- config/neon.sql | 41 ++----- pages/Login.c.xml | 32 ++++++ pages/Login.n.xml | 43 +++++++ pages/Logout.c.xml | 27 +++++ pages/Pages.c.xml | 58 ++++++++++ pages/Pages/Copy.c.xml | 36 ++++++ pages/Pages/Delete.c.xml | 35 ++++++ pages/Pages/Edit.c.xml | 44 ++++++++ pages/Pages/Handle.c.xml | 110 ++++++++++++++++++ pages/Pages/New.c.xml | 39 +++++++ pages/Pages/Rename.c.xml | 36 ++++++ pages/Privileges.c.xml | 89 +++++++++++++++ pages/Privileges/Update.c.xml | 77 +++++++++++++ pages/Users.c.xml | 42 +++++++ pages/Users/Delete.c.xml | 32 ++++++ pages/Users/Group.c.xml | 32 ++++++ pages/Users/Handle.c.xml | 132 ++++++++++++++++++++++ pages/Users/New.c.xml | 35 ++++++ pages/Users/Password.c.xml | 35 ++++++ pages/Users/Rename.c.xml | 33 ++++++ pages/default.e.xml | 32 ++++++ pages/phpexec.e.xml | 29 +++++ 26 files changed, 1263 insertions(+), 131 deletions(-) create mode 100644 pages/Login.c.xml create mode 100644 pages/Login.n.xml create mode 100644 pages/Logout.c.xml create mode 100644 pages/Pages.c.xml create mode 100644 pages/Pages/Copy.c.xml create mode 100644 pages/Pages/Delete.c.xml create mode 100644 pages/Pages/Edit.c.xml create mode 100644 pages/Pages/Handle.c.xml create mode 100644 pages/Pages/New.c.xml create mode 100644 pages/Pages/Rename.c.xml create mode 100644 pages/Privileges.c.xml create mode 100644 pages/Privileges/Update.c.xml create mode 100644 pages/Users.c.xml create mode 100644 pages/Users/Delete.c.xml create mode 100644 pages/Users/Group.c.xml create mode 100644 pages/Users/Handle.c.xml create mode 100644 pages/Users/New.c.xml create mode 100644 pages/Users/Password.c.xml create mode 100644 pages/Users/Rename.c.xml create mode 100644 pages/default.e.xml create mode 100644 pages/phpexec.e.xml diff --git a/code/modules.inc.php b/code/modules.inc.php index 4c17807..02aa9f2 100644 --- a/code/modules.inc.php +++ b/code/modules.inc.php @@ -12,6 +12,7 @@ class Modules { var $modules; + var $pages; var $code; var $templates; @@ -29,10 +30,10 @@ if(!$data) continue; $info = $GLOBALS['xmlparser']->FindTag($data, 'info'); - if(!is_array($info)) continue; + if(!$info) continue; $name = $GLOBALS['xmlparser']->FindTag($info, 'name'); - if(!is_array($name)) continue; + if(!$name) continue; if(count($name['children']) != 1) continue; if(!is_string($name['children'][0])) continue; @@ -42,7 +43,7 @@ 'templates' => array()); $files = $GLOBALS['xmlparser']->FindTag($data, 'files'); - if(!is_array($files)) continue; + if(!$files) continue; foreach($files['children'] as $file) { if(!is_array($file)) continue; @@ -50,6 +51,17 @@ if(!is_string($file['children'][0])) continue; switch($file['tag']) { + case 'page': + $type = $file['attribs']['type']; + if(!$type) $type = 'c'; + + $pagename = $file['children'][0] . '.' . $type; + $realname = 'modules/' . $moddir . '/pages/' . strtr($file['children'][0], array(':' => '/')) + . '.' . $type . '.xml'; + + $this->pages[$pagename] = $realname; + $this->modules[$name]['pages'][$pagename] = $realname; + break; case 'code': $filename = 'code/' . $file['children'][0] . '.inc.php'; $realname = 'modules/' . $moddir . '/code/' . $file['children'][0] . '.inc.php'; diff --git a/code/pages.inc.php b/code/pages.inc.php index 7bdd907..c121d2f 100644 --- a/code/pages.inc.php +++ b/code/pages.inc.php @@ -2,142 +2,236 @@ require_once('code/db.inc.php'); require_once('code/user.inc.php'); require_once('code/templates.inc.php'); + require_once('code/xmlparser.inc.php'); + require_once('code/modules.inc.php'); class Pages { - function Get($page, $type = null, $extra = null) { + var $pages = array(); + + function Pages($dirs = array('pages')) { + $dir = opendir(join('/', $dirs)); + + while($file = readdir($dir)) { + if($file[0] == '.') continue; + + if(is_dir(join('/', $dirs) . '/' . $file)) + $this->Pages(array_merge($dirs, array($file))); + elseif(is_file(join('/', $dirs) . '/' . $file)) { + switch(substr($file, -6)) { + case '.c.xml': + case '.e.xml': + case '.n.xml': + if(count($dirs) > 1) + $this->pages[join(array_merge(array_slice($dirs, 1), array(substr($file, 0, -4))), ':')] = array(); + else + $this->pages[substr($file, 0, -4)] = array(); + } + } + } + + closedir($dir); + } + + function Get($page, $type, $extra = null) { if(!$this->Exists($page, $type)) return array('title' => $page, 'content' => ErrorMessage('PageNotFound', array('page' => $page))); - if($type) $res = $GLOBALS['db']->Execute('SELECT id, name, type, template, data FROM pages WHERE name = ? AND type = ?', array($page, $type)); - else $res = $GLOBALS['db']->Execute('SELECT id, name, type, template, data FROM pages WHERE id = ?', $page); - if(!$this->HasAccess($page, $type)) - return array('title' => $res->fields[1], - 'content' => ErrorMessage('Forbidden', array('page' => $res->fields[1]))); + return array('title' => $page, + 'content' => ErrorMessage('Forbidden', array('page' => $page))); - $data = null; - parse_str($res->fields[4], $data); - $data = array_map('Unquote', $data); + $pagedata = $this->GetPageData($page, $type); + + $data = $pagedata['data']; if($extra) $data = array_merge($data, $extra); - $data['_id'] = $res->fields[0]; - $data['_page'] = $res->fields[1]; - $data['_type'] = $res->fields[2]; + $data['_page'] = $page; + $data['_type'] = $type; - return $GLOBALS['templates'][$res->fields[3]]->Get($data); + return $GLOBALS['templates'][$pagedata['template']]->Get($data); } - function GetEditor($page, $type = null) { + function GetEditor($page, $type) { if(!$this->Exists($page, $type)) return array('title' => $page, 'content' => ErrorMessage('PageNotFound', array('page' => $page))); - if($type) $res = $GLOBALS['db']->Execute('SELECT id, name, type, template, data FROM pages WHERE name = ? AND type = ?', array($page, $type)); - else $res = $GLOBALS['db']->Execute('SELECT id, name, type, template, data FROM pages WHERE id = ?', $page); - if(!$GLOBALS['user']->IsAdmin()) - return array('title' => $res->fields[1], - 'content' => ErrorMessage('Forbidden', array('page' => $res->fields[1]))); + return array('title' => $page, + 'content' => ErrorMessage('Forbidden', array('page' => $page))); - parse_str($res->fields[4], $data = null); - $data = array_map('Unquote', $data); - $data['_id'] = $res->fields[0]; - $data['_page'] = $res->fields[1]; - $data['_type'] = $res->fields[2]; + $pagedata = $this->GetPageData($page, $type); - return $this->Get($res->fields[3], 'e', array('_data' => $data)); - } - - function GetName($id) { - $res = $GLOBALS['db']->Execute('SELECT name FROM pages WHERE id = ?', $id); + $data = $pagedata['data']; + $data['_page'] = $page; + $data['_type'] = $type; - return $res->fields[0]; + return $this->Get($pagedata['template'], 'e', array('_data' => $data)); } - function GetType($id) { - $res = $GLOBALS['db']->Execute('SELECT type FROM pages WHERE id = ?', $id); + function Exists($page, $type) { + if(array_key_exists($page . '.' . $type, $this->pages)) + return true; - return $res->fields[0]; - } - - function Exists($page, $type = null) { - if($type) $res = $GLOBALS['db']->Execute('SELECT id FROM pages WHERE name = ? AND type = ?', array($page, $type)); - else $res = $GLOBALS['db']->Execute('SELECT id FROM pages WHERE id = ?', $page); + if(array_key_exists($page . '.' . $type, $GLOBALS['modules']->pages)) + return true; + + $res = $GLOBALS['db']->Execute('SELECT id FROM pages WHERE name = ? AND type = ?', array($page, $type)); return ($res->RecordCount() > 0); } - function HasAccess($page, $type = null) { + function HasAccess($page, $type) { + if($GLOBALS['user']->IsAdmin()) return $this->Exists($page, $type); + $gid = $GLOBALS['user']->gid; - if($type) $res = $GLOBALS['db']->Execute('SELECT access FROM pages WHERE name = ? AND type = ?', array($page, $type)); - else $res = $GLOBALS['db']->Execute('SELECT access FROM pages WHERE id = ?', $page); - if(!$res->RecordCount()) return false; - return ($GLOBALS['user']->IsAdmin() || (ord($res->fields[0][$gid/8]) & (1 << ($gid%8))) != 0); + $pagedata = $this->GetPageData($page, $type); + + if(!$pagedata) + return false; + + return ((hexdec(substr($pagedata['access'], ($gid/8)*2, 2)) & (1 << ($gid%8))) != 0); } - function Add($name, $template, $type) { - if($this->Exists($name, $type)) return 0; + function GetPageData($page, $type) { + if(!$this->Exists($page, $type)) return null; + + if(!count($this->pages[$page . '.' . $type])) { + $res = $GLOBALS['db']->Execute('SELECT template, HEX(access), data FROM pages WHERE name = ? AND type = ?', array($page, $type)); + + if($res->RecordCount()) { + parse_str($res->fields[2], $data); + $data = array_map('Unquote', $data); + + $this->pages[$page . '.' . $type] = array('name' => $page, 'type' => $type, 'template' => $res->fields[0], + 'access' => $res->fields[1], 'data' => $data); + } + else { + $filename = $GLOBALS['modules']->pages[$page . '.' . $type]; + if(!$filename) $filename = 'pages/' . strtr($page, array(':' => '/')) . '.' . $type . '.xml'; + + $xmldata = $GLOBALS['xmlparser']->ParseFile($filename); + if(!$xmldata) return null; + + $info = $GLOBALS['xmlparser']->FindTag($xmldata, 'info'); + if(!$info) return null; + + $template = $GLOBALS['xmlparser']->FindTag($info, 'template'); + if(!$template) return null; + if(count($template['children']) != 1) return; + if(!is_string($template['children'][0])) return; + $template = $template['children'][0]; + + $access = $GLOBALS['xmlparser']->FindTag($info, 'access'); + if(!$access) return null; + if(count($access['children']) != 1) return; + if(!is_string($access['children'][0])) return; + $access = $access['children'][0]; + + $rawdata = $GLOBALS['xmlparser']->FindTag($xmldata, 'data'); + + $data = array(); + + foreach($rawdata['children'] as $field) { + if(!is_array($field)) continue; + if(count($field['children']) != 1) continue; + + $data[$field['tag']] = $field['children'][0]; + } + + $this->pages[$page . '.' . $type] = array('name' => $page, 'type' => $type, 'template' => $template, + 'access' => $access, 'data' => $data); + } + } - $GLOBALS['db']->Execute('INSERT INTO pages (name, template, access, data, type) VALUES (?, ?, 0, "", ?)', - array($name, $templates, $type)); + return $this->pages[$page . '.' . $type]; + } + + function Add($name, $type, $template) { + if($this->Exists($name, $type)) return false; + + $GLOBALS['db']->Execute('INSERT INTO pages (name, template, access, data, type) VALUES (?, ?, "", "", ?)', + array($name, $template, $type)); - return $GLOBALS['db']->Insert_ID(); + return ($GLOBALS['db']->Affected_Rows() > 0); } - function Edit($page, $data, $type = null) { + function Edit($page, $type, $data) { $string = ''; foreach($data as $key => $val) $string .= urlencode($key) . '=' . urlencode($val) . '&'; - if($type) $GLOBALS['db']->Execute('UPDATE pages SET data = ? WHERE name = ? AND type = ?', - array(substr($string, 0, -1), $page, $type)); - else $GLOBALS['db']->Execute('UPDATE pages SET data = ? WHERE id = ?', - array(substr($string, 0, -1), $page)); + $GLOBALS['db']->Execute('UPDATE pages SET data = ? WHERE name = ? AND type = ?', + array(substr($string, 0, -1), $page, $type)); + + if($GLOBALS['db']->Affected_Rows()) return true; + + $pagedata = $this->GetPageData($page, $type); + + $string = ''; + + foreach($pagedata['data'] as $key => $val) + $string .= urlencode($key) . '=' . urlencode($val) . '&'; + + $access = ''; + + for($i = 0; $i < strlen($pagedata['access']); $i+=2) + $access .= chr(hexdec(substr($pagedata['access'], $i, 2))); + + + $GLOBALS['db']->Execute('INSERT INTO pages (name, template, access, data, type) VALUES (?, ?, ?, ?, ?)', + array($page, $pagedata['template'], $access, $string, $type)); return ($GLOBALS['db']->Affected_Rows() > 0); } - function Rename($page, $new_name, $type = null) { - if($type) { - if($this->Exists($new_name, $type)) return; + function Rename($page, $type, $new_name) { + if($this->Exists($new_name, $type)) return false; - $GLOBALS['db']->Execute('UPDATE pages SET name = ? WHERE name = ? AND type = ?', array($new_name, $page, $type)); - } - else { - if($this->Exists($new_name, $this->GetType($type))) return; - - $GLOBALS['db']->Execute('UPDATE pages SET name = ? WHERE id = ?', array($new_name, $page)); - } + $GLOBALS['db']->Execute('UPDATE pages SET name = ? WHERE name = ? AND type = ?', array($new_name, $page, $type)); return ($GLOBALS['db']->Affected_Rows() > 0); } - function Copy($page, $new_name, $type = null) { - if($type) { - if($this->Exists($new_name, $type)) return 0; - - $res = $GLOBALS['db']->Execute('SELECT * FROM pages WHERE name = ? AND type = ?', array($page, $type)); - } - else { - if($this->Exists($new_name, $this->GetType($type))) return 0; - - $res = $GLOBALS['db']->Execute('SELECT template, data, type FROM pages WHERE id = ?', $page); - } + function Copy($page, $type, $new_name) { + if($this->Exists($new_name, $type)) return false; + if(!$this->Exists($page, $type)) return false; - $GLOBALS['db']->Execute('INSERT INTO pages (name, template, access, data, type) VALUES (?, ?, 0, ?, ?)', - array($new_name, $res->fields[0], $res->fields[1], $res->fields[2])); + $pagedata = $this->GetPageData($page, $type); - return $GLOBALS['db']->Insert_ID(); + $string = ''; + + foreach($pagedata['data'] as $key => $val) + $string .= urlencode($key) . '=' . urlencode($val) . '&'; + + $GLOBALS['db']->Execute('INSERT INTO pages (name, template, access, data, type) VALUES (?, ?, "", ?, ?)', + array($new_name, $pagedata['template'], $string, $type)); + + return ($GLOBALS['db']->Affected_Rows() > 0); } - function Delete($page, $type = null) { - if($type) $GLOBALS['db']->Execute('DELETE FROM pages WHERE name = ? AND type = ?', array($page, $type)); - else $GLOBALS['db']->Execute('DELETE FROM pages WHERE id = ?', $page); + function Delete($page, $type) { + $GLOBALS['db']->Execute('DELETE FROM pages WHERE name = ? AND type = ?', array($page, $type)); return ($GLOBALS['db']->Affected_Rows() > 0); } + + function GetList() { + $res = $GLOBALS['db']->Execute('SELECT name, type FROM pages'); + + $pages = array(); + + while($row = $res->FetchRow()) + $pages[$row[0] . '.' . $row[1]] = null; + + $pages = array_keys(array_merge($pages, $this->pages, $GLOBALS['modules']->pages)); + + sort($pages); + + return $pages; + } } $GLOBALS['pages'] = new Pages; diff --git a/code/util.inc.php b/code/util.inc.php index 4b498e7..3ee2489 100644 --- a/code/util.inc.php +++ b/code/util.inc.php @@ -1,6 +1,6 @@ '$'); foreach($subst as $key => $value) $tr['$' . $key] = $value; diff --git a/code/xmlparser.inc.php b/code/xmlparser.inc.php index 2d53a1f..0666c5a 100644 --- a/code/xmlparser.inc.php +++ b/code/xmlparser.inc.php @@ -1,27 +1,24 @@ parser = xml_parser_create(); - - xml_set_object($this->parser, $this); - xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0); - - xml_set_element_handler($this->parser, 'openTagHandler', 'closeTagHandler'); - xml_set_character_data_handler($this->parser, 'cdataHandler'); - } - function ParseFile($filename) { $this->tags = array(); $this->depth = 0; + $parser = xml_parser_create(); + + xml_set_object($parser, $this); + xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); + + xml_set_element_handler($parser, 'openTagHandler', 'closeTagHandler'); + xml_set_character_data_handler($parser, 'cdataHandler'); + $file = fopen($filename, 'r'); while ($xml = fread($file, 4096)) { - if(!xml_parse($this->parser, $xml, feof($file))) { + if(!xml_parse($parser, $xml, feof($file))) { $this->tags = null; break; } @@ -29,6 +26,8 @@ fclose($file); + xml_parser_free($parser); + return $this->tags[0]; } @@ -36,9 +35,19 @@ $this->tags = array(); $this->depth = 0; - if(!xml_parse($this->parser, $xml, true)) + $parser = xml_parser_create(); + + xml_set_object($parser, $this); + xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); + + xml_set_element_handler($parser, 'openTagHandler', 'closeTagHandler'); + xml_set_character_data_handler($parser, 'cdataHandler'); + + if(!xml_parse($parser, $xml, true)) $this->tags = null; + xml_parser_free($parser); + return $this->tags[0]; } @@ -50,6 +59,10 @@ } function openTagHandler($parser, $name, $attribs) { + $children = &$this->tags[$this->depth-1]['children']; + + $children[count($children)-1] = trim($children[count($children)-1]); + $this->tags[$this->depth] = array('tag' => $name, 'attribs' => $attribs, 'children' => array()); @@ -58,6 +71,10 @@ } function closeTagHandler($parser, $name) { + $children = &$this->tags[$this->depth-1]['children']; + + $children[count($children)-1] = trim($children[count($children)-1]); + $this->depth--; if($this->depth > 0) @@ -65,10 +82,12 @@ } function cdataHandler($parser, $data) { - $data = trim($data); + $children = &$this->tags[$this->depth-1]['children']; - if($data != '') - array_push($this->tags[$this->depth-1]['children'], $data); + if(is_string($children[count($children)-1])) + $children[count($children)-1] .= $data; + elseif(trim($data) != '') + array_push($children, $data); } } diff --git a/config/neon.sql b/config/neon.sql index 6b09422..266528a 100644 --- a/config/neon.sql +++ b/config/neon.sql @@ -1,11 +1,11 @@ -- phpMyAdmin SQL Dump --- version 2.7.0-pl2-Debian-1 +-- version 2.8.0.2-Debian-4 -- http://www.phpmyadmin.net -- -- Host: localhost --- Erstellungszeit: 11. April 2006 um 22:16 --- Server Version: 5.0.18 --- PHP-Version: 5.1.2-1 +-- Erstellungszeit: 13. April 2006 um 02:38 +-- Server Version: 5.0.19 +-- PHP-Version: 5.1.2-1+b1 -- -- Datenbank: `neon` -- @@ -76,36 +76,15 @@ CREATE TABLE `pages` ( `type` enum('c','n','e') NOT NULL default 'c', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`,`type`) -) TYPE=MyISAM AUTO_INCREMENT=43 ; +) TYPE=MyISAM AUTO_INCREMENT=56 ; -- -- Daten für Tabelle `pages` -- -INSERT INTO `pages` VALUES (1, 'Home:Startseite', 'default', 0x09, 'title=Startseite&content=Welcome+to+Neon', 'c'); -INSERT INTO `pages` VALUES (2, 'Login', 'phpexec', 0x01, 'code=%3C%3FPHP%0D%0A++if%28%24_POST%5B%27name%27%5D+%26%26+%24_POST%5B%27password%27%5D+%26%26+%24_POST%5B%27page%27%5D%29+%7B%0D%0A++++require_once%28%27code%2Fuser.inc.php%27%29%3B%0D%0A++++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++++require_once%28%27code%2Fmessage.inc.php%27%29%3B%0D%0A++++require_once%28%27code%2Futil.inc.php%27%29%3B%0D%0A++++%0D%0A++++if%28%24GLOBALS%5B%27user%27%5D-%3ELogin%28Unquote%28%24_POST%5B%27name%27%5D%29%2C+Unquote%28%24_POST%5B%27password%27%5D%29%29%29+%7B%0D%0A++++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%24_POST%5B%27page%27%5D%2C+null%2C+false%29%29%3B%0D%0A++++++exit%28%29%3B%0D%0A++++%7D%0D%0A++%7D%0D%0A++%0D%0A++%24title+%3D+Message%28%27Error%27%29%3B%0D%0A++%0D%0A++echo+%27%3Cspan+class%3D%22error%22%3E%27+.+Message%28%27LoginError%27%29+.+%27%3C%2Fspan%3E%27%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (27, 'Privileges:Update', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++%0D%0A++if%28%24_POST%5B%27type%27%5D+%21%3D+%27c%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27n%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27e%27%29%0D%0A++++exit%28%29%3B%0D%0A++%0D%0A++%24groupres+%3D+%24GLOBALS%5B%27db%27%5D-%3EExecute%28%27SELECT+id+FROM+groups+ORDER+by+id%27%29%3B%0D%0A++%24pages+%3D+%24GLOBALS%5B%27db%27%5D-%3EExecute%28%27SELECT+id+FROM+pages+WHERE+type+%3D+%3F+ORDER+by+id%27%2C+%24_POST%5B%27type%27%5D%29%3B%0D%0A++%0D%0A++%24groups+%3D+%24groupres-%3EGetArray%28%29%3B%0D%0A++array_unshift%28%24groups%2C+array%280%29%29%3B%0D%0A++%0D%0A++%24group_max+%3D+%24groups%5Bcount%28%24groups%29-1%5D%5B0%5D%3B%0D%0A++%0D%0A++%24privileges+%3D+array%28%29%3B%0D%0A++%0D%0A++while%28%24page+%3D+%24pages-%3EFetchRow%28%29%29+%7B%0D%0A++++%24access+%3D+array_fill%280%2C+%24group_max%2F8+%2B+1%2C+0%29%3B%0D%0A++++%0D%0A++++foreach%28%24groups+as+%24group%29+%7B%0D%0A++++++if%28isset%28%24_POST%5B%24group%5B0%5D+.+%27%3A%27+.+%24page%5B0%5D%5D%29%29%0D%0A++++++++%24access%5B%24group%5B0%5D%2F8%5D+%7C%3D+%281+%3C%3C+%28%24group%5B0%5D%258%29%29%3B%0D%0A++++%7D%0D%0A++++%24privileges%5B%24page%5B0%5D%5D+%3D+array%28join%28%27%27%2C+array_map%28%27chr%27%2C+%24access%29%29%2C+%24page%5B0%5D%29%3B%0D%0A++%7D%0D%0A++%0D%0A++%24GLOBALS%5B%27db%27%5D-%3EExecute%28%27UPDATE+pages+SET+access+%3D+%3F+WHERE+id+%3D+%3F%27%2C+%24privileges%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Privileges%27%2C+%27type%3D%27+.+%24_POST%5B%27type%27%5D%2C+false%29%29%3B%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (4, 'Test:LoremIpsum', 'default', 0x09, 'title=Lorem+Ipsum&content=Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Ut+a+sapien.+Aliquam+aliquet+purus+molestie+dolor.+Integer+quis+eros+ut+erat+posuere+dictum.+Curabitur+dignissim.+Integer+orci.+Fusce+vulputate+lacus+at+ipsum.+Quisque+in+libero+nec+mi+laoreet+volutpat.+Aliquam+eros+pede%2C+scelerisque+quis%2C+tristique+cursus%2C+placerat+convallis%2C+velit.+Nam+condimentum.+Nulla+ut+mauris.+Curabitur+adipiscing%2C+mauris+non+dictum+aliquam%2C+arcu+risus+dapibus+diam%2C+nec+sollicitudin+quam+erat+quis+ligula.+Aenean+massa+nulla%2C+volutpat+eu%2C+accumsan+et%2C+fringilla+eget%2C+odio.+Nulla+placerat+porta+justo.+Nulla+vitae+turpis.+Praesent+lacus.%0D%0AVestibulum+ante+ipsum+primis+in+faucibus+orci+luctus+et+ultrices+posuere+cubilia+Curae%3B+Aliquam+ultricies+lacus+eu+dui.+Duis+viverra+risus+et+eros.+Aenean+odio+dolor%2C+tristique+quis%2C+commodo+id%2C+posuere+sit+amet%2C+dui.+Pellentesque+velit.+Aliquam+erat+volutpat.+Duis+sagittis+nibh+sed+justo.+Sed+ultrices+nisl+sed+pede.+Sed+tempor+lorem+in+leo.+Integer+gravida+tincidunt+nunc.+Vivamus+ut+quam+vel+ligula+tristique+condimentum.+Proin+facilisis.+Aliquam+sagittis+lacinia+mi.+Donec+sagittis+luctus+dui.+Maecenas+quam+ante%2C+vestibulum+auctor%2C+blandit+in%2C+iaculis+in%2C+velit.+Aliquam+at+ligula.+Nam+a+tellus.+Aliquam+eu+nulla+at+turpis+vulputate+hendrerit.+Proin+at+diam.+Curabitur+euismod.%0D%0ALorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Quisque+vel+erat+eget+diam+consectetuer+iaculis.+Cras+ante+velit%2C+suscipit+et%2C+porta+tempus%2C+dignissim+quis%2C+magna.+Vivamus+viverra%2C+turpis+nec+rhoncus+ultricies%2C+diam+turpis+eleifend+nisl%2C+a+eleifend+ante+felis+ac+sapien.+Integer+bibendum.+Suspendisse+in+mi+non+neque+bibendum+convallis.+Suspendisse+potenti.+Sed+sit+amet+purus+at+felis+adipiscing+aliquam.+Vivamus+et+nisl+sit+amet+mauris+aliquet+molestie.+Integer+tortor+massa%2C+aliquam+a%2C+lacinia+nonummy%2C+sagittis+nec%2C+eros.+Nunc+non+mauris+id+eros+venenatis+adipiscing.+Cras+et+lectus+ut+nisl+pharetra+ornare.+Proin+leo+risus%2C+elementum+eget%2C+ultrices+vitae%2C+molestie+sed%2C+erat.+Curabitur+et+lectus+in+tellus+egestas+hendrerit.+Sed+dapibus+ipsum.+Quisque+sit+amet+ligula.+Suspendisse+odio+dolor%2C+semper+id%2C+feugiat+quis%2C+sodales+id%2C+mauris.+Curabitur+id+ligula+ac+libero+malesuada+pharetra.%0D%0ASuspendisse+potenti.+Cras+ut+mi+sit+amet+quam+consequat+consequat.+Aenean+ut+lectus.+Cum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Suspendisse+vel+sapien.+Nullam+non+turpis.+Pellentesque+elementum+pharetra+ligula.+In+rhoncus.+Aliquam+vel+enim+consequat+sem+aliquet+hendrerit.+Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Nam+felis.%0D%0ACum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Maecenas+tortor+metus%2C+pellentesque+nec%2C+vehicula+vitae%2C+suscipit+sed%2C+quam.+Aenean+scelerisque+sodales+tortor.+Sed+purus.+Curabitur+turpis+est%2C+bibendum+tristique%2C+porttitor+tempor%2C+pulvinar+vitae%2C+tortor.+Nullam+malesuada+dapibus+orci.+Vivamus+aliquet+tempus+velit.+Curabitur+interdum+posuere+risus.+Duis+egestas%2C+ipsum+sit+amet+molestie+tincidunt%2C+ligula+libero+pretium+risus%2C+non+faucibus+tellus+felis+mattis+sapien.+Ut+eu+velit+at+massa+auctor+mattis.+Nam+tristique+velit+quis+nisl.%0D%0AVivamus+neque+velit%2C+ornare+vitae%2C+tempor+vel%2C+ultrices+et%2C+wisi.+Cras+pede.+Phasellus+nunc+turpis%2C+cursus+non%2C+rhoncus+vitae%2C+sollicitudin+vel%2C+velit.+Vivamus+suscipit+lorem+sed+felis.+Vestibulum+vestibulum+ultrices+turpis.+Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Praesent+ornare+nulla+nec+justo.+Sed+nec+risus+ac+risus+fermentum+vestibulum.+Etiam+viverra+viverra+sem.+Etiam+molestie+mi+quis+metus+hendrerit+tristique.%0D%0AQuisque+lobortis+euismod+metus.+Nam+ante.+Nulla+fermentum%2C+risus+non+pulvinar+porttitor%2C+enim+pede+egestas+nibh%2C+sit+amet+posuere+metus+tortor+id+enim.+Donec+at+sem.+Vestibulum+in+lectus+ut+diam+lacinia+lacinia.+Maecenas+sit+amet+nulla.+Suspendisse+vel+dolor.+Nunc+hendrerit+elit+vitae+quam.+In+nonummy+velit+nec+lorem.+Etiam+rhoncus+felis+a+turpis.+Aliquam+vel+nulla.+Ut+nonummy%2C+nisl+non+sodales+iaculis%2C+mi+tellus+viverra+diam%2C+eget+euismod+dui+turpis+at+mi.+Class+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+hymenaeos.+Vestibulum+nec+quam+ac+lectus+sagittis+tincidunt.%0D%0ANulla+facilisi.+Nam+varius+ante+dignissim+arcu.+Suspendisse+molestie+dignissim+neque.+Suspendisse+leo+ipsum%2C+rutrum+cursus%2C+malesuada+id%2C+dapibus+sed%2C+urna.+Fusce+sollicitudin+laoreet+diam.+Mauris+eu+quam+eget+nulla+fermentum+adipiscing.+In+hac+habitasse+platea+dictumst.+Morbi+ut+odio+vitae+eros+luctus+luctus.+Ut+diam.+Phasellus+ullamcorper+arcu+vitae+wisi.+Pellentesque+urna+odio%2C+varius+eget%2C+dignissim+quis%2C+vehicula+placerat%2C+nunc.+Ut+nec+metus+quis+nulla+posuere+eleifend.%0D%0ASuspendisse+nibh.+Nunc+vulputate+leo+id+urna.+Donec+dictum.+Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Suspendisse+dictum%2C+magna+consectetuer+hendrerit+volutpat%2C+sapien+felis+faucibus+justo%2C+ac+dictum+lacus+pede+in+metus.+Nam+commodo.+Sed+consequat%2C+leo+pretium+sagittis+congue%2C+ante+nunc+laoreet+nisl%2C+ac+aliquam+risus+tellus+commodo+elit.+Cras+at+elit.+Pellentesque+suscipit+erat+vitae+mauris.+Sed+iaculis+eros+vitae+mauris.+Vestibulum+ante+ipsum+primis+in+faucibus+orci+luctus+et+ultrices+posuere+cubilia+Curae%3B+Suspendisse+id+ante+et+elit+accumsan+semper.+Sed+et+nibh+eget+purus+scelerisque+volutpat.+Sed+mi.+Proin+tellus+felis%2C+tincidunt+eget%2C+dictum+et%2C+adipiscing+et%2C+urna.+Cras+accumsan+diam+sed+turpis.+Etiam+sollicitudin+lacus.%0D%0ANam+iaculis+blandit+purus.+Mauris+odio+nibh%2C+hendrerit+id%2C+cursus+vel%2C+sagittis+a%2C+dolor.+Nullam+turpis+lacus%2C+ultrices+vel%2C+sagittis+vitae%2C+dapibus+vel%2C+elit.+Suspendisse+auctor%2C+sapien+et+suscipit+tempor%2C+turpis+enim+consequat+sem%2C+eu+dictum+nunc+lorem+at+massa.+Pellentesque+scelerisque+purus.+Etiam+sed+enim.+Maecenas+sed+tortor+id+turpis+consequat+consequat.+Curabitur+fringilla.+Sed+risus+wisi%2C+dictum+a%2C+sagittis+nec%2C+luctus+ac%2C+neque.+Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Sed+nibh+neque%2C+aliquam+ut%2C+sagittis+id%2C+gravida+et%2C+est.+Aenean+consectetuer+pretium+enim.+Aenean+tellus+quam%2C+condimentum+a%2C+adipiscing+et%2C+lacinia+vel%2C+ante.+Praesent+faucibus+dignissim+enim.+Aliquam+tincidunt.+Mauris+leo+ante%2C+condimentum+eget%2C+vestibulum+sit+amet%2C+fringilla+eget%2C+diam.+Nam+ultricies+ullamcorper+nibh.+Etiam+neque.+Ut+posuere+laoreet+pede.%0D%0A', 'c'); -INSERT INTO `pages` VALUES (5, 'Logout', 'phpexec', 0x08, 'code=%3C%3FPHP%0D%0A++require_once%28%27config%2Fconfig.inc.php%27%29%3B%0D%0A++%0D%0A++require_once%28%27code%2Fuser.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++%0D%0A++%24GLOBALS%5B%27user%27%5D-%3ELogout%28%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%24GLOBALS%5B%27config%27%5D%5B%27home%27%5D%2C+null%2C+false%29%29%3B%0D%0A++%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (6, 'Login', 'phpexec', 0x01, 'code=%3C%3FPHP%0D%0A++if%28%21%24GLOBALS%5B%27user%27%5D-%3Euid%29+%7B%0D%0A++++require_once%28%27code%2Fuser.inc.php%27%29%3B%0D%0A++++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++++require_once%28%27code%2Futil.inc.php%27%29%3B%0D%0A++++%0D%0A++++echo+%27%3Cform+action%3D%22%27%3B%0D%0A++++echo+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Login%27%29%3B%0D%0A++++echo+%27%22+method%3D%22post%22%3E%27%3B%0D%0A++%3F%3E%0D%0A++%3Cdiv+class%3D%22login%22%3E%0D%0A++++User%3A%3Cbr+%2F%3E%0D%0A++++%3Cinput+type%3D%22text%22+name%3D%22name%22+%2F%3E%3Cbr+%2F%3E%0D%0A++++Passwort%3A%3Cbr+%2F%3E%0D%0A++++%3Cinput+type%3D%22password%22+name%3D%22password%22+%2F%3E%3Cbr+%2F%3E%0D%0A++++%3Cinput+type%3D%22hidden%22+name%3D%22page%22+value%3D%22%3C%3FPHP%0D%0A++++++if%28%24_POST%5B%27page%27%5D%29+echo+Unquote%28%24_POST%5B%27page%27%5D%29%3B%0D%0A++++++else+echo+%24GLOBALS%5B%27page%27%5D%3B%0D%0A++++%3F%3E%22+%2F%3E%0D%0A++++%3Cdiv+class%3D%22login_submit%22%3E%0D%0A++++++%3Cinput+type%3D%22submit%22+value%3D%22Login%22+%2F%3E%0D%0A%0D%0A++++%3C%2Fdiv%3E%0D%0A++%3C%2Fdiv%3E%0D%0A%3C%2Fform%3E%0D%0A%3C%3FPHP%0D%0A++%7D%0D%0A%3F%3E%0D%0A', 'n'); -INSERT INTO `pages` VALUES (7, 'Pages', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fdb.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++%0D%0A++%24title+%3D+%27Seiten%27%3B%0D%0A++%0D%0A++echo+%27%3Ch2%3ESeiten%3C%2Fh2%3E%27%3B%0D%0A++%0D%0A++%24type+%3D+%24_GET%5B%27type%27%5D%3B%0D%0A++if%28%24type+%21%3D+%27c%27+%26%26+%24type+%21%3D+%27n%27+%26%26+%24type+%21%3D+%27e%27%29+%24type+%3D+%27c%27%3B%0D%0A++%0D%0A++echo+%27Seitentyp%3A+%27%3B%0D%0A++echo+%27%3Ca+href%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3Dc%27%29+.+%27%22%27%3B%0D%0A++if%28%24type+%3D%3D+%27c%27%29+echo+%27+class%3D%22active_page_link%22%27%3B%0D%0A++echo+%27%3EInhalt%3C%2Fa%3E+%7C+%27%3B%0D%0A++echo+%27%3Ca+href%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3Dn%27%29+.+%27%22%27%3B%0D%0A++if%28%24type+%3D%3D+%27n%27%29+echo+%27+class%3D%22active_page_link%22%27%3B%0D%0A++echo+%27%3ENavigation%3C%2Fa%3E+%7C+%27%3B%0D%0A++echo+%27%3Ca+href%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3De%27%29+.+%27%22%27%3B%0D%0A++if%28%24type+%3D%3D+%27e%27%29+echo+%27+class%3D%22active_page_link%22%27%3B%0D%0A++echo+%27%3EEditor%3C%2Fa%3E%3Cbr+%2F%3E%3Cbr+%2F%3E%27%3B%0D%0A++%0D%0A++%24res+%3D+%24GLOBALS%5B%27db%27%5D-%3EExecute%28%27SELECT+id%2C+name+FROM+pages+WHERE+type+%3D+%3F+ORDER+BY+name%27%2C+%24type%29%3B%0D%0A++%0D%0A++echo+%27%3Cform+method%3D%22post%22+action%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%3AHandle%27%29+.+%27%22%3E%27%3B%0D%0A++%0D%0A++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22type%22+value%3D%22%27+.+%24type+.+%27%22+%2F%3E%27%3B%0D%0A++%0D%0A++echo+%27%3Cselect+name%3D%22id%22+size%3D%2215%22+class%3D%22pagelist+spaced-bottom%22%3E%27%3B%0D%0A++%0D%0A++while%28%24row+%3D+%24res-%3EFetchRow%28%29%29+%7B%0D%0A++++echo+%27%3Coption+value%3D%22%27+.+%24row%5B0%5D+.+%27%22%3E%27+.+%24row%5B1%5D+.+%27%3C%2Foption%3E%27%3B%0D%0A++%7D%0D%0A++%0D%0A++echo+%27%3C%2Fselect%3E%27%3B%0D%0A++echo+%27%3Cbr+%2F%3E%27%3B%0D%0A++if%28%24type+%3D%3D+%27c%27%29%0D%0A++++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22view%22+value%3D%22Anzeigen%22+%2F%3E+%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22new%22+value%3D%22Neu%22+%2F%3E+%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22edit%22+value%3D%22Bearbeiten%22+%2F%3E+%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22copy%22+value%3D%22Kopieren%22+%2F%3E+%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22rename%22+value%3D%22Umbenennen%22+%2F%3E+%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22delete%22+value%3D%22L%C3%B6schen%22+%2F%3E%27%3B%0D%0A++echo+%27%3C%2Fform%3E%27%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (8, 'Pages:Handle', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fpages.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Ftemplates.inc.php%27%29%3B%0D%0A++%0D%0A++if%28%24_POST%5B%27type%27%5D+%21%3D+%27c%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27n%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27e%27%29%0D%0A++++exit%28%29%3B%0D%0A++%0D%0A++if%28isset%28%24_POST%5B%27view%27%5D%29%29+%7B%0D%0A++++if%28%24_POST%5B%27id%27%5D%29+%7B%0D%0A++++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%24GLOBALS%5B%27pages%27%5D-%3EGetName%28%24_POST%5B%27id%27%5D%29%2C+null%2C+false%29%29%3B%0D%0A++++++%0D%0A++++++exit%28%29%3B%0D%0A++++%7D%0D%0A++%7D%0D%0A++elseif%28isset%28%24_POST%5B%27new%27%5D%29%29+%7B%0D%0A++++%24title+%3D+%27Neue+Seite%27%3B++%0D%0A++%3F%3E%0D%0A++%3Ch2%3ENeue+Seite%3C%2Fh2%3E%0D%0A++%0D%0A++%3Cform+method%3D%22post%22+action%3D%22%3C%3FPHP+echo+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%3ANew%27%29%3B+%3F%3E%22%3E%0D%0A++++%3Cinput+type%3D%22hidden%22+name%3D%22type%22+value%3D%22%3C%3FPHP+echo+%24_POST%5B%27type%27%5D%3B+%3F%3E%22+%2F%3E%0D%0A++++Name%3A+%3Cinput+type%3D%22text%22+id%3D%22pagename%22+name%3D%22name%22+size%3D%2270%22+%2F%3E%3Cbr+%2F%3E%0D%0A++++Template%3A+%3Cselect+type%3D%22text%22+class%3D%22spaced-top%22+name%3D%22template%22+size%3D%221%22+%2F%3E%0D%0A++++%3C%3FPHP%0D%0A++++++foreach%28array_keys%28%24GLOBALS%5B%27templates%27%5D%29+as+%24key%29%0D%0A++++++++echo+%27%3Coption%3E%27+.+%24key+.+%27%3C%2Foption%3E%27%3B%0D%0A++++%3F%3E%0D%0A++++%3C%2Fselect%3E%3Cbr+%2F%3E%0D%0A++++%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+value%3D%22Neu%22+%2F%3E%0D%0A++++%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%0D%0A++%3C%2Fform%3E%0D%0A++%3C%3FPHP%0D%0A++%7D%0D%0A++elseif%28isset%28%24_POST%5B%27edit%27%5D%29%29+%7B%0D%0A++++if%28%24_POST%5B%27id%27%5D%29+%7B%0D%0A++++++%24data+%3D+%24GLOBALS%5B%27pages%27%5D-%3EGetEditor%28%24_POST%5B%27id%27%5D%29%3B%0D%0A++++++%0D%0A++++++%24title+%3D+%24data%5B%27title%27%5D%3B%0D%0A++++++%0D%0A++++++echo+%24data%5B%27content%27%5D%3B%0D%0A++++%7D%0D%0A++%7D%0D%0A++elseif%28isset%28%24_POST%5B%27copy%27%5D%29%29+%7B%0D%0A++++if%28%24_POST%5B%27id%27%5D%29+%7B%0D%0A++++++%24name+%3D+strtr%28%24GLOBALS%5B%27pages%27%5D-%3EGetName%28%24_POST%5B%27id%27%5D%29%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29%3B%0D%0A++++++%0D%0A++++++%24title+%3D+%27%5C%27%27+.+%24name+.+%27%5C%27+kopieren%27%3B%0D%0A++++++++%0D%0A++++++echo+%27%3Ch2%3E%5C%27%27+.+%24name+.+%27%5C%27+kopieren%3C%2Fh2%3E%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Cform+method%3D%22post%22+action%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%3ACopy%27%29+.+%27%22%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22id%22+value%3D%22%27+.+%24_POST%5B%27id%27%5D+.+%27%22+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22type%22+value%3D%22%27+.+%24_POST%5B%27type%27%5D+.+%27%22+%2F%3E%27%3B%0D%0A++++++echo+%27Neuer+Name%3A+%3Cinput+type%3D%22text%22+name%3D%22name%22+value%3D%22%27+.+%24name+.+%27%22+size%3D%2270%22+%2F%3E%3Cbr+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+value%3D%22Kopieren%22+%2F%3E+%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%27%3B%0D%0A++++++echo+%27%3C%2Fform%3E%27%3B%0D%0A++++%7D%0D%0A++%7D%0D%0A++elseif%28isset%28%24_POST%5B%27rename%27%5D%29%29+%7B%0D%0A++++if%28%24_POST%5B%27id%27%5D%29+%7B%0D%0A++++++%24name+%3D+strtr%28%24GLOBALS%5B%27pages%27%5D-%3EGetName%28%24_POST%5B%27id%27%5D%29%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29%3B%0D%0A++++++%0D%0A++++++%24title+%3D+%27%5C%27%27+.+%24name+.+%27%5C%27+umbenennen%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Ch2%3E%5C%27%27+.+%24name+.+%27%5C%27+umbenennen%3C%2Fh2%3E%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Cform+method%3D%22post%22+action%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%3ARename%27%29+.+%27%22%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22id%22+value%3D%22%27+.+%24_POST%5B%27id%27%5D+.+%27%22+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22type%22+value%3D%22%27+.+%24_POST%5B%27type%27%5D+.+%27%22+%2F%3E%27%3B%0D%0A++++++echo+%27Neuer+Name%3A%3Cbr+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22text%22+name%3D%22name%22+value%3D%22%27+.+%24name+.+%27%22+size%3D%2270%22+%2F%3E%3Cbr+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+value%3D%22Umbenennen%22+%2F%3E+%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%27%3B%0D%0A++++++echo+%27%3C%2Fform%3E%27%3B%0D%0A++++%7D%0D%0A++%7D%0D%0A++elseif%28isset%28%24_POST%5B%27delete%27%5D%29%29+%7B%0D%0A++++if%28%24_POST%5B%27id%27%5D%29+%7B%0D%0A++++++%24name+%3D+strtr%28%24GLOBALS%5B%27pages%27%5D-%3EGetName%28%24_POST%5B%27id%27%5D%29%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29%3B%0D%0A++++++%0D%0A++++++%24title+%3D+%27%5C%27%27+.+%24name+.+%27%5C%27+l%C3%B6schen%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Ch2%3E%5C%27%27+.+%24name+.+%27%5C%27+l%C3%B6schen%3C%2Fh2%3E%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Cform+method%3D%22post%22+action%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%3ADelete%27%29+.+%27%22%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22id%22+value%3D%22%27+.+%24_POST%5B%27id%27%5D+.+%27%22+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22type%22+value%3D%22%27+.+%24_POST%5B%27type%27%5D+.+%27%22+%2F%3E%27%3B%0D%0A++++++echo+%27Wollen+Sie+die+Seite+%5C%27%27+.+%24name+.+%27%5C%27+wirklich+l%C3%B6schen%3F%3Cbr+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+value%3D%22L%C3%B6schen%22+%2F%3E+%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%27%3B%0D%0A++++++echo+%27%3C%2Fform%3E%27%3B%0D%0A++++%7D%0D%0A++%7D%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (10, 'Pages:Copy', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fpages.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Futil.inc.php%27%29%3B%0D%0A++%0D%0A++%0D%0A++if%28%24_POST%5B%27type%27%5D+%21%3D+%27c%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27n%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27e%27%29%0D%0A++++exit%28%29%3B%0D%0A++%0D%0A++if%28%24_POST%5B%27back%27%5D%29+%7B%0D%0A++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3D%27+.+%24_POST%5B%27type%27%5D%2C+false%29%29%3B%0D%0A++++exit%28%29%3B%0D%0A++%7D%0D%0A++%0D%0A++if%28%21%24_POST%5B%27id%27%5D+%7C%7C+%21%24_POST%5B%27name%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++%24GLOBALS%5B%27pages%27%5D-%3ECopy%28%24_POST%5B%27id%27%5D%2C+Unquote%28%24_POST%5B%27name%27%5D%29%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3D%27+.+%24_POST%5B%27type%27%5D%2C+false%29%29%3B%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (11, 'Pages:Rename', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fpages.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Futil.inc.php%27%29%3B%0D%0A++%0D%0A++%0D%0A++if%28%24_POST%5B%27type%27%5D+%21%3D+%27c%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27n%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27e%27%29%0D%0A++++exit%28%29%3B%0D%0A++%0D%0A++if%28%24_POST%5B%27back%27%5D%29+%7B%0D%0A++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3D%27+.+%24_POST%5B%27type%27%5D%2C+false%29%29%3B%0D%0A++++exit%28%29%3B%0D%0A++%7D%0D%0A++%0D%0A++if%28%21%24_POST%5B%27id%27%5D+%7C%7C+%21%24_POST%5B%27name%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++%24GLOBALS%5B%27pages%27%5D-%3ERename%28%24_POST%5B%27id%27%5D%2C+Unquote%28%24_POST%5B%27name%27%5D%29%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3D%27+.+%24_POST%5B%27type%27%5D%2C+false%29%29%3B%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (12, 'Pages:Edit', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fpages.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Futil.inc.php%27%29%3B%0D%0A++%0D%0A++%0D%0A++if%28%24_POST%5B%27type%27%5D+%21%3D+%27c%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27n%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27e%27%29%0D%0A++++exit%28%29%3B%0D%0A++%0D%0A++if%28%24_POST%5B%27back%27%5D%29+%7B%0D%0A++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3D%27+.+%24_POST%5B%27type%27%5D%2C+false%29%29%3B%0D%0A++++exit%28%29%3B%0D%0A++%7D%0D%0A++%0D%0A++if%28%21%24_POST%5B%27id%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++%24data+%3D+array%28%29%3B%0D%0A++%0D%0A++foreach%28%24_POST+as+%24key+%3D%3E+%24val%29+%7B%0D%0A++++if%28substr%28%24key%2C+0%2C+5%29+%21%3D+%27data_%27%29+continue%3B%0D%0A++++%0D%0A++++%24data%5Bsubstr%28%24key%2C+5%29%5D+%3D+Unquote%28%24val%29%3B%0D%0A++%7D%0D%0A++%0D%0A++%24GLOBALS%5B%27pages%27%5D-%3EEdit%28%24_POST%5B%27id%27%5D%2C+%24data%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3D%27+.+%24_POST%5B%27type%27%5D%2C+false%29%29%3B%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (14, 'Pages:New', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fpages.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Futil.inc.php%27%29%3B%0D%0A++%0D%0A++%0D%0A++if%28%24_POST%5B%27type%27%5D+%21%3D+%27c%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27n%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27e%27%29%0D%0A++++exit%28%29%3B%0D%0A++%0D%0A++if%28%24_POST%5B%27back%27%5D%29+%7B%0D%0A++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3D%27+.+%24_POST%5B%27type%27%5D%2C+false%29%29%3B%0D%0A++++exit%28%29%3B%0D%0A++%7D%0D%0A++%0D%0A++if%28%21%24_POST%5B%27name%27%5D+%7C%7C+%21%24_POST%5B%27template%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++%24id+%3D+%24GLOBALS%5B%27pages%27%5D-%3EAdd%28Unquote%28%24_POST%5B%27name%27%5D%29%2C+Unquote%28%24_POST%5B%27template%27%5D%29%2C+%24_POST%5B%27type%27%5D%29%3B%0D%0A++++++%0D%0A++%24data+%3D+%24GLOBALS%5B%27pages%27%5D-%3EGetEditor%28%24id%29%3B%0D%0A++++++++%0D%0A++%24title+%3D+%24data%5B%27title%27%5D%3B%0D%0A++++++++%0D%0A++echo+%24data%5B%27content%27%5D%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (16, 'Pages:Delete', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fpages.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++%0D%0A++%0D%0A++if%28%24_POST%5B%27type%27%5D+%21%3D+%27c%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27n%27+%26%26+%24_POST%5B%27type%27%5D+%21%3D+%27e%27%29%0D%0A++++exit%28%29%3B%0D%0A++%0D%0A++if%28%24_POST%5B%27back%27%5D%29+%7B%0D%0A++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3D%27+.+%24_POST%5B%27type%27%5D%2C+false%29%29%3B%0D%0A++++exit%28%29%3B%0D%0A++%7D%0D%0A++%0D%0A++if%28%21%24_POST%5B%27id%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++%24GLOBALS%5B%27pages%27%5D-%3EDelete%28%24_POST%5B%27id%27%5D%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%27%2C+%27type%3D%27+.+%24_POST%5B%27type%27%5D%2C+false%29%29%3B%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (24, 'default', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++%24title+%3D+%27Edit+%5C%27%27+.+%24data%5B%27_data%27%5D%5B%27_page%27%5D+.+%27%5C%27%27%3B%0D%0A++%0D%0A++echo+%27%3Ch2%3E%27+.+%24title+.+%27%3C%2Fh2%3E%27%3B%0D%0A%3F%3E%0D%0A%3Cform+method%3D%22post%22+action%3D%22%3C%3FPHP+echo+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%3AEdit%27%29%3B+%3F%3E%22%3E%0D%0A++%3Cinput+type%3D%22hidden%22+name%3D%22id%22+value%3D%22%3C%3FPHP+echo+%24data%5B%27_data%27%5D%5B%27_id%27%5D+%3F%3E%22+%2F%3E%0D%0A++%3Cinput+type%3D%22hidden%22+name%3D%22type%22+value%3D%22%3C%3FPHP+echo+%24data%5B%27_data%27%5D%5B%27_type%27%5D%3B+%3F%3E%22+%2F%3E%0D%0A++Titel%3A+%3Cinput+type%3D%22text%22+name%3D%22data_title%22+value%3D%22%3C%3FPHP%0D%0A++++echo+strtr%28%24data%5B%27_data%27%5D%5B%27title%27%5D%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29%3B%0D%0A++%3F%3E%22+size%3D%2270%22+%2F%3E%3Cbr+%2F%3E%0D%0A++%3Ctextarea+name%3D%22data_content%22+class%3D%22pageedit+spaced-top+spaced-bottom%22+rows%3D%2225%22+cols%3D%2270%22%3E%3C%3FPHP%0D%0A++++echo+strtr%28%24data%5B%27_data%27%5D%5B%27content%27%5D%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29%3B%0D%0A++%3F%3E%3C%2Ftextarea%3E%3Cbr+%2F%3E%0D%0A++%3Cinput+type%3D%22submit%22+value%3D%22%C3%84nderungen+%C3%BCbernehmen%22+%2F%3E%0D%0A++%3Cinput+type%3D%22submit%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%0D%0A%3C%2Fform%3E%0D%0A', 'e'); -INSERT INTO `pages` VALUES (25, 'phpexec', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++%24title+%3D+%27Edit+%5C%27%27+.+%24data%5B%27_data%27%5D%5B%27_page%27%5D+.+%27%5C%27%27%3B%0D%0A++%0D%0A++echo+%27%3Ch2%3E%27+.+%24title+.+%27%3C%2Fh2%3E%27%3B%0D%0A%3F%3E%0D%0A%3Cform+method%3D%22post%22+action%3D%22%3C%3FPHP+echo+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Pages%3AEdit%27%29%3B+%3F%3E%22%3E%0D%0A++%3Cinput+type%3D%22hidden%22+name%3D%22id%22+value%3D%22%3C%3FPHP+echo+%24data%5B%27_data%27%5D%5B%27_id%27%5D+%3F%3E%22+%2F%3E%0D%0A++%3Cinput+type%3D%22hidden%22+name%3D%22type%22+value%3D%22%3C%3FPHP+echo+%24data%5B%27_data%27%5D%5B%27_type%27%5D%3B+%3F%3E%22+%2F%3E%0D%0A++%3Ctextarea+name%3D%22data_code%22+class%3D%22pageedit+spaced-bottom%22+rows%3D%2225%22+cols%3D%2270%22%3E%3C%3FPHP%0D%0A++++echo+strtr%28%24data%5B%27_data%27%5D%5B%27code%27%5D%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29%3B%0D%0A++%3F%3E%3C%2Ftextarea%3E%3Cbr+%2F%3E%0D%0A++%3Cinput+type%3D%22submit%22+value%3D%22%C3%84nderungen+%C3%BCbernehmen%22+%2F%3E%0D%0A++%3Cinput+type%3D%22submit%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%0D%0A%3C%2Fform%3E%0D%0A', 'e'); -INSERT INTO `pages` VALUES (26, 'Privileges', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++%0D%0A++%24title+%3D+%27Rechte%27%3B%0D%0A++%0D%0A++echo+%27%3Ch2%3ERechte%3C%2Fh2%3E%27%3B%0D%0A++%0D%0A++%24type+%3D+%24_GET%5B%27type%27%5D%3B%0D%0A++if%28%24type+%21%3D+%27c%27+%26%26+%24type+%21%3D+%27n%27+%26%26+%24type+%21%3D+%27e%27%29+%24type+%3D+%27c%27%3B%0D%0A++%0D%0A++echo+%27Seitentyp%3A+%27%3B%0D%0A++echo+%27%3Ca+href%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Privileges%27%2C+%27type%3Dc%27%29+.+%27%22%27%3B%0D%0A++if%28%24type+%3D%3D+%27c%27%29+echo+%27+class%3D%22active_page_link%22%27%3B%0D%0A++echo+%27%3EInhalt%3C%2Fa%3E+%7C+%27%3B%0D%0A++echo+%27%3Ca+href%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Privileges%27%2C+%27type%3Dn%27%29+.+%27%22%27%3B%0D%0A++if%28%24type+%3D%3D+%27n%27%29+echo+%27+class%3D%22active_page_link%22%27%3B%0D%0A++echo+%27%3ENavigation%3C%2Fa%3E+%7C+%27%3B%0D%0A++echo+%27%3Ca+href%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Privileges%27%2C+%27type%3De%27%29+.+%27%22%27%3B%0D%0A++if%28%24type+%3D%3D+%27e%27%29+echo+%27+class%3D%22active_page_link%22%27%3B%0D%0A++echo+%27%3EEditor%3C%2Fa%3E%3Cbr+%2F%3E%3Cbr+%2F%3E%27%3B%0D%0A++%0D%0A++echo+%27%3Cform+action%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Privileges%3AUpdate%27%29+.+%27%22+method%3D%22post%22%3E%27%3B%0D%0A++%0D%0A++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22type%22+value%3D%22%27+.+%24type+.+%27%22+%2F%3E%27%3B%0D%0A++%0D%0A++echo+%27%3Ctable+class%3D%22privtab%22%3E%27%3B%0D%0A++%0D%0A++%24groupres+%3D+%24GLOBALS%5B%27db%27%5D-%3EExecute%28%27SELECT+%2A+FROM+groups+ORDER+BY+id%27%29%3B%0D%0A++%24pages+%3D+%24GLOBALS%5B%27db%27%5D-%3EExecute%28%27SELECT+id%2C+name%2C+access+FROM+pages+WHERE+type+%3D+%3F+ORDER+BY+name%27%2C+%24type%29%3B%0D%0A++%0D%0A++%24groups+%3D+%24groupres-%3EGetArray%28%29%3B%0D%0A++array_unshift%28%24groups%2C+array%280%2C+%27Gast%27%29%29%3B%0D%0A++%0D%0A++echo+%27%3Ctr+class%3D%22group%22%3E%27%3B%0D%0A++%0D%0A++echo+%27%3Ctd%3E%3C%2Ftd%3E%27%3B%0D%0A++%0D%0A++foreach%28%24groups+as+%24group%29+%7B%0D%0A++++echo+%27%3Ctd%3E%27+.+%24group%5B1%5D+.+%27%3C%2Ftd%3E%27%3B%0D%0A++%7D%0D%0A++%0D%0A++echo+%27%3C%2Ftr%3E%27%3B%0D%0A++%0D%0A++%24linex+%3D+true%3B%0D%0A++%0D%0A++while%28%24page+%3D+%24pages-%3EFetchRow%28%29%29+%7B%0D%0A++++echo+%27%3Ctr+class%3D%22line%27+.+%28%24linex+%3F+%271%27+%3A+%272%27%29+.+%27%22%3E%27%3B%0D%0A++++%24linex+%3D+%21%24linex%3B%0D%0A++++%0D%0A++++echo+%27%3Ctd+class%3D%22page%22%3E%27+.+%24page%5B1%5D+.+%27%3C%2Ftd%3E%27%3B%0D%0A++++%0D%0A++++foreach%28%24groups+as+%24group%29+%7B%0D%0A++++++echo+%27%3Ctd%3E%3Cinput+type%3D%22checkbox%22+name%3D%22%27+.+%24group%5B0%5D+.+%27%3A%27+.+%24page%5B0%5D+.+%27%22+value%3D%22true%22+%27%3B%0D%0A++++++if%28%28ord%28%24page%5B2%5D%5B%24group%5B0%5D%2F8%5D%29+%26+%281+%3C%3C+%28%24group%5B0%5D%258%29%29%29+%21%3D+0%29+echo+%27checked%3D%22checked%22+%27%3B%0D%0A++++++echo+%27%2F%3E%3C%2Ftd%3E%27%3B%0D%0A++++%7D%0D%0A++++%0D%0A++++echo+%27%3C%2Ftr%3E%27%3B%0D%0A++%7D%0D%0A++%0D%0A++echo+%27%3Ctr%3E%3Ctd+colspan%3D%22%27+.+%28count%28%24groups%29%2B1%29+.+%27%22+class%3D%22submit%22%3E%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+value%3D%22%C3%84ndern%22+class%3D%22spaced-top%22+%2F%3E%27%3B%0D%0A++echo+%27%3C%2Ftd%3E%3C%2Ftr%3E%27%3B%0D%0A++%0D%0A++echo+%27%3C%2Ftable%3E%27%3B%0D%0A++%0D%0A++echo+%27%3C%2Fform%3E%27%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (36, 'Users:Handle', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fdb.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Fuser.inc.php%27%29%3B%0D%0A++%0D%0A++if%28isset%28%24_POST%5B%27new%27%5D%29%29+%7B%0D%0A++++%24title+%3D+%27Neuer+Benutzer%27%3B++%0D%0A++%3F%3E%0D%0A++%3Ch2%3ENeuer+Benutzer%3C%2Fh2%3E%0D%0A++%0D%0A++%3Cform+method%3D%22post%22+action%3D%22%3C%3FPHP+echo+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%3ANew%27%29%3B+%3F%3E%22%3E%0D%0A++++%3Cdiv+class%3D%22spaced-bottom%22%3EName%3A+%3Cinput+type%3D%22text%22+id%3D%22username%22+name%3D%22name%22+size%3D%2270%22+%2F%3E%3C%2Fdiv%3E%0D%0A++++Gruppe%3A%3Cbr+%2F%3E%0D%0A++++%3Cselect+name%3D%22gid%22+size%3D%2215%22+class%3D%22grouplist+spaced-bottom%22%3E%0D%0A++++++%3Coption+value%3D%220%22%3EAdministrator%3C%2Foption%3E%0D%0A++++++%3C%3FPHP%0D%0A++++++++%24res+%3D+%24GLOBALS%5B%27db%27%5D-%3EExecute%28%27SELECT+%2A+FROM+groups+ORDER+BY+name%27%29%3B%0D%0A++++++++%0D%0A++++++++while%28%24group+%3D+%24res-%3EFetchRow%28%29%29+%7B%0D%0A++++++++++echo+%27%3Coption+value%3D%22%27+.+%24group%5B0%5D+.+%27%22%3E%27+.+strtr%28%24group%5B1%5D%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29+.+%27%3C%2Foption%3E%27%3B%0D%0A++++++++%7D%0D%0A++++++%3F%3E%0D%0A++++%3C%2Fselect%3E%3Cbr+%2F%3E%0D%0A++++Passwort%3A%3Cbr+%2F%3E%0D%0A++++%3Cinput+type%3D%22password%22+class%3D%22spaced-bottom%22+name%3D%22password%22+size%3D%2230%22+%2F%3E%3Cbr+%2F%3E%0D%0A++++Best%C3%A4tigen%3A%3Cbr+%2F%3E%0D%0A++++%3Cinput+type%3D%22password%22+class%3D%22spaced-bottom%22+name%3D%22password2%22+size%3D%2230%22+%2F%3E%3Cbr+%2F%3E%0D%0A++++%3Cinput+type%3D%22submit%22+value%3D%22Neu%22+%2F%3E%0D%0A++++%3Cinput+type%3D%22submit%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%0D%0A++%3C%2Fform%3E%0D%0A++%3C%3FPHP%0D%0A++%7D%0D%0A++elseif%28isset%28%24_POST%5B%27group%27%5D%29%29+%7B%0D%0A++++if%28%24_POST%5B%27id%27%5D%29+%7B%0D%0A++++++%24name+%3D+strtr%28%24GLOBALS%5B%27user%27%5D-%3EGetName%28%24_POST%5B%27id%27%5D%29%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29%3B%0D%0A++++++%24gid+%3D+%24GLOBALS%5B%27user%27%5D-%3EGetGid%28%24_POST%5B%27id%27%5D%29%3B%0D%0A++++++%0D%0A++++++%24title+%3D+%27Gruppe+von+%5C%27%27+.+%24name+.+%27%5C%27+%C3%A4ndern%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Ch2%3EGruppe+von+%5C%27%27+.+%24name+.+%27%5C%27+%C3%A4ndern%3C%2Fh2%3E%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Cform+method%3D%22post%22+action%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%3AGroup%27%29+.+%27%22%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22id%22+value%3D%22%27+.+%24_POST%5B%27id%27%5D+.+%27%22+%2F%3E%27%3B%0D%0A++++++echo+%27Neue+Gruppe%3A%3Cbr+%2F%3E%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Cselect+name%3D%22gid%22+size%3D%2215%22+class%3D%22grouplist+spaced-bottom%22%3E%27%3B%0D%0A++++++%0D%0A++++++%24res+%3D+%24GLOBALS%5B%27db%27%5D-%3EExecute%28%27SELECT+%2A+FROM+groups+ORDER+BY+name%27%29%3B%0D%0A++++++%24groups+%3D+%24res-%3EGetArray%28%29%3B%0D%0A++++++array_unshift%28%24groups%2C+array%280%2C+%27Administrator%27%29%29%3B%0D%0A++++++%0D%0A++++++foreach%28%24groups+as+%24group%29+%7B%0D%0A++++++++echo+%27%3Coption+value%3D%22%27+.+%24group%5B0%5D+.+%27%22%27%3B%0D%0A++++++++if%28%24group%5B0%5D+%3D%3D+%24gid%29+echo+%27+selected%3D%22selected%22%27%3B%0D%0A++++++++echo+%27%3E%27+.+strtr%28%24group%5B1%5D%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29+.+%27%3C%2Foption%3E%27%3B%0D%0A++++++%7D%0D%0A++++++%0D%0A++++++echo+%27%3C%2Fselect%3E%3Cbr+%2F%3E%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+value%3D%22%C3%84ndern%22+%2F%3E+%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%27%3B%0D%0A++++++echo+%27%3C%2Fform%3E%27%3B%0D%0A++++%7D%0D%0A++%7D%0D%0A++elseif%28isset%28%24_POST%5B%27password%27%5D%29%29+%7B%0D%0A++++if%28%24_POST%5B%27id%27%5D%29+%7B%0D%0A++++++%24name+%3D+strtr%28%24GLOBALS%5B%27user%27%5D-%3EGetName%28%24_POST%5B%27id%27%5D%29%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29%3B%0D%0A++++++%0D%0A++++++%24title+%3D+%27Passwort+von+%5C%27%27+.+%24name+.+%27%5C%27+%C3%A4ndern%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Ch2%3EPasswort+von+%5C%27%27+.+%24name+.+%27%5C%27+%C3%A4ndern%3C%2Fh2%3E%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Cform+method%3D%22post%22+action%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%3APassword%27%29+.+%27%22%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22id%22+value%3D%22%27+.+%24_POST%5B%27id%27%5D+.+%27%22+%2F%3E%27%3B%0D%0A++++++echo+%27Neues+Passwort%3A%3Cbr+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22password%22+name%3D%22password%22+class%3D%22spaced-bottom%22+size%3D%2230%22+%2F%3E%3Cbr+%2F%3E%27%3B%0D%0A++++++echo+%27Best%C3%A4tigen%3A%3Cbr+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22password%22+name%3D%22password2%22+class%3D%22spaced-bottom%22+size%3D%2230%22+%2F%3E%3Cbr+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+value%3D%22%C3%84ndern%22+%2F%3E+%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%27%3B%0D%0A++++++echo+%27%3C%2Fform%3E%27%3B%0D%0A++++%7D%0D%0A++%7D%0D%0A++elseif%28isset%28%24_POST%5B%27rename%27%5D%29%29+%7B%0D%0A++++if%28%24_POST%5B%27id%27%5D%29+%7B%0D%0A++++++%24name+%3D+strtr%28%24GLOBALS%5B%27user%27%5D-%3EGetName%28%24_POST%5B%27id%27%5D%29%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29%3B%0D%0A++++++%0D%0A++++++%24title+%3D+%27%5C%27%27+.+%24name+.+%27%5C%27+umbenennen%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Ch2%3E%5C%27%27+.+%24name+.+%27%5C%27+umbenennen%3C%2Fh2%3E%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Cform+method%3D%22post%22+action%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%3ARename%27%29+.+%27%22%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22id%22+value%3D%22%27+.+%24_POST%5B%27id%27%5D+.+%27%22+%2F%3E%27%3B%0D%0A++++++echo+%27Neuer+Name%3A+%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22text%22+name%3D%22name%22+value%3D%22%27+.+%24name+.+%27%22+size%3D%2270%22+%2F%3E%3Cbr+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+value%3D%22Umbenennen%22+%2F%3E+%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%27%3B%0D%0A++++++echo+%27%3C%2Fform%3E%27%3B%0D%0A++++%7D%0D%0A++%7D%0D%0A++elseif%28isset%28%24_POST%5B%27delete%27%5D%29%29+%7B%0D%0A++++if%28%24_POST%5B%27id%27%5D%29+%7B%0D%0A++++++%24name+%3D+strtr%28%24GLOBALS%5B%27user%27%5D-%3EGetName%28%24_POST%5B%27id%27%5D%29%2C+array%28%27%3C%27+%3D%3E+%27%26lt%3B%27%2C+%27%3E%27+%3D%3E+%27%26gt%3B%27%2C+%27%26%27+%3D%3E+%27%26amp%3B%27%2C+%27%22%27+%3D%3E+%27%26quot%3B%27%29%29%3B%0D%0A++++++%0D%0A++++++%24title+%3D+%27%5C%27%27+.+%24name+.+%27%5C%27+l%C3%B6schen%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Ch2%3E%5C%27%27+.+%24name+.+%27%5C%27+l%C3%B6schen%3C%2Fh2%3E%27%3B%0D%0A++++++%0D%0A++++++echo+%27%3Cform+method%3D%22post%22+action%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%3ADelete%27%29+.+%27%22%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22hidden%22+name%3D%22id%22+value%3D%22%27+.+%24_POST%5B%27id%27%5D+.+%27%22+%2F%3E%27%3B%0D%0A++++++echo+%27Wollen+Sie+den+Benutzer+%5C%27%27+.+%24name+.+%27%5C%27+wirklich+l%C3%B6schen%3F%3Cbr+%2F%3E%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+value%3D%22L%C3%B6schen%22+%2F%3E+%27%3B%0D%0A++++++echo+%27%3Cinput+type%3D%22submit%22+class%3D%22spaced-top%22+name%3D%22back%22+value%3D%22Zur%C3%BCck%22+%2F%3E%27%3B%0D%0A++++++echo+%27%3C%2Fform%3E%27%3B%0D%0A++++%7D%0D%0A++%7D%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (34, 'Users', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fdb.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++%0D%0A++%24title+%3D+%27Benutzer%27%3B%0D%0A++%0D%0A++echo+%27%3Ch2%3EBenutzer%3C%2Fh2%3E%27%3B%0D%0A++%0D%0A++%24res+%3D+%24GLOBALS%5B%27db%27%5D-%3EExecute%28%27SELECT+id%2C+user+FROM+users+ORDER+BY+user%27%29%3B%0D%0A++%0D%0A++echo+%27%3Cform+method%3D%22post%22+action%3D%22%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%3AHandle%27%29+.+%27%22%3E%27%3B%0D%0A++%0D%0A++echo+%27%3Cselect+name%3D%22id%22+size%3D%2215%22+class%3D%22userlist+spaced-bottom%22%3E%27%3B%0D%0A++%0D%0A++while%28%24row+%3D+%24res-%3EFetchRow%28%29%29+%7B%0D%0A++++echo+%27%3Coption+value%3D%22%27+.+%24row%5B0%5D+.+%27%22%3E%27+.+%24row%5B1%5D+.+%27%3C%2Foption%3E%27%3B%0D%0A++%7D%0D%0A++%0D%0A++echo+%27%3C%2Fselect%3E%27%3B%0D%0A++echo+%27%3Cbr+%2F%3E%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22new%22+value%3D%22Neu%22+%2F%3E+%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22group%22+value%3D%22Gruppe+%C3%A4ndern%22+%2F%3E+%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22password%22+value%3D%22Passwort+%C3%A4ndern%22+%2F%3E+%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22rename%22+value%3D%22Umbenennen%22+%2F%3E+%27%3B%0D%0A++echo+%27%3Cinput+type%3D%22submit%22+name%3D%22delete%22+value%3D%22L%C3%B6schen%22+%2F%3E%27%3B%0D%0A++echo+%27%3C%2Fform%3E%27%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (37, 'Users:Delete', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fuser.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++%0D%0A++%0D%0A++if%28%24_POST%5B%27back%27%5D%29+%7B%0D%0A++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%27%2C+null%2C+false%29%29%3B%0D%0A++++exit%28%29%3B%0D%0A++%7D%0D%0A++%0D%0A++if%28%21%24_POST%5B%27id%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++%24GLOBALS%5B%27user%27%5D-%3EDelete%28%24_POST%5B%27id%27%5D%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%27%2C+null%2C+false%29%29%3B%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (38, 'Users:Rename', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fuser.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Futil.inc.php%27%29%3B%0D%0A++%0D%0A++%0D%0A++if%28%24_POST%5B%27back%27%5D%29+%7B%0D%0A++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%27%2C+null%2C+false%29%29%3B%0D%0A++++exit%28%29%3B%0D%0A++%7D%0D%0A++%0D%0A++if%28%21%24_POST%5B%27id%27%5D+%7C%7C+%21%24_POST%5B%27name%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++%24GLOBALS%5B%27user%27%5D-%3ERename%28%24_POST%5B%27id%27%5D%2C+Unquote%28%24_POST%5B%27name%27%5D%29%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%27%2C+null%2C+false%29%29%3B%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (39, 'Users:Password', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fuser.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Futil.inc.php%27%29%3B%0D%0A++%0D%0A++%0D%0A++if%28%24_POST%5B%27back%27%5D%29+%7B%0D%0A++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%27%2C+null%2C+false%29%29%3B%0D%0A++++exit%28%29%3B%0D%0A++%7D%0D%0A++%0D%0A++if%28%21%24_POST%5B%27id%27%5D+%7C%7C+%21%24_POST%5B%27password%27%5D+%7C%7C+%21%24_POST%5B%27password2%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++if%28%24_POST%5B%27password%27%5D+%21%3D+%24_POST%5B%27password2%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++%24GLOBALS%5B%27user%27%5D-%3EChangePassword%28%24_POST%5B%27id%27%5D%2C+Unquote%28%24_POST%5B%27password%27%5D%29%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%27%2C+null%2C+false%29%29%3B%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (41, 'Users:New', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fuser.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Futil.inc.php%27%29%3B%0D%0A++%0D%0A++%0D%0A++if%28%24_POST%5B%27back%27%5D%29+%7B%0D%0A++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%27%2C+null%2C+false%29%29%3B%0D%0A++++exit%28%29%3B%0D%0A++%7D%0D%0A++%0D%0A++if%28%21%24_POST%5B%27name%27%5D+%7C%7C+%21isset%28%24_POST%5B%27gid%27%5D%29+%7C%7C+%21%24_POST%5B%27password%27%5D+%7C%7C+%21%24_POST%5B%27password2%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++if%28%24_POST%5B%27password%27%5D+%21%3D+%24_POST%5B%27password2%27%5D%29+exit%28%29%3B%0D%0A++%0D%0A++%24GLOBALS%5B%27user%27%5D-%3EAdd%28Unquote%28%24_POST%5B%27name%27%5D%29%2C+%24_POST%5B%27gid%27%5D%2C+Unquote%28%24_POST%5B%27password%27%5D%29%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%27%2C+null%2C+false%29%29%3B%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (40, 'Users:Group', 'phpexec', 0x00, 'code=%3C%3FPHP%0D%0A++require_once%28%27code%2Fuser.inc.php%27%29%3B%0D%0A++require_once%28%27code%2Flinks.inc.php%27%29%3B%0D%0A++%0D%0A++%0D%0A++if%28%24_POST%5B%27back%27%5D%29+%7B%0D%0A++++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%27%2C+null%2C+false%29%29%3B%0D%0A++++exit%28%29%3B%0D%0A++%7D%0D%0A++%0D%0A++if%28%21isset%28%24_POST%5B%27id%27%5D%29+%7C%7C+%21isset%28%24_POST%5B%27gid%27%5D%29%29+exit%28%29%3B%0D%0A++%0D%0A++%24GLOBALS%5B%27user%27%5D-%3EChangeGroup%28%24_POST%5B%27id%27%5D%2C+%24_POST%5B%27gid%27%5D%29%3B%0D%0A++%0D%0A++header%28%27Location%3A+%27+.+%24GLOBALS%5B%27links%27%5D-%3EGetNeonLink%28%27Users%27%2C+null%2C+false%29%29%3B%0D%0A++exit%28%29%3B%0D%0A%3F%3E%0D%0A', 'c'); -INSERT INTO `pages` VALUES (42, 'Test:BBCode', 'bbcode', 0x09, 'title=BBCode&code=Test%0D%0A%5Bb%5DTest%5B%2Fb%5D%0D%0A%5Bi%5DTest%5B%2Fi%5D%0D%0A%5Bu%5DTest%5B%2Fu%5D', 'c'); +INSERT INTO `pages` VALUES (47, 'Home:Startseite', 'default', 0x09, 'title=Startseite&content=Welcome+to+Neon&', 'c'); +INSERT INTO `pages` VALUES (48, 'Test:LoremIpsum', 'default', 0x09, 'title=Lorem+Ipsum&content=Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Ut+a+sapien.+Aliquam+aliquet+purus+molestie+dolor.+Integer+quis+eros+ut+erat+posuere+dictum.+Curabitur+dignissim.+Integer+orci.+Fusce+vulputate+lacus+at+ipsum.+Quisque+in+libero+nec+mi+laoreet+volutpat.+Aliquam+eros+pede%2C+scelerisque+quis%2C+tristique+cursus%2C+placerat+convallis%2C+velit.+Nam+condimentum.+Nulla+ut+mauris.+Curabitur+adipiscing%2C+mauris+non+dictum+aliquam%2C+arcu+risus+dapibus+diam%2C+nec+sollicitudin+quam+erat+quis+ligula.+Aenean+massa+nulla%2C+volutpat+eu%2C+accumsan+et%2C+fringilla+eget%2C+odio.+Nulla+placerat+porta+justo.+Nulla+vitae+turpis.+Praesent+lacus.%0AVestibulum+ante+ipsum+primis+in+faucibus+orci+luctus+et+ultrices+posuere+cubilia+Curae%3B+Aliquam+ultricies+lacus+eu+dui.+Duis+viverra+risus+et+eros.+Aenean+odio+dolor%2C+tristique+quis%2C+commodo+id%2C+posuere+sit+amet%2C+dui.+Pellentesque+velit.+Aliquam+erat+volutpat.+Duis+sagittis+nibh+sed+justo.+Sed+ultrices+nisl+sed+pede.+Sed+tempor+lorem+in+leo.+Integer+gravida+tincidunt+nunc.+Vivamus+ut+quam+vel+ligula+tristique+condimentum.+Proin+facilisis.+Aliquam+sagittis+lacinia+mi.+Donec+sagittis+luctus+dui.+Maecenas+quam+ante%2C+vestibulum+auctor%2C+blandit+in%2C+iaculis+in%2C+velit.+Aliquam+at+ligula.+Nam+a+tellus.+Aliquam+eu+nulla+at+turpis+vulputate+hendrerit.+Proin+at+diam.+Curabitur+euismod.%0ALorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Quisque+vel+erat+eget+diam+consectetuer+iaculis.+Cras+ante+velit%2C+suscipit+et%2C+porta+tempus%2C+dignissim+quis%2C+magna.+Vivamus+viverra%2C+turpis+nec+rhoncus+ultricies%2C+diam+turpis+eleifend+nisl%2C+a+eleifend+ante+felis+ac+sapien.+Integer+bibendum.+Suspendisse+in+mi+non+neque+bibendum+convallis.+Suspendisse+potenti.+Sed+sit+amet+purus+at+felis+adipiscing+aliquam.+Vivamus+et+nisl+sit+amet+mauris+aliquet+molestie.+Integer+tortor+massa%2C+aliquam+a%2C+lacinia+nonummy%2C+sagittis+nec%2C+eros.+Nunc+non+mauris+id+eros+venenatis+adipiscing.+Cras+et+lectus+ut+nisl+pharetra+ornare.+Proin+leo+risus%2C+elementum+eget%2C+ultrices+vitae%2C+molestie+sed%2C+erat.+Curabitur+et+lectus+in+tellus+egestas+hendrerit.+Sed+dapibus+ipsum.+Quisque+sit+amet+ligula.+Suspendisse+odio+dolor%2C+semper+id%2C+feugiat+quis%2C+sodales+id%2C+mauris.+Curabitur+id+ligula+ac+libero+malesuada+pharetra.%0ASuspendisse+potenti.+Cras+ut+mi+sit+amet+quam+consequat+consequat.+Aenean+ut+lectus.+Cum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Suspendisse+vel+sapien.+Nullam+non+turpis.+Pellentesque+elementum+pharetra+ligula.+In+rhoncus.+Aliquam+vel+enim+consequat+sem+aliquet+hendrerit.+Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Nam+felis.%0ACum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Maecenas+tortor+metus%2C+pellentesque+nec%2C+vehicula+vitae%2C+suscipit+sed%2C+quam.+Aenean+scelerisque+sodales+tortor.+Sed+purus.+Curabitur+turpis+est%2C+bibendum+tristique%2C+porttitor+tempor%2C+pulvinar+vitae%2C+tortor.+Nullam+malesuada+dapibus+orci.+Vivamus+aliquet+tempus+velit.+Curabitur+interdum+posuere+risus.+Duis+egestas%2C+ipsum+sit+amet+molestie+tincidunt%2C+ligula+libero+pretium+risus%2C+non+faucibus+tellus+felis+mattis+sapien.+Ut+eu+velit+at+massa+auctor+mattis.+Nam+tristique+velit+quis+nisl.%0AVivamus+neque+velit%2C+ornare+vitae%2C+tempor+vel%2C+ultrices+et%2C+wisi.+Cras+pede.+Phasellus+nunc+turpis%2C+cursus+non%2C+rhoncus+vitae%2C+sollicitudin+vel%2C+velit.+Vivamus+suscipit+lorem+sed+felis.+Vestibulum+vestibulum+ultrices+turpis.+Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Praesent+ornare+nulla+nec+justo.+Sed+nec+risus+ac+risus+fermentum+vestibulum.+Etiam+viverra+viverra+sem.+Etiam+molestie+mi+quis+metus+hendrerit+tristique.%0AQuisque+lobortis+euismod+metus.+Nam+ante.+Nulla+fermentum%2C+risus+non+pulvinar+porttitor%2C+enim+pede+egestas+nibh%2C+sit+amet+posuere+metus+tortor+id+enim.+Donec+at+sem.+Vestibulum+in+lectus+ut+diam+lacinia+lacinia.+Maecenas+sit+amet+nulla.+Suspendisse+vel+dolor.+Nunc+hendrerit+elit+vitae+quam.+In+nonummy+velit+nec+lorem.+Etiam+rhoncus+felis+a+turpis.+Aliquam+vel+nulla.+Ut+nonummy%2C+nisl+non+sodales+iaculis%2C+mi+tellus+viverra+diam%2C+eget+euismod+dui+turpis+at+mi.+Class+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+hymenaeos.+Vestibulum+nec+quam+ac+lectus+sagittis+tincidunt.%0ANulla+facilisi.+Nam+varius+ante+dignissim+arcu.+Suspendisse+molestie+dignissim+neque.+Suspendisse+leo+ipsum%2C+rutrum+cursus%2C+malesuada+id%2C+dapibus+sed%2C+urna.+Fusce+sollicitudin+laoreet+diam.+Mauris+eu+quam+eget+nulla+fermentum+adipiscing.+In+hac+habitasse+platea+dictumst.+Morbi+ut+odio+vitae+eros+luctus+luctus.+Ut+diam.+Phasellus+ullamcorper+arcu+vitae+wisi.+Pellentesque+urna+odio%2C+varius+eget%2C+dignissim+quis%2C+vehicula+placerat%2C+nunc.+Ut+nec+metus+quis+nulla+posuere+eleifend.%0ASuspendisse+nibh.+Nunc+vulputate+leo+id+urna.+Donec+dictum.+Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Suspendisse+dictum%2C+magna+consectetuer+hendrerit+volutpat%2C+sapien+felis+faucibus+justo%2C+ac+dictum+lacus+pede+in+metus.+Nam+commodo.+Sed+consequat%2C+leo+pretium+sagittis+congue%2C+ante+nunc+laoreet+nisl%2C+ac+aliquam+risus+tellus+commodo+elit.+Cras+at+elit.+Pellentesque+suscipit+erat+vitae+mauris.+Sed+iaculis+eros+vitae+mauris.+Vestibulum+ante+ipsum+primis+in+faucibus+orci+luctus+et+ultrices+posuere+cubilia+Curae%3B+Suspendisse+id+ante+et+elit+accumsan+semper.+Sed+et+nibh+eget+purus+scelerisque+volutpat.+Sed+mi.+Proin+tellus+felis%2C+tincidunt+eget%2C+dictum+et%2C+adipiscing+et%2C+urna.+Cras+accumsan+diam+sed+turpis.+Etiam+sollicitudin+lacus.%0ANam+iaculis+blandit+purus.+Mauris+odio+nibh%2C+hendrerit+id%2C+cursus+vel%2C+sagittis+a%2C+dolor.+Nullam+turpis+lacus%2C+ultrices+vel%2C+sagittis+vitae%2C+dapibus+vel%2C+elit.+Suspendisse+auctor%2C+sapien+et+suscipit+tempor%2C+turpis+enim+consequat+sem%2C+eu+dictum+nunc+lorem+at+massa.+Pellentesque+scelerisque+purus.+Etiam+sed+enim.+Maecenas+sed+tortor+id+turpis+consequat+consequat.+Curabitur+fringilla.+Sed+risus+wisi%2C+dictum+a%2C+sagittis+nec%2C+luctus+ac%2C+neque.+Lorem+ipsum+dolor+sit+amet%2C+consectetuer+adipiscing+elit.+Sed+nibh+neque%2C+aliquam+ut%2C+sagittis+id%2C+gravida+et%2C+est.+Aenean+consectetuer+pretium+enim.+Aenean+tellus+quam%2C+condimentum+a%2C+adipiscing+et%2C+lacinia+vel%2C+ante.+Praesent+faucibus+dignissim+enim.+Aliquam+tincidunt.+Mauris+leo+ante%2C+condimentum+eget%2C+vestibulum+sit+amet%2C+fringilla+eget%2C+diam.+Nam+ultricies+ullamcorper+nibh.+Etiam+neque.+Ut+posuere+laoreet+pede.&', 'c'); +INSERT INTO `pages` VALUES (49, 'Test:BBCode', 'bbcode', 0x09, 'title=BBCode&code=Test%0A%5Bb%5DTest%5Bb%5D%0A%5Bi%5DTest%5B%2Fi%5D%0A%5Bu%5DTest%5B%2Fu%5D&', 'c'); -- -------------------------------------------------------- @@ -122,12 +101,12 @@ CREATE TABLE `users` ( `lastaccess` timestamp NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `user` (`user`) -) TYPE=MyISAM AUTO_INCREMENT=5 ; +) TYPE=MyISAM AUTO_INCREMENT=6 ; -- -- Daten für Tabelle `users` -- -INSERT INTO `users` VALUES (1, '', 0, 'NeoRaider', 'gamezock', '2006-04-11 22:15:35'); +INSERT INTO `users` VALUES (1, '', 0, 'NeoRaider', 'gamezock', '2006-04-13 02:30:31'); INSERT INTO `users` VALUES (3, '', 0, 'sicarius', 'armleuchter', '2006-03-05 23:46:46'); INSERT INTO `users` VALUES (4, '', 0, 'morti', 'return', '2006-03-05 22:02:27'); diff --git a/pages/Login.c.xml b/pages/Login.c.xml new file mode 100644 index 0000000..5175136 --- /dev/null +++ b/pages/Login.c.xml @@ -0,0 +1,32 @@ + + + + Login + + 01 + c + + + + Login(Unquote($_POST['name']), Unquote($_POST['password']))) { + header('Location: ' . $GLOBALS['links']->GetNeonLink($_POST['page'], null, false)); + exit(); + } + } + + $title = Message('Error'); + + echo '' . Message('LoginError') . ''; +?> + ]]> + + + diff --git a/pages/Login.n.xml b/pages/Login.n.xml new file mode 100644 index 0000000..c6c50b3 --- /dev/null +++ b/pages/Login.n.xml @@ -0,0 +1,43 @@ + + + + Login + + 01 + n + + + + uid) { + require_once('code/user.inc.php'); + require_once('code/links.inc.php'); + require_once('code/util.inc.php'); + + echo '
'; + ?> + +
+ + ]]> +
+
+
diff --git a/pages/Logout.c.xml b/pages/Logout.c.xml new file mode 100644 index 0000000..4fcb5b2 --- /dev/null +++ b/pages/Logout.c.xml @@ -0,0 +1,27 @@ + + + + Logout + + 08 + c + + + + Logout(); + + header('Location: ' . $GLOBALS['links']->GetNeonLink($GLOBALS['config']['home'], null, false)); + + exit(); +?> + ]]> + + + diff --git a/pages/Pages.c.xml b/pages/Pages.c.xml new file mode 100644 index 0000000..8435abd --- /dev/null +++ b/pages/Pages.c.xml @@ -0,0 +1,58 @@ + + + + Pages + + 00 + c + + + + Seiten'; + + $type = $_GET['type']; + if($type != 'c' && $type != 'n' && $type != 'e') $type = 'c'; + + echo 'Seitentyp: '; + echo 'Inhalt | '; + echo 'Navigation | '; + echo 'Editor

'; + + echo '
'; + + echo ''; + + echo ''; + echo '
'; + if($type == 'c') + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo ''; + echo '
'; +?> + ]]> +
+
+
diff --git a/pages/Pages/Copy.c.xml b/pages/Pages/Copy.c.xml new file mode 100644 index 0000000..49aede8 --- /dev/null +++ b/pages/Pages/Copy.c.xml @@ -0,0 +1,36 @@ + + + + Pages:Copy + + 00 + c + + + + GetNeonLink('Pages', 'type=' . $_POST['type'], false)); + exit(); + } + + if(!$_POST['name'] || !$_POST['newname']) exit(); + + $GLOBALS['pages']->Copy(Unquote($_POST['name']), $_POST['type'], Unquote($_POST['newname'])); + + header('Location: ' . $GLOBALS['links']->GetNeonLink('Pages', 'type=' . $_POST['type'], false)); + exit(); +?> + ]]> + + + diff --git a/pages/Pages/Delete.c.xml b/pages/Pages/Delete.c.xml new file mode 100644 index 0000000..62c8f41 --- /dev/null +++ b/pages/Pages/Delete.c.xml @@ -0,0 +1,35 @@ + + + + Pages:Delete + + 00 + c + + + + GetNeonLink('Pages', 'type=' . $_POST['type'], false)); + exit(); + } + + if(!$_POST['name']) exit(); + + $GLOBALS['pages']->Delete(Unquote($_POST['name']), $_POST['type']); + + header('Location: ' . $GLOBALS['links']->GetNeonLink('Pages', 'type=' . $_POST['type'], false)); + exit(); +?> + ]]> + + + diff --git a/pages/Pages/Edit.c.xml b/pages/Pages/Edit.c.xml new file mode 100644 index 0000000..bf4ea6a --- /dev/null +++ b/pages/Pages/Edit.c.xml @@ -0,0 +1,44 @@ + + + + Pages:Edit + + 00 + c + + + + GetNeonLink('Pages', 'type=' . $_POST['type'], false)); + exit(); + } + + if(!$_POST['name']) exit(); + + $data = array(); + + foreach($_POST as $key => $val) { + if(substr($key, 0, 5) != 'data_') continue; + + $data[substr($key, 5)] = Unquote($val); + } + + $GLOBALS['pages']->Edit(Unquote($_POST['name']), $_POST['type'], $data); + + header('Location: ' . $GLOBALS['links']->GetNeonLink('Pages', 'type=' . $_POST['type'], false)); + exit(); +?> + ]]> + + + diff --git a/pages/Pages/Handle.c.xml b/pages/Pages/Handle.c.xml new file mode 100644 index 0000000..55aae8b --- /dev/null +++ b/pages/Pages/Handle.c.xml @@ -0,0 +1,110 @@ + + + + Pages:Handle + + 00 + c + + + + GetNeonLink(Unquote($_POST['name']), null, false)); + exit(); + } + } + elseif(isset($_POST['new'])) { + $title = 'Neue Seite'; + ?> +

Neue Seite

+ +
+ + Name:
+ Template:
+ + +
+ GetEditor(Unquote($_POST['name']), $_POST['type']); + + $title = $data['title']; + + echo $data['content']; + } + } + elseif(isset($_POST['copy'])) { + if($_POST['name']) { + $name = strtr(Unquote($_POST['name']), array('<' => '<', '>' => '>', '&' => '&', '"' => '"')); + + $title = '\'' . $name . '\' kopieren'; + + echo '

\'' . $name . '\' kopieren

'; + + echo '
'; + echo ''; + echo ''; + echo 'Neuer Name:
'; + echo ' '; + echo ''; + echo '
'; + } + } + elseif(isset($_POST['rename'])) { + if($_POST['name']) { + $name = strtr(Unquote($_POST['name']), array('<' => '<', '>' => '>', '&' => '&', '"' => '"')); + + $title = '\'' . $name . '\' umbenennen'; + + echo '

\'' . $name . '\' umbenennen

'; + + echo '
'; + echo ''; + echo ''; + echo 'Neuer Name:
'; + echo '
'; + echo ' '; + echo ''; + echo '
'; + } + } + elseif(isset($_POST['delete'])) { + if($_POST['name']) { + $name = strtr(Unquote($_POST['name']), array('<' => '<', '>' => '>', '&' => '&', '"' => '"')); + + $title = '\'' . $name . '\' löschen'; + + echo '

\'' . $name . '\' löschen

'; + + echo '
'; + echo ''; + echo ''; + echo 'Wollen Sie die Seite \'' . $name . '\' wirklich löschen?
'; + echo ' '; + echo ''; + echo '
'; + } + } +?> + ]]> +
+
+
diff --git a/pages/Pages/New.c.xml b/pages/Pages/New.c.xml new file mode 100644 index 0000000..8ee794e --- /dev/null +++ b/pages/Pages/New.c.xml @@ -0,0 +1,39 @@ + + + + Pages:New + + 00 + c + + + + GetNeonLink('Pages', 'type=' . $_POST['type'], false)); + exit(); + } + + if(!$_POST['name'] || !$_POST['template']) exit(); + + $GLOBALS['pages']->Add(Unquote($_POST['name']), $_POST['type'], Unquote($_POST['template'])); + + $data = $GLOBALS['pages']->GetEditor(Unquote($_POST['name']), $_POST['type']); + + $title = $data['title']; + + echo $data['content']; +?> + ]]> + + + diff --git a/pages/Pages/Rename.c.xml b/pages/Pages/Rename.c.xml new file mode 100644 index 0000000..be485e2 --- /dev/null +++ b/pages/Pages/Rename.c.xml @@ -0,0 +1,36 @@ + + + + Pages:Rename + + 00 + c + + + + GetNeonLink('Pages', 'type=' . $_POST['type'], false)); + exit(); + } + + if(!$_POST['name'] || !$_POST['newname']) exit(); + + $GLOBALS['pages']->Rename(Unquote($_POST['name']), $_POST['type'], Unquote($_POST['newname'])); + + header('Location: ' . $GLOBALS['links']->GetNeonLink('Pages', 'type=' . $_POST['type'], false)); + exit(); +?> + ]]> + + + diff --git a/pages/Privileges.c.xml b/pages/Privileges.c.xml new file mode 100644 index 0000000..7374abb --- /dev/null +++ b/pages/Privileges.c.xml @@ -0,0 +1,89 @@ + + + + Privileges + + 00 + c + + + + Rechte'; + + $type = $_GET['type']; + if($type != 'c' && $type != 'n' && $type != 'e') $type = 'c'; + + echo 'Seitentyp: '; + echo 'Inhalt | '; + echo 'Navigation | '; + echo 'Editor

'; + + echo '
'; + + echo ''; + + echo ''; + + $groupres = $GLOBALS['db']->Execute('SELECT * FROM groups ORDER BY id'); + $pages = $GLOBALS['pages']->GetList(); + + $groups = $groupres->GetArray(); + array_unshift($groups, array(0, 'Gast')); + + echo ''; + + echo ''; + + foreach($groups as $group) { + echo ''; + } + + echo ''; + + $linex = true; + + foreach($pages as $page) { + if($page[strlen($page)-1] != $type) continue; + + $pagedata = $GLOBALS['pages']->GetPageData(substr($page, 0, -2), $type); + + echo ''; + $linex = !$linex; + + echo ''; + + foreach($groups as $group) { + echo ''; + } + + echo ''; + } + + echo ''; + + echo '
' . $group[1] . '
' . $pagedata['name'] . '
'; + echo ''; + echo '
'; + + echo '
'; +?> + ]]> +
+
+
diff --git a/pages/Privileges/Update.c.xml b/pages/Privileges/Update.c.xml new file mode 100644 index 0000000..033bb7f --- /dev/null +++ b/pages/Privileges/Update.c.xml @@ -0,0 +1,77 @@ + + + + Privileges:Update + + 00 + c + + + + Execute('SELECT id FROM groups ORDER by id'); + $pages = $GLOBALS['pages']->GetList(); + + $groups = $groupres->GetArray(); + array_unshift($groups, array(0)); + + $group_max = $groups[count($groups)-1][0]; + + foreach($pages as $page) { + if($page[strlen($page)-1] != $_POST['type']) continue; + + $page = substr($page, 0, -2); + + $access = array_fill(0, $group_max/8 + 1, 0); + + foreach($groups as $group) { + if(isset($_POST[$page . ':' . $group[0]])) + $access[$group[0]/8] |= (1 << ($group[0]%8)); + } + + $privileges = join('', array_map('chr', $access)); + + $GLOBALS['db']->Execute('UPDATE pages SET access = ? WHERE name = ?', array($privileges, $page)); + + if($GLOBALS['db']->Affected_Rows()) continue; + + $pagedata = $GLOBALS['pages']->GetPageData($page, $_POST['type']); + + $access = ''; + + for($i = 0; $i < strlen($pagedata['access']); $i+=2) + $access .= chr(hexdec(substr($pagedata['access'], $i, 2))); + + if($access == substr($privileges, 0, strlen($access))) { + for($i = strlen($access); $i < strlen($privileges); $i++) + if($privileges[$i] != 0) break; + + if($i == strlen($privileges)) continue; + } + + $string = ''; + + foreach($pagedata['data'] as $key => $val) + $string .= urlencode($key) . '=' . urlencode($val) . '&'; + + $GLOBALS['db']->Execute('INSERT INTO pages (name, template, access, data, type) VALUES (?, ?, ?, ?, ?)', + array($page, $pagedata['template'], $access, $string, $_POST['type'])); + } + + header('Location: ' . $GLOBALS['links']->GetNeonLink('Privileges', 'type=' . $_POST['type'], false)); + exit(); + + $GLOBALS['pages']->GetPageData() +?> + ]]> + + + diff --git a/pages/Users.c.xml b/pages/Users.c.xml new file mode 100644 index 0000000..076f035 --- /dev/null +++ b/pages/Users.c.xml @@ -0,0 +1,42 @@ + + + + Users + + 00 + c + + + + Benutzer'; + + $res = $GLOBALS['db']->Execute('SELECT id, user FROM users ORDER BY user'); + + echo '
'; + + echo ''; + echo '
'; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo ''; + echo '
'; +?> + ]]> +
+
+
diff --git a/pages/Users/Delete.c.xml b/pages/Users/Delete.c.xml new file mode 100644 index 0000000..c4d9594 --- /dev/null +++ b/pages/Users/Delete.c.xml @@ -0,0 +1,32 @@ + + + + Users:Delete + + 00 + c + + + + GetNeonLink('Users', null, false)); + exit(); + } + + if(!$_POST['id']) exit(); + + $GLOBALS['user']->Delete($_POST['id']); + + header('Location: ' . $GLOBALS['links']->GetNeonLink('Users', null, false)); + exit(); + ?> + ]]> + + + diff --git a/pages/Users/Group.c.xml b/pages/Users/Group.c.xml new file mode 100644 index 0000000..3a7f216 --- /dev/null +++ b/pages/Users/Group.c.xml @@ -0,0 +1,32 @@ + + + + Users:Group + + 00 + c + + + + GetNeonLink('Users', null, false)); + exit(); + } + + if(!isset($_POST['id']) || !isset($_POST['gid'])) exit(); + + $GLOBALS['user']->ChangeGroup($_POST['id'], $_POST['gid']); + + header('Location: ' . $GLOBALS['links']->GetNeonLink('Users', null, false)); + exit(); + ?> + ]]> + + + diff --git a/pages/Users/Handle.c.xml b/pages/Users/Handle.c.xml new file mode 100644 index 0000000..9002d9f --- /dev/null +++ b/pages/Users/Handle.c.xml @@ -0,0 +1,132 @@ + + + + Users:Handle + + 00 + c + + + + +

Neuer Benutzer

+ +
+
Name:
+ Gruppe:
+
+ Passwort:
+
+ Bestätigen:
+
+ + +
+ GetName($_POST['id']), array('<' => '<', '>' => '>', '&' => '&', '"' => '"')); + $gid = $GLOBALS['user']->GetGid($_POST['id']); + + $title = 'Gruppe von \'' . $name . '\' ändern'; + + echo '

Gruppe von \'' . $name . '\' ändern

'; + + echo '
'; + echo ''; + echo 'Neue Gruppe:
'; + + echo '
'; + + echo ' '; + echo ''; + echo '
'; + } + } + elseif(isset($_POST['password'])) { + if($_POST['id']) { + $name = strtr($GLOBALS['user']->GetName($_POST['id']), array('<' => '<', '>' => '>', '&' => '&', '"' => '"')); + + $title = 'Passwort von \'' . $name . '\' ändern'; + + echo '

Passwort von \'' . $name . '\' ändern

'; + + echo '
'; + echo ''; + echo 'Neues Passwort:
'; + echo '
'; + echo 'Bestätigen:
'; + echo '
'; + echo ' '; + echo ''; + echo '
'; + } + } + elseif(isset($_POST['rename'])) { + if($_POST['id']) { + $name = strtr($GLOBALS['user']->GetName($_POST['id']), array('<' => '<', '>' => '>', '&' => '&', '"' => '"')); + + $title = '\'' . $name . '\' umbenennen'; + + echo '

\'' . $name . '\' umbenennen

'; + + echo '
'; + echo ''; + echo 'Neuer Name: '; + echo '
'; + echo ' '; + echo ''; + echo '
'; + } + } + elseif(isset($_POST['delete'])) { + if($_POST['id']) { + $name = strtr($GLOBALS['user']->GetName($_POST['id']), array('<' => '<', '>' => '>', '&' => '&', '"' => '"')); + + $title = '\'' . $name . '\' löschen'; + + echo '

\'' . $name . '\' löschen

'; + + echo '
'; + echo ''; + echo 'Wollen Sie den Benutzer \'' . $name . '\' wirklich löschen?
'; + echo ' '; + echo ''; + echo '
'; + } + } + ?> + ]]> +
+
+
diff --git a/pages/Users/New.c.xml b/pages/Users/New.c.xml new file mode 100644 index 0000000..2356c37 --- /dev/null +++ b/pages/Users/New.c.xml @@ -0,0 +1,35 @@ + + + + Users:New + + 00 + c + + + + GetNeonLink('Users', null, false)); + exit(); + } + + if(!$_POST['name'] || !isset($_POST['gid']) || !$_POST['password'] || !$_POST['password2']) exit(); + + if($_POST['password'] != $_POST['password2']) exit(); + + $GLOBALS['user']->Add(Unquote($_POST['name']), $_POST['gid'], Unquote($_POST['password'])); + + header('Location: ' . $GLOBALS['links']->GetNeonLink('Users', null, false)); + exit(); + ?> + ]]> + + + diff --git a/pages/Users/Password.c.xml b/pages/Users/Password.c.xml new file mode 100644 index 0000000..5544e6b --- /dev/null +++ b/pages/Users/Password.c.xml @@ -0,0 +1,35 @@ + + + + Users:Password + + 00 + c + + + + GetNeonLink('Users', null, false)); + exit(); + } + + if(!$_POST['id'] || !$_POST['password'] || !$_POST['password2']) exit(); + + if($_POST['password'] != $_POST['password2']) exit(); + + $GLOBALS['user']->ChangePassword($_POST['id'], Unquote($_POST['password'])); + + header('Location: ' . $GLOBALS['links']->GetNeonLink('Users', null, false)); + exit(); + ?> + ]]> + + + diff --git a/pages/Users/Rename.c.xml b/pages/Users/Rename.c.xml new file mode 100644 index 0000000..c076b10 --- /dev/null +++ b/pages/Users/Rename.c.xml @@ -0,0 +1,33 @@ + + + + Users:Rename + + 00 + c + + + + GetNeonLink('Users', null, false)); + exit(); + } + + if(!$_POST['id'] || !$_POST['name']) exit(); + + $GLOBALS['user']->Rename($_POST['id'], Unquote($_POST['name'])); + + header('Location: ' . $GLOBALS['links']->GetNeonLink('Users', null, false)); + exit(); + ?> + ]]> + + + diff --git a/pages/default.e.xml b/pages/default.e.xml new file mode 100644 index 0000000..da641dd --- /dev/null +++ b/pages/default.e.xml @@ -0,0 +1,32 @@ + + + + phpexec + + 00 + e + + + + ' . $title . ''; +?> +
+ + + Titel: '"')); + ?>" size="70" />
+
+ + +
+ ]]> +
+
+
diff --git a/pages/phpexec.e.xml b/pages/phpexec.e.xml new file mode 100644 index 0000000..d56262d --- /dev/null +++ b/pages/phpexec.e.xml @@ -0,0 +1,29 @@ + + + + phpexec + + 00 + e + + + + ' . $title . ''; +?> +
+ + +
+ + +
+ ]]> +
+
+
-- cgit v1.2.3