summaryrefslogtreecommitdiffstats
path: root/pages
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2006-04-14 02:20:03 +0200
committerneoraider <devnull@localhost>2006-04-14 02:20:03 +0200
commit9b75fe7dbb5d0facae0ad516b580886c3e5a7aec (patch)
tree55e2c642398b0502c618c87ae297e867b85a1bef /pages
parent1f93dbaae6aa262ae32592e08605e26af9d98a0f (diff)
downloadneon-9b75fe7dbb5d0facae0ad516b580886c3e5a7aec.tar
neon-9b75fe7dbb5d0facae0ad516b580886c3e5a7aec.zip
Rechteverwaltung ?berarbeitet.
Diffstat (limited to 'pages')
-rw-r--r--pages/Login.c.xml2
-rw-r--r--pages/Login.n.xml2
-rw-r--r--pages/Logout.c.xml2
-rw-r--r--pages/Pages.c.xml2
-rw-r--r--pages/Pages/Copy.c.xml2
-rw-r--r--pages/Pages/Delete.c.xml2
-rw-r--r--pages/Pages/Edit.c.xml2
-rw-r--r--pages/Pages/Handle.c.xml2
-rw-r--r--pages/Pages/New.c.xml2
-rw-r--r--pages/Pages/Rename.c.xml2
-rw-r--r--pages/Privileges.c.xml12
-rw-r--r--pages/Privileges/Update.c.xml39
-rw-r--r--pages/Users.c.xml2
-rw-r--r--pages/Users/Delete.c.xml2
-rw-r--r--pages/Users/Group.c.xml2
-rw-r--r--pages/Users/Handle.c.xml2
-rw-r--r--pages/Users/New.c.xml2
-rw-r--r--pages/Users/Password.c.xml2
-rw-r--r--pages/Users/Rename.c.xml2
-rw-r--r--pages/default.e.xml2
-rw-r--r--pages/phpexec.e.xml2
21 files changed, 31 insertions, 58 deletions
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 @@
<info>
<name>Login</name>
<template>phpexec</template>
- <access>01</access>
+ <access>1</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Login</name>
<template>phpexec</template>
- <access>01</access>
+ <access>1</access>
<type>n</type>
</info>
<data>
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 @@
<info>
<name>Logout</name>
<template>phpexec</template>
- <access>08</access>
+ <access>8</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Pages</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Pages:Copy</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Pages:Delete</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Pages:Edit</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Pages:Handle</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Pages:New</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Pages:Rename</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Privileges</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
@@ -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 '<tr class="line' . ($linex ? '1' : '2') . '">';
$linex = !$linex;
- echo '<td class="page">' . $pagedata['name'] . '</td>';
+ echo '<td class="page">' . $page . '</td>';
foreach($groups as $group) {
- echo '<td><input type="checkbox" name="' . $pagedata['name'] . ':' . $group[0] . '" value="true" ';
- if((hexdec(substr($pagedata['access'], ($group[0]/8)*2, 2)) & (1 << ($group[0]%8))) != 0) echo 'checked="checked" ';
+ echo '<td><input type="checkbox" name="' . $page . ':' . $group[0] . '" value="true" ';
+ if((hexdec($access[$group[0]/4]) & (1 << ($group[0]%4))) != 0) echo 'checked="checked" ';
echo '/></td>';
}
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 @@
<info>
<name>Privileges:Update</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
@@ -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()
?>
]]>
</code>
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 @@
<info>
<name>Users</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Users:Delete</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Users:Group</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Users:Handle</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Users:New</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Users:Password</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>Users:Rename</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>c</type>
</info>
<data>
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 @@
<info>
<name>phpexec</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>e</type>
</info>
<data>
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 @@
<info>
<name>phpexec</name>
<template>phpexec</template>
- <access>00</access>
+ <access>0</access>
<type>e</type>
</info>
<data>