From 35562f519abaece77746381b73dea0fa0d13ed3e Mon Sep 17 00:00:00 2001 From: deva Date: Sat, 27 Feb 2010 13:47:07 +0000 Subject: Lots of work done on the admin system. New layout. Remove all use of graphics. Add access control on module basis. --- htdocs/admin.css | 216 +++++++++++++++++++++++++++++++++++++++++++------------ utils/admin.php | 158 +++++++++++++++++++++++++++++++++++++--- utils/forms.php | 8 +-- utils/user.php | 53 +++++--------- 4 files changed, 342 insertions(+), 93 deletions(-) diff --git a/htdocs/admin.css b/htdocs/admin.css index f86d851..40be6e5 100644 --- a/htdocs/admin.css +++ b/htdocs/admin.css @@ -1,68 +1,130 @@ /*** Admin ***/ .admin { - text-align: center; - position: absolute; - top: 10%; - left: 10%; - right: 10%; - width: 80%; - min-height: 500px; - border: solid #0000ff 3px; - background: #fff; - filter:alpha(opacity=85); - -moz-opacity:0.85; - -khtml-opacity: 0.85; - opacity: 0.85; - color: #000; + position: absolute; + top: 0%; + left: 0%; + + border-color: #eee; + border-width: 2px; + border-style: outset; + background-color: #ddd; + + width: 728px; + + filter:alpha(opacity=95); + -moz-opacity:0.95; + -khtml-opacity: 0.95; + opacity: 0.95; + + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; +} + +.admin .header { + display: inline-block; + text-align: center; + background-image: none; + border: 0px; + font-size: 1.5em; + font-weight: bold; + color: #000; + padding: 0px; + padding-left: 10px; + padding-top: 3px; } .admin .logout { - text-align: right; + float: right; } .admin .close { - text-align: right; + float: right; + display: box; +} + +.admin .menu, +.admin .submenu, +.admin .form { + background-color: #fff; + + margin: 10px 10px 0px 10px; + border-color: inherit; + border-width: inherit; + border-style: inset; + clear: both; + background-image: none; + padding: 0px; + height: auto; + float: left; + + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; +} + +.admin .menu, +.admin .submenu { + width: 704px; +} + +.admin .form { + width: 684px; + padding: 10px; } .admin .menu { - background-image: none; - border-bottom: solid blue 1px; - width: 100%; - height: 30px; - padding-top: 0px; - padding-left: 0px; + margin-top: 0px; + min-height: 12px; } -.admin .menu .entry { - border: solid green 1px; - margin: 2px; +.admin .menu .entry, +.admin .submenu .entry { + color: #000; + background-color: #eee; + + text-align: center; + border-color: inherit; + border-width: inherit; + border-style: outset; + font-size: 10px; + width: 80px; + float: left; + padding: 0px; + margin: 2px; + text-decoration: none; + + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; } .admin .submenu { - border-bottom: solid green 1px; + min-height: 12px; } -.admin .submenu .entry{ - border: solid red 1px; - margin: 2px; +.admin .menu .active, +.admin .submenu .active { + border-style: inset; + background-color: #ffc; } -.admin .header { - background-image: none; - text-align: center; - font-size: 16px; - font-weight: bold; - border: 0px; - border-bottom: solid #0000ff 3px; +.admin .form { + min-height: 350px; + margin-bottom: 10px; } .admin .form .header { - background-image: none; - text-align: center; - font-size: 14px; - font-weight: bold; - border: 0px; + display: inline-box; + background-image: none; + text-align: center; + font-size: 14px; + font-weight: bold; + border: 0px; } .admin .preview { @@ -75,17 +137,79 @@ /* * Forms */ -.admin .textedit { - width: 700px; +.admin .form .textedit { + width: 678px; } .admin .form .label { - width: 200px; - display: inline; - valign: top; + text-align: right; + padding-right: 0.5em; + margin-top: 0.45em; + width: 10em; + display: inline-box; + float: left; + clear: none; } .admin .form .widget { width: 200px; display: inline; } + +.button { + color: #000; + background-color: #eee; + + width: 15px; + height: 15px; + + border-color: inherit; + border-width: 2px; + border-style: outset; + margin: 3px; + + padding: 0px; + display: box; + overflow: hidden; + + font-size: 12px; + vertical-align: top; + text-align: center; + position: relative; + top: -2px; + + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; +} + +.button a { + color: #000; + text-decoration: none; +} + +.admin .form input { + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; +} + +.admin .form button { + background-color: #eee; + + text-align: center; + border-color: #eee; + border-width: 2px; + border-style: outset; + font-size: 10px; + + min-width: 80px; + padding: 0px; + margin: 2px; + + -moz-border-radius: 6px; + -khtml-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px;} \ No newline at end of file diff --git a/utils/admin.php b/utils/admin.php index d0303c9..ab22a9a 100644 --- a/utils/admin.php +++ b/utils/admin.php @@ -1,5 +1,7 @@ -
-
Admin
+ +
+ Admin + findUser($UID); ?> - - +Logout + diff --git a/utils/forms.php b/utils/forms.php index 5694c03..45939e7 100644 --- a/utils/forms.php +++ b/utils/forms.php @@ -338,12 +338,12 @@ class ListEditor { } } $str .= $indent . "
\n"; - $str .= $indent . "
\n"; - $str .= $indent . "
\n"; + $str .= $indent . "
/\

