From 9b75fe7dbb5d0facae0ad516b580886c3e5a7aec Mon Sep 17 00:00:00 2001 From: neoraider Date: Fri, 14 Apr 2006 00:20:03 +0000 Subject: Rechteverwaltung ?berarbeitet. --- pages/Login.c.xml | 2 +- pages/Login.n.xml | 2 +- pages/Logout.c.xml | 2 +- pages/Pages.c.xml | 2 +- pages/Pages/Copy.c.xml | 2 +- pages/Pages/Delete.c.xml | 2 +- pages/Pages/Edit.c.xml | 2 +- pages/Pages/Handle.c.xml | 2 +- pages/Pages/New.c.xml | 2 +- pages/Pages/Rename.c.xml | 2 +- pages/Privileges.c.xml | 12 +++++++----- pages/Privileges/Update.c.xml | 39 +++++---------------------------------- pages/Users.c.xml | 2 +- pages/Users/Delete.c.xml | 2 +- pages/Users/Group.c.xml | 2 +- pages/Users/Handle.c.xml | 2 +- pages/Users/New.c.xml | 2 +- pages/Users/Password.c.xml | 2 +- pages/Users/Rename.c.xml | 2 +- pages/default.e.xml | 2 +- pages/phpexec.e.xml | 2 +- 21 files changed, 31 insertions(+), 58 deletions(-) (limited to 'pages') diff --git a/pages/Login.c.xml b/pages/Login.c.xml index 5175136..666bf4e 100644 --- a/pages/Login.c.xml +++ b/pages/Login.c.xml @@ -3,7 +3,7 @@ Login - 01 + 1 c diff --git a/pages/Login.n.xml b/pages/Login.n.xml index c6c50b3..4e58e32 100644 --- a/pages/Login.n.xml +++ b/pages/Login.n.xml @@ -3,7 +3,7 @@ Login - 01 + 1 n diff --git a/pages/Logout.c.xml b/pages/Logout.c.xml index 4fcb5b2..88bbae3 100644 --- a/pages/Logout.c.xml +++ b/pages/Logout.c.xml @@ -3,7 +3,7 @@ Logout - 08 + 8 c diff --git a/pages/Pages.c.xml b/pages/Pages.c.xml index 8435abd..7722ac5 100644 --- a/pages/Pages.c.xml +++ b/pages/Pages.c.xml @@ -3,7 +3,7 @@ Pages - 00 + 0 c diff --git a/pages/Pages/Copy.c.xml b/pages/Pages/Copy.c.xml index 49aede8..e0b2ea8 100644 --- a/pages/Pages/Copy.c.xml +++ b/pages/Pages/Copy.c.xml @@ -3,7 +3,7 @@ Pages:Copy - 00 + 0 c diff --git a/pages/Pages/Delete.c.xml b/pages/Pages/Delete.c.xml index 62c8f41..60d7cb6 100644 --- a/pages/Pages/Delete.c.xml +++ b/pages/Pages/Delete.c.xml @@ -3,7 +3,7 @@ Pages:Delete - 00 + 0 c diff --git a/pages/Pages/Edit.c.xml b/pages/Pages/Edit.c.xml index bf4ea6a..6680ef6 100644 --- a/pages/Pages/Edit.c.xml +++ b/pages/Pages/Edit.c.xml @@ -3,7 +3,7 @@ Pages:Edit - 00 + 0 c diff --git a/pages/Pages/Handle.c.xml b/pages/Pages/Handle.c.xml index 55aae8b..47fa776 100644 --- a/pages/Pages/Handle.c.xml +++ b/pages/Pages/Handle.c.xml @@ -3,7 +3,7 @@ Pages:Handle - 00 + 0 c diff --git a/pages/Pages/New.c.xml b/pages/Pages/New.c.xml index 8ee794e..aae764d 100644 --- a/pages/Pages/New.c.xml +++ b/pages/Pages/New.c.xml @@ -3,7 +3,7 @@ Pages:New - 00 + 0 c diff --git a/pages/Pages/Rename.c.xml b/pages/Pages/Rename.c.xml index be485e2..9744a85 100644 --- a/pages/Pages/Rename.c.xml +++ b/pages/Pages/Rename.c.xml @@ -3,7 +3,7 @@ Pages:Rename - 00 + 0 c diff --git a/pages/Privileges.c.xml b/pages/Privileges.c.xml index 7374abb..dd263ac 100644 --- a/pages/Privileges.c.xml +++ b/pages/Privileges.c.xml @@ -3,7 +3,7 @@ Privileges - 00 + 0 c @@ -59,16 +59,18 @@ foreach($pages as $page) { if($page[strlen($page)-1] != $type) continue; - $pagedata = $GLOBALS['pages']->GetPageData(substr($page, 0, -2), $type); + $page = substr($page, 0, -2); + + $access = $GLOBALS['pages']->GetAccess($page, $type); echo ''; $linex = !$linex; - echo '' . $pagedata['name'] . ''; + echo '' . $page . ''; foreach($groups as $group) { - echo ''; } diff --git a/pages/Privileges/Update.c.xml b/pages/Privileges/Update.c.xml index 033bb7f..a8a8c54 100644 --- a/pages/Privileges/Update.c.xml +++ b/pages/Privileges/Update.c.xml @@ -3,7 +3,7 @@ Privileges:Update - 00 + 0 c @@ -30,46 +30,17 @@ $page = substr($page, 0, -2); - $access = array_fill(0, $group_max/8 + 1, 0); + $access = join('', array_fill(0, $group_max/4 + 1, '0')); - foreach($groups as $group) { + foreach($groups as $group) if(isset($_POST[$page . ':' . $group[0]])) - $access[$group[0]/8] |= (1 << ($group[0]%8)); - } + $access[$group[0]/4] = dechex(hexdec($access[$group[0]/4]) | (1 << ($group[0]%4))); - $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'])); + $GLOBALS['pages']->SetAccess($page, $_POST['type'], $access); } 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 index 076f035..d268cb9 100644 --- a/pages/Users.c.xml +++ b/pages/Users.c.xml @@ -3,7 +3,7 @@ Users - 00 + 0 c diff --git a/pages/Users/Delete.c.xml b/pages/Users/Delete.c.xml index c4d9594..b5307db 100644 --- a/pages/Users/Delete.c.xml +++ b/pages/Users/Delete.c.xml @@ -3,7 +3,7 @@ Users:Delete - 00 + 0 c diff --git a/pages/Users/Group.c.xml b/pages/Users/Group.c.xml index 3a7f216..ae3b487 100644 --- a/pages/Users/Group.c.xml +++ b/pages/Users/Group.c.xml @@ -3,7 +3,7 @@ Users:Group - 00 + 0 c diff --git a/pages/Users/Handle.c.xml b/pages/Users/Handle.c.xml index 9002d9f..138873a 100644 --- a/pages/Users/Handle.c.xml +++ b/pages/Users/Handle.c.xml @@ -3,7 +3,7 @@ Users:Handle - 00 + 0 c diff --git a/pages/Users/New.c.xml b/pages/Users/New.c.xml index 2356c37..41334e4 100644 --- a/pages/Users/New.c.xml +++ b/pages/Users/New.c.xml @@ -3,7 +3,7 @@ Users:New - 00 + 0 c diff --git a/pages/Users/Password.c.xml b/pages/Users/Password.c.xml index 5544e6b..30663c0 100644 --- a/pages/Users/Password.c.xml +++ b/pages/Users/Password.c.xml @@ -3,7 +3,7 @@ Users:Password - 00 + 0 c diff --git a/pages/Users/Rename.c.xml b/pages/Users/Rename.c.xml index c076b10..3484aba 100644 --- a/pages/Users/Rename.c.xml +++ b/pages/Users/Rename.c.xml @@ -3,7 +3,7 @@ Users:Rename - 00 + 0 c diff --git a/pages/default.e.xml b/pages/default.e.xml index da641dd..65d2229 100644 --- a/pages/default.e.xml +++ b/pages/default.e.xml @@ -3,7 +3,7 @@ phpexec - 00 + 0 e diff --git a/pages/phpexec.e.xml b/pages/phpexec.e.xml index d56262d..82f0ed9 100644 --- a/pages/phpexec.e.xml +++ b/pages/phpexec.e.xml @@ -3,7 +3,7 @@ phpexec - 00 + 0 e -- cgit v1.2.3