diff options
author | Philip Häusler <msquare@notrademark.de> | 2011-06-03 06:40:29 +0200 |
---|---|---|
committer | Philip Häusler <msquare@notrademark.de> | 2011-06-03 06:40:29 +0200 |
commit | 35fe4b3ed65718e9d09951b8879cc7cc69f7c1ef (patch) | |
tree | ba27e1bfa44daf8f973900f63270fcc5649c720d | |
parent | 705370aec6c21a7e1a91d58d0ae4f3f1aaaab081 (diff) |
admin user
-rw-r--r-- | DB/db_rewrite.sql | 36 | ||||
-rw-r--r-- | includes/funktion_db_list.php | 27 | ||||
-rw-r--r-- | includes/pages/admin_user.php | 111 | ||||
-rw-r--r-- | includes/sys_menu.php | 1 | ||||
-rw-r--r-- | www-ssl/css/base.css | 16 | ||||
-rw-r--r-- | www-ssl/index.php | 4 |
6 files changed, 165 insertions, 30 deletions
diff --git a/DB/db_rewrite.sql b/DB/db_rewrite.sql index f5ba1c6d..f713c813 100644 --- a/DB/db_rewrite.sql +++ b/DB/db_rewrite.sql @@ -3,7 +3,7 @@ -- http://www.phpmyadmin.net -- -- Host: localhost --- Erstellungszeit: 03. Juni 2011 um 03:49 +-- Erstellungszeit: 03. Juni 2011 um 04:40 -- Server Version: 5.1.44 -- PHP-Version: 5.3.1 @@ -71,23 +71,24 @@ CREATE TABLE IF NOT EXISTS `Counter` ( -- INSERT INTO `Counter` (`URL`, `Anz`) VALUES -('news', 187), +('news', 190), ('login', 26), ('logout', 13), ('start', 26), ('faq', 19), ('credits', 3), -('register', 3), +('register', 8), ('admin_rooms', 89), ('admin_angel_types', 71), ('user_settings', 126), ('user_messages', 113), -('admin_groups', 117), +('admin_groups', 125), ('user_questions', 55), ('admin_questions', 42), ('admin_faq', 55), ('admin_news', 32), -('news_comments', 151); +('news_comments', 151), +('admin_user', 55); -- -------------------------------------------------------- @@ -133,7 +134,7 @@ CREATE TABLE IF NOT EXISTS `GroupPrivileges` ( `privilege_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `group_id` (`group_id`,`privilege_id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=51 ; +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=64 ; -- -- Daten für Tabelle `GroupPrivileges` @@ -145,15 +146,17 @@ INSERT INTO `GroupPrivileges` (`id`, `group_id`, `privilege_id`) VALUES (40, -2, 4), (41, -2, 3), (23, -1, 2), -(48, -4, 14), -(46, -4, 7), +(62, -4, 16), +(61, -4, 6), (44, -2, 11), (43, -2, 9), (12, -5, 10), -(47, -4, 13), -(49, -4, 12), +(60, -4, 12), +(59, -4, 14), (45, -2, 8), -(50, -4, 6); +(58, -4, 13), +(57, -4, 7), +(63, -4, 5); -- -------------------------------------------------------- @@ -265,7 +268,7 @@ CREATE TABLE IF NOT EXISTS `Privileges` ( `desc` varchar(1024) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ; +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=17 ; -- -- Daten für Tabelle `Privileges` @@ -286,7 +289,8 @@ INSERT INTO `Privileges` (`id`, `name`, `desc`) VALUES (12, 'admin_questions', 'Answer user''s questions'), (13, 'admin_faq', 'Edit FAQs'), (14, 'admin_news', 'Administrate the news section'), -(15, 'news_comments', 'User can comment news'); +(15, 'news_comments', 'User can comment news'), +(16, 'admin_user', 'Administrate the angels'); -- -------------------------------------------------------- @@ -984,8 +988,8 @@ INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('admin/dect.php', 'EN', 'Dect'), ('admin/dect_call.php', 'DE', ' '), ('admin/dect_call.php', 'EN', ' '), -('admin/user.php', 'DE', 'Engelliste'), -('admin/user.php', 'EN', 'Drone-list'), +('admin_user', 'DE', 'Engelliste'), +('admin_user', 'EN', 'Manage angels'), ('admin/userDefaultSetting.php', 'DE', 'Engel Voreinstellungen'), ('admin/userDefaultSetting.php', 'EN', 'Drone Default Setting'), ('admin/UserPicture.php', 'DE', 'Benutzerbilder'), @@ -1072,7 +1076,7 @@ CREATE TABLE IF NOT EXISTS `User` ( -- INSERT INTO `User` (`UID`, `Nick`, `Name`, `Vorname`, `Alter`, `Telefon`, `DECT`, `Handy`, `email`, `ICQ`, `jabber`, `Size`, `Passwort`, `Gekommen`, `Aktiv`, `Tshirt`, `color`, `Sprache`, `Avatar`, `Menu`, `lastLogIn`, `CreateDate`, `Art`, `kommentar`, `Hometown`) VALUES -(1, 'admin', '', '', 0, '', '', '', '', '', '', 'L', '21232f297a57a5a743894a0e4a801fc3', 0, 0, 0, 10, 'DE', 115, 'L', 1307072950, '0000-00-00 00:00:00', '', '', ''), +(1, 'admin', '', '', 0, '', '', '', '', '', '', 'L', '21232f297a57a5a743894a0e4a801fc3', 0, 0, 0, 10, 'DE', 115, 'L', 1307075960, '0000-00-00 00:00:00', '', '', ''), (147, 'msquare', '', '', 23, '', '', '', 'msquare@notrademark.de', '', '', 'L', 'e10adc3949ba59abbe56e057f20f883e', 0, 0, 0, 6, 'EN', 0, 'L', 1307042703, '2011-06-02 00:55:09', '', '', ''); -- -------------------------------------------------------- diff --git a/includes/funktion_db_list.php b/includes/funktion_db_list.php index 44e3d865..3e2878da 100644 --- a/includes/funktion_db_list.php +++ b/includes/funktion_db_list.php @@ -34,32 +34,31 @@ function funktion_db_element_list_2row( $TopicName, $SQL) { - global $con; + $html = ""; + $html .= "<table class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n"; + $html .= "<caption>$TopicName</caption>"; +# $html .= "<tr class=\"contenttopic\"> <td><h1>$TopicName</h1></td> </tr>\n"; - echo "<table class=\"border\" cellpadding=\"2\" cellspacing=\"1\">\n"; - echo "<caption>$TopicName</caption>"; -# echo "<tr class=\"contenttopic\"> <td><h1>$TopicName</h1></td> </tr>\n"; - - $Erg = mysql_query($SQL, $con); - echo mysql_error($con); + $Erg = sql_query($SQL); - echo "<tr class=\"contenttopic\">"; + $html .= "<tr class=\"contenttopic\">"; for ($m = 0 ; $m < mysql_num_fields($Erg) ; $m++) { - echo "<th>". mysql_field_name($Erg, $m). "</th>"; + $html .= "<th>". mysql_field_name($Erg, $m). "</th>"; } - echo "</tr>"; + $html .= "</tr>"; for ($n = 0 ; $n < mysql_num_rows($Erg) ; $n++) { - echo "<tr class=\"content\">"; + $html .= "<tr class=\"content\">"; for ($m = 0 ; $m < mysql_num_fields($Erg) ; $m++) { - echo "<td>".mysql_result($Erg, $n, $m). "</td>"; + $html .= "<td>".mysql_result($Erg, $n, $m). "</td>"; } - echo "</tr>"; + $html .= "</tr>"; } - echo "</table>\n"; + $html .= "</table>\n"; + return $html; } ?> diff --git a/includes/pages/admin_user.php b/includes/pages/admin_user.php new file mode 100644 index 00000000..b64c9678 --- /dev/null +++ b/includes/pages/admin_user.php @@ -0,0 +1,111 @@ +<?php +function admin_user() { + include ("includes/funktion_db_list.php"); + + $html = ""; + // Userliste, keine UID uebergeben... + + $html .= "<a href=\"" . page_link_to("register") . "\">Neuen Engel eintragen »</a><br /><br />\n"; + + if (!isset ($_GET["OrderBy"])) + $_GET["OrderBy"] = "Nick"; + $SQL = "SELECT * FROM `User` ORDER BY `" . $_GET["OrderBy"] . "` ASC"; + $Erg = sql_query($SQL); + + // anzahl zeilen + $Zeilen = mysql_num_rows($Erg); + + $html .= "Anzahl Engel: $Zeilen<br /><br />\n"; + $html .= ' + <table width="100%" class="border" cellpadding="2" cellspacing="1"> <thead> + <tr class="contenttopic"> + <th> + <a href="' . page_link_to("admin_user") . '&OrderBy=Nick">Nick</a> + </th> + <th><a href="' . page_link_to("admin_user") . '&OrderBy=Vorname">Vorname</a> <a href="' . page_link_to("admin_user") . '&OrderBy=Name">Name</a></th> + <th><a href="' . page_link_to("admin_user") . '&OrderBy=Alter">Alter</a></th> + <th> + <a href="' . page_link_to("admin_user") . '&OrderBy=email">E-Mail</a> + </th> + <th><a href="' . page_link_to("admin_user") . '&OrderBy=Size">Größe</a></th> + <th><a href="' . page_link_to("admin_user") . '&OrderBy=Gekommen">Gekommen</a></th> + <th><a href="' . page_link_to("admin_user") . '&OrderBy=Aktiv">Aktiv</a></th> + <th><a href="' . page_link_to("admin_user") . '&OrderBy=Tshirt">T-Shirt</a></th> + <th><a href="' . page_link_to("admin_user") . '&OrderBy=CreateDate">Registrier</a></th> + <th>Änd.</th> + </tr></thead>'; + $Gekommen = 0; + $Active = 0; + $Tshirt = 0; + + for ($n = 0; $n < $Zeilen; $n++) { + $title = ""; + $user_groups = sql_select("SELECT * FROM `UserGroups` JOIN `Groups` ON (`Groups`.`UID` = `UserGroups`.`group_id`) WHERE `UserGroups`.`uid`=" . sql_escape(mysql_result($Erg, $n, "UID")) . " ORDER BY `Groups`.`Name`"); + $groups = array (); + foreach ($user_groups as $user_group) { + $groups[] = $user_group['Name']; + } + $title .= 'Groups: ' . join(", ", $groups) . "<br />"; + if (strlen(mysql_result($Erg, $n, "Telefon")) > 0) + $title .= "Tel: " . mysql_result($Erg, $n, "Telefon") . "<br />"; + if (strlen(mysql_result($Erg, $n, "Handy")) > 0) + $title .= "Handy: " . mysql_result($Erg, $n, "Handy") . "<br />"; + if (strlen(mysql_result($Erg, $n, "DECT")) > 0) + $title .= "DECT: <a href=\"./dect.php?custum=" . mysql_result($Erg, $n, "DECT") . "\">" . + mysql_result($Erg, $n, "DECT") . "</a><br />"; + if (strlen(mysql_result($Erg, $n, "Hometown")) > 0) + $title .= "Hometown: " . mysql_result($Erg, $n, "Hometown") . "<br />"; + if (strlen(mysql_result($Erg, $n, "lastLogIn")) > 0) + $title .= "Last login: " . date("Y-m-d H:i", mysql_result($Erg, $n, "lastLogIn")) . "<br />"; + if (strlen(mysql_result($Erg, $n, "Art")) > 0) + $title .= "Type: " . mysql_result($Erg, $n, "Art") . "<br />"; + if (strlen(mysql_result($Erg, $n, "ICQ")) > 0) + $title .= "ICQ: " . mysql_result($Erg, $n, "ICQ") . "<br />"; + if (strlen(mysql_result($Erg, $n, "jabber")) > 0) + $title .= "jabber: " . mysql_result($Erg, $n, "jabber") . "<br />"; + + $html .= "<tr class=\"content\">\n"; + $html .= "\t<td>" . mysql_result($Erg, $n, "Nick") . "</td>\n"; + $html .= "\t<td>" . mysql_result($Erg, $n, "Vorname") . " " . mysql_result($Erg, $n, "Name") . "</td>\n"; + $html .= "\t<td>" . mysql_result($Erg, $n, "Alter") . "</td>\n"; + $html .= "\t<td>"; + if (strlen(mysql_result($Erg, $n, "email")) > 0) + $html .= "<a href=\"mailto:" . mysql_result($Erg, $n, "email") . "\">" . + mysql_result($Erg, $n, "email") . "</a>"; + $html .= '<div class="hidden">' . $title . '</div>'; + $html .= "</td>\n"; + $html .= "\t<td>" . mysql_result($Erg, $n, "Size") . "</td>\n"; + $Gekommen += mysql_result($Erg, $n, "Gekommen"); + $html .= "\t<td>" . mysql_result($Erg, $n, "Gekommen") . "</td>\n"; + $Active += mysql_result($Erg, $n, "Aktiv"); + $html .= "\t<td>" . mysql_result($Erg, $n, "Aktiv") . "</td>\n"; + $Tshirt += mysql_result($Erg, $n, "Tshirt"); + $html .= "\t<td>" . mysql_result($Erg, $n, "Tshirt") . "</td>\n"; + $html .= "<td>" . mysql_result($Erg, $n, "CreateDate") . "</td>"; + $html .= "\t<td>" . '<a href="">Edit</a>' . + "</td>\n"; + $html .= "</tr>\n"; + } + $html .= "<tr>" . + "<td></td><td></td><td></td><td></td><td></td>" . + "<td>$Gekommen</td><td>$Active</td><td>$Tshirt</td><td></td><td></td></tr>\n"; + $html .= "\t</table>\n"; + // Ende Userliste + + $html .= "<hr /><h2>Statistics</h2>"; + $html .= funktion_db_element_list_2row("Hometown", "SELECT COUNT(`Hometown`), `Hometown` FROM `User` GROUP BY `Hometown`"); + + $html .= "<br />\n"; + + $html .= funktion_db_element_list_2row("Engeltypen", "SELECT COUNT(`Art`), `Art` FROM `User` GROUP BY `Art`"); + + $html .= "<br />\n"; + + $html .= funktion_db_element_list_2row("Used Groups", "SELECT Groups.Name AS 'GroupName', COUNT(Groups.Name) AS Count FROM `UserGroups` " . + "LEFT JOIN `Groups` ON Groups.UID = UserGroups.group_id " . + "WHERE (UserGroups.group_id!='NULL') " . + "GROUP BY `GroupName` " . + ""); + return $html; +} +?>
\ No newline at end of file diff --git a/includes/sys_menu.php b/includes/sys_menu.php index 2a05fdb4..6a10c32b 100644 --- a/includes/sys_menu.php +++ b/includes/sys_menu.php @@ -31,6 +31,7 @@ function make_navigation() { // Admin Navigation $menu .= make_navigation_for(Get_Text('admin/'), array ( + "admin_user", "admin_usershifts", "admin_questions", "admin_angel_types", diff --git a/www-ssl/css/base.css b/www-ssl/css/base.css index 0a137099..236eba81 100644 --- a/www-ssl/css/base.css +++ b/www-ssl/css/base.css @@ -120,6 +120,22 @@ textarea { width: 300px; } +.hidden { + background: #fff; + border: 1px solid #888; + display: none; + font-size: 12px; + padding: 4px; +} + +td .hidden { + position: absolute; +} + +tr:hover .hidden { + display: block; +} + .clear { clear: both; } diff --git a/www-ssl/index.php b/www-ssl/index.php index c62b03e0..f6c6aaa2 100644 --- a/www-ssl/index.php +++ b/www-ssl/index.php @@ -66,6 +66,10 @@ if (in_array($p, $privileges)) { elseif ($p == "admin_questions") { $content = admin_questions(); } + elseif ($p == "admin_user") { + require_once ('includes/pages/admin_user.php'); + $content = admin_user(); + } elseif ($p == "admin_news") { require_once ('includes/pages/admin_news.php'); $content = admin_news(); |