summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Philipp Litza <janphilipp@litza.de>2012-12-27 17:32:14 +0100
committerJan-Philipp Litza <janphilipp@litza.de>2012-12-27 17:32:14 +0100
commit3af1d09d61820a77dcd3d245d714d271f9442111 (patch)
tree4b1b45f768454b5f1909c3956b07fe10a3ac697c
parentb01ab50367a61dbb8b6fd9a6f9c9b645d2bdc4ff (diff)
reworked admin_user again
-rw-r--r--includes/pages/admin_user.php136
-rw-r--r--includes/sys_mysql.php5
-rw-r--r--includes/sys_template.php2
-rw-r--r--public/css/base.css16
-rw-r--r--public/pic/icons/cross.pngbin0 -> 655 bytes
-rw-r--r--public/pic/icons/pencil.pngbin0 -> 450 bytes
-rw-r--r--public/pic/icons/tick.pngbin0 -> 537 bytes
7 files changed, 61 insertions, 98 deletions
diff --git a/includes/pages/admin_user.php b/includes/pages/admin_user.php
index 9c13cbd7..5f2bdbe6 100644
--- a/includes/pages/admin_user.php
+++ b/includes/pages/admin_user.php
@@ -281,93 +281,65 @@ function admin_user() {
if (!isset ($_GET["OrderBy"]))
$_GET["OrderBy"] = "Nick";
$SQL = "SELECT * FROM `User` ORDER BY `" . sql_escape($_GET["OrderBy"]) . "` ASC";
- $Erg = sql_query($SQL);
+ $angels = sql_select($SQL);
// anzahl zeilen
- $Zeilen = mysql_num_rows($Erg);
+ $Zeilen = count($angels);
$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=DECT">DECT</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 class="rotate"><div><a href="' . page_link_to("admin_user") . '&OrderBy=Gekommen">Gekommen</a></div></th>
- <th class="rotate"><div><a href="' . page_link_to("admin_user") . '&OrderBy=Aktiv">Aktiv</a></div></th>
- <th class="rotate"><div><a href="' . page_link_to("admin_user") . '&OrderBy=Tshirt">T-Shirt</a></div></th>
- <th class="rotate"><div><a href="' . page_link_to("admin_user") . '&OrderBy=Size">Gr&ouml;&szlig;e</a></div></th>
- <th><a href="' . page_link_to("admin_user") . '&OrderBy=lastLogIn">Last login</a></th>
- <th>Edit</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, "CreateDate")) > 0)
- $title .= "Registered: " . mysql_result($Erg, $n, "CreateDate") . "<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";
- if (in_array("user_shifts_admin", $privileges))
- $html .= "\t<td><a href=\"" . page_link_to("user_myshifts") . "&id=" . mysql_result($Erg, $n, "UID") . "\">" . mysql_result($Erg, $n, "Nick") . "</a></td>\n";
- else
- $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, "DECT") . "</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";
- $Gekommen += mysql_result($Erg, $n, "Gekommen");
- $html .= "\t<td class=\"" . (mysql_result($Erg, $n, "Gekommen") == 1? 'true' : 'false') . "\">" . mysql_result($Erg, $n, "Gekommen") . "</td>\n";
- $Active += mysql_result($Erg, $n, "Aktiv");
- $html .= "\t<td class=\"" . (mysql_result($Erg, $n, "Aktiv") == 1? 'true' : 'false') . "\">" . mysql_result($Erg, $n, "Aktiv") . "</td>\n";
- $Tshirt += mysql_result($Erg, $n, "Tshirt");
- $html .= "\t<td class=\"" . (mysql_result($Erg, $n, "Tshirt") == 1? 'true' : 'false') . "\">" . mysql_result($Erg, $n, "Tshirt") . "</td>\n";
- $html .= "\t<td>" . mysql_result($Erg, $n, "Size") . "</td>\n";
- $last_login = mysql_result($Erg, $n, "lastLogIn");
- if($last_login == 0)
- $html .= "<td>never</td>";
- else
- $html .= "<td>" . date('d.m.&\n\b\s\p;H:i', $last_login) . "</td>";
- $html .= "\t<td>" . '<a href="' . page_link_to("admin_user") . '&id=' . mysql_result($Erg, $n, "UID") . '">Edit</a>' .
- "</td>\n";
- $html .= "</tr>\n";
+
+ function prepare_angel_table($angel) {
+ global $privileges;
+ $groups = sql_select_single_col("SELECT `Name` FROM `UserGroups` JOIN `Groups` ON (`Groups`.`UID` = `UserGroups`.`group_id`) WHERE `UserGroups`.`uid`=" . sql_escape($angel["UID"]) . " ORDER BY `Groups`.`Name`");
+ $popup = '<div class="hidden">Groups: ' . implode(', ', $groups);
+ if (strlen($angel["Telefon"]) > 0)
+ $popup .= "<br>Tel: " . $angel["Telefon"];
+ if (strlen($angel["Handy"]) > 0)
+ $popup .= "<br>Handy: " . $angel["Handy"];
+ if (strlen($angel["DECT"]) > 0)
+ $popup .= "<br>DECT: " . $angel["DECT"];
+ if (strlen($angel["Hometown"]) > 0)
+ $popup .= "<br>Hometown: " . $angel["Hometown"];
+ if (strlen($angel["CreateDate"]) > 0)
+ $popup .= "<br>Registered: " . $angel["CreateDate"];
+ if (strlen($angel["Art"]) > 0)
+ $popup .= "<br>Type: " . $angel["Art"];
+ if (strlen($angel["ICQ"]) > 0)
+ $popup .= "<br>ICQ: " . $angel["ICQ"];
+ if (strlen($angel["jabber"]) > 0)
+ $popup .= "<br>Jabber: " . $angel["jabber"];
+ return array(
+ 'Nick' => in_array('user_shifts_admin', $privileges)? '<a href="' . page_link_to("user_myshifts") . '&amp;id=' . $angel["UID"] . '">' . htmlspecialchars($angel["Nick"]) . '</a>' : htmlspecialchars($angel['Nick']),
+ 'Name' => htmlspecialchars($angel['Vorname'] . ' ' . $angel['Name']),
+ 'DECT' => htmlspecialchars($angel['DECT']),
+ 'Alter' => htmlspecialchars($angel['Alter']),
+ 'email' => '<a href="mailto:' . htmlspecialchars($angel['email']) . '">' . htmlspecialchars($angel['email']) . '</a>' . $popup,
+ 'Gekommen' => '<img src="pic/icons/' . ($angel['Gekommen'] == 1? 'tick' : 'cross') . '.png" alt="' . $angel['Gekommen'] . '">',
+ 'Aktiv' => '<img src="pic/icons/' . ($angel['Aktiv'] == 1? 'tick' : 'cross') . '.png" alt="' . $angel['Aktiv'] . '">',
+ 'Tshirt' => '<img src="pic/icons/' . ($angel['Tshirt'] == 1? 'tick' : 'cross') . '.png" alt="' . $angel['Tshirt'] . '">',
+ 'Size' => $angel['Size'],
+ 'lastLogIn' => date('d.m.&\n\b\s\p;H:i', $angel['lastLogIn']),
+ 'edit' => '<a href="' . page_link_to("admin_user") . '&amp;id=' . $angel["UID"] . '"><img src="pic/icons/pencil.png" alt="' . Get_Text('Edit') . '" title="' . Get_Text('Edit') . '"></a>',
+ );
}
- $html .= "<tr>" .
- "<th>Summe</th><th></th><th></th><th></th><th></th>" .
- "<th>$Gekommen</th><th>$Active</th><th>$Tshirt</th><th></th><th></th><th></th></tr>\n";
- $html .= "\t</table>\n";
- // Ende Userliste
+ $angels = array_map('prepare_angel_table', $angels);
+ $Gekommen = sql_select_single_cell("SELECT COUNT(*) FROM `User` WHERE `Gekommen` = 1");
+ $Active = sql_select_single_cell("SELECT COUNT(*) FROM `User` WHERE `Aktiv` = 1");
+ $Tshirt = sql_select_single_cell("SELECT COUNT(*) FROM `User` WHERE `Tshirt` = 1");
+ $angels[] = array('Nick' => '<strong>Summe</strong>', 'Gekommen' => $Gekommen, 'Aktiv' => $Active, 'Tshirt' => $Tshirt);
+ $html .= table(array(
+ 'Nick' => '<a href="' . page_link_to("admin_user") . '&amp;OrderBy=Nick">Nick</a>',
+ 'Name' => '<a href="' . page_link_to("admin_user") . '&amp;OrderBy=Vorname">Vorname</a> <a href="' . page_link_to("admin_user") . '&amp;OrderBy=Name">Name</a>',
+ 'DECT' => '<a href="' . page_link_to("admin_user") . '&amp;OrderBy=DECT">DECT</a>',
+ 'Alter' => '<a href="' . page_link_to("admin_user") . '&amp;OrderBy=Alter">Alter</a>',
+ 'email' => '<a href="' . page_link_to("admin_user") . '&amp;OrderBy=email">E-Mail</a>',
+ 'Gekommen' => '<div class="rotate"><a href="' . page_link_to("admin_user") . '&amp;OrderBy=Gekommen">Gekommen</a></div>',
+ 'Aktiv' => '<div class="rotate"><a href="' . page_link_to("admin_user") . '&amp;OrderBy=Aktiv">Aktiv</a></div>',
+ 'Tshirt' => '<div class="rotate"><a href="' . page_link_to("admin_user") . '&amp;OrderBy=Tshirt">T-Shirt</a></div>',
+ 'Size' => '<div class="rotate"><a href="' . page_link_to("admin_user") . '&amp;OrderBy=Size">Gr&ouml;&szlig;e</a></div>',
+ 'lastLogIn' => '<a href="' . page_link_to("admin_user") . '&amp;OrderBy=lastLogIn">Last login</a>',
+ 'edit' => ''),
+ $angels);
}
return $html;
}
diff --git a/includes/sys_mysql.php b/includes/sys_mysql.php
index 81747ec2..1315a4f6 100644
--- a/includes/sys_mysql.php
+++ b/includes/sys_mysql.php
@@ -33,8 +33,11 @@ function sql_select($query) {
function sql_select_single_col($query) {
$result = sql_select($query);
- return array_map('array_pop', $result);
+ return array_map('array_shift', $result);
+}
+function sql_select_single_cell($query) {
+ return array_shift(array_shift(sql_select($query)));
}
// Execute a query
diff --git a/includes/sys_template.php b/includes/sys_template.php
index a988ff23..0f030e86 100644
--- a/includes/sys_template.php
+++ b/includes/sys_template.php
@@ -147,7 +147,7 @@ function table($columns, $rows, $data = true) {
$html .= '<table' . ($data ? ' class="data"' : '') . '>';
$html .= '<thead><tr>';
foreach ($columns as $key => $column)
- $html .= '<th>' . $column . '</th>';
+ $html .= '<th class="' . $key . '">' . $column . '</th>';
$html .= '</tr></thead>';
$html .= '<tbody>';
foreach ($rows as $row) {
diff --git a/public/css/base.css b/public/css/base.css
index 759e9157..6c5ecc57 100644
--- a/public/css/base.css
+++ b/public/css/base.css
@@ -152,24 +152,12 @@ td, th {
border: 1px solid #888;
}
-td.true, td.false {
- color: transparent;
-}
-
-td.true {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGrSURBVDjLvZPZLkNhFIV75zjvYm7VGFNCqoZUJ+roKUUpjRuqp61Wq0NKDMelGGqOxBSUIBKXWtWGZxAvobr8lWjChRgSF//dv9be+9trCwAI/vIE/26gXmviW5bqnb8yUK028qZjPfoPWEj4Ku5HBspgAz941IXZeze8N1bottSo8BTZviVWrEh546EO03EXpuJOdG63otJbjBKHkEp/Ml6yNYYzpuezWL4s5VMtT8acCMQcb5XL3eJE8VgBlR7BeMGW9Z4yT9y1CeyucuhdTGDxfftaBO7G4L+zg91UocxVmCiy51NpiP3n2treUPujL8xhOjYOzZYsQWANyRYlU4Y9Br6oHd5bDh0bCpSOixJiWx71YY09J5pM/WEbzFcDmHvwwBu2wnikg+lEj4mwBe5bC5h1OUqcwpdC60dxegRmR06TyjCF9G9z+qM2uCJmuMJmaNZaUrCSIi6X+jJIBBYtW5Cge7cd7sgoHDfDaAvKQGAlRZYc6ltJlMxX03UzlaRlBdQrzSCwksLRbOpHUSb7pcsnxCCwngvM2Rm/ugUCi84fycr4l2t8Bb6iqTxSCgNIAAAAAElFTkSuQmCC') no-repeat center center;
-}
-
-td.false {
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIhSURBVDjLlZPrThNRFIWJicmJz6BWiYbIkYDEG0JbBiitDQgm0PuFXqSAtKXtpE2hNuoPTXwSnwtExd6w0pl2OtPlrphKLSXhx07OZM769qy19wwAGLhM1ddC184+d18QMzoq3lfsD3LZ7Y3XbE5DL6Atzuyilc5Ciyd7IHVfgNcDYTQ2tvDr5crn6uLSvX+Av2Lk36FFpSVENDe3OxDZu8apO5rROJDLo30+Nlvj5RnTlVNAKs1aCVFr7b4BPn6Cls21AWgEQlz2+Dl1h7IdA+i97A/geP65WhbmrnZZ0GIJpr6OqZqYAd5/gJpKox4Mg7pD2YoC2b0/54rJQuJZdm6Izcgma4TW1WZ0h+y8BfbyJMwBmSxkjw+VObNanp5h/adwGhaTXF4NWbLj9gEONyCmUZmd10pGgf1/vwcgOT3tUQE0DdicwIod2EmSbwsKE1P8QoDkcHPJ5YESjgBJkYQpIEZ2KEB51Y6y3ojvY+P8XEDN7uKS0w0ltA7QGCWHCxSWWpwyaCeLy0BkA7UXyyg8fIzDoWHeBaDN4tQdSvAVdU1Aok+nsNTipIEVnkywo/FHatVkBoIhnFisOBoZxcGtQd4B0GYJNZsDSiAEadUBCkstPtN3Avs2Msa+Dt9XfxoFSNYF/Bh9gP0bOqHLAm2WUF1YQskwrVFYPWkf3h1iXwbvqGfFPSGW9Eah8HSS9fuZDnS32f71m8KFY7xs/QZyu6TH2+2+FAAAAABJRU5ErkJggg==') no-repeat center center;
-}
-
-.rotate {
+th.Gekommen {
/* this is a hack because the height of the row isn't adjusted automatically */
height: 6em;
}
-.rotate div {
+div.rotate {
transform: rotate(270deg);
width: 1ex;
margin: 0 auto -2px;
diff --git a/public/pic/icons/cross.png b/public/pic/icons/cross.png
new file mode 100644
index 00000000..1514d51a
--- /dev/null
+++ b/public/pic/icons/cross.png
Binary files differ
diff --git a/public/pic/icons/pencil.png b/public/pic/icons/pencil.png
new file mode 100644
index 00000000..0bfecd50
--- /dev/null
+++ b/public/pic/icons/pencil.png
Binary files differ
diff --git a/public/pic/icons/tick.png b/public/pic/icons/tick.png
new file mode 100644
index 00000000..a9925a06
--- /dev/null
+++ b/public/pic/icons/tick.png
Binary files differ