\n"; + $str .= $indent . "
\/

\n"; $str .= $this->namewidget->render($indent); $str .= $this->valuewidget->render($indent); - $str .= "
\n"; - $str .= $indent . "
\n"; + $str .= "
+

\n"; + $str .= $indent . "
-

\n"; return $str; } diff --git a/utils/user.php b/utils/user.php index 508f83d..f189987 100644 --- a/utils/user.php +++ b/utils/user.php @@ -1,18 +1,11 @@ -password == sha1(md5($password)); @@ -35,18 +28,22 @@ class User { return 0; } - public function User($userid, $password, $users, $news, $events, $guestbook, $gallery, $user, $newsletter, $pressrelease) + public function checkModule($module) + { + if($this->modules == "*") return true; + if($this->modules == "") return false; + + $modulelist = explode(" ", $this->modules); + return in_array($module, $modulelist); + + return true; + } + + public function User($userid, $password, $modules) { $this->userid = $userid; $this->password = $password; - $this->users = $users; - $this->news = $news; - $this->events = $events; - $this->guestbook = $guestbook; - $this->gallery = $gallery; - $this->user = $user; - $this->newsletter = $newsletter; - $this->pressrelease = $pressrelease; + $this->modules = $modules; } } @@ -70,14 +67,7 @@ class Users { fwrite($fp, " userid, ENT_QUOTES, "UTF-8") . "\"\n"); fwrite($fp, " password=\"" . $user->password . "\"\n"); - fwrite($fp, " users=\"" . $user->users . "\"\n"); - fwrite($fp, " news=\"" . $user->news . "\"\n"); - fwrite($fp, " events=\"" . $user->events . "\"\n"); - fwrite($fp, " guestbook=\"" . $user->guestbook . "\"\n"); - fwrite($fp, " gallery=\"" . $user->gallery . "\"\n"); - fwrite($fp, " user=\"" . $user->user . "\"\n"); - fwrite($fp, " newsletter=\"" . $user->newsletter . "\"\n"); - fwrite($fp, " pressrelease=\"" . $user->pressrelease . "\">\n"); + fwrite($fp, " modules=\"" . $user->modules . "\">\n"); fwrite($fp, " \n"); } fwrite($fp, "\n"); @@ -127,15 +117,8 @@ class Users { foreach ($params as $param) { $user = new User($param->getAttribute('userid'), - $param->getAttribute('password'), - $param->getAttribute('users'), - $param->getAttribute('news'), - $param->getAttribute('events'), - $param->getAttribute('guestbook'), - $param->getAttribute('gallery'), - $param->getAttribute('user'), - $param->getAttribute('newsletter'), - $param->getAttribute('pressrelease')); + $param->getAttribute('password'), + $param->getAttribute('modules')); $this->add($user); } -- cgit v1.2.3