2011-06-03 06:40:29 +02:00
< ? php
2013-11-25 21:04:58 +01:00
function admin_user_title () {
return _ ( " All Angels " );
}
2011-06-03 06:40:29 +02:00
function admin_user () {
2012-12-01 11:49:16 +01:00
global $user , $privileges , $tshirt_sizes , $privileges ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html = " " ;
2013-12-28 03:02:51 +01:00
if ( isset ( $_REQUEST [ 'id' ]) && preg_match ( " /^[0-9] { 1,} $ / " , $_REQUEST [ 'id' ]) && sql_num_query ( " SELECT * FROM `User` WHERE `UID`= " . sql_escape ( $_REQUEST [ 'id' ])) > 0 ) {
2012-12-01 11:49:16 +01:00
$id = $_REQUEST [ 'id' ];
2013-12-28 03:02:51 +01:00
if ( ! isset ( $_REQUEST [ 'action' ])) {
$html .= " Hallo,<br /> " . " hier kannst du den Eintrag ändern. Unter dem Punkt 'Gekommen' " . " wird der Engel als anwesend markiert, ein Ja bei Aktiv bedeutet, " . " dass der Engel aktiv war und damit ein Anspruch auf ein T-Shirt hat. " . " Wenn T-Shirt ein 'Ja' enthält, bedeutet dies, dass der Engel " . " bereits sein T-Shirt erhalten hat.<br /><br /> \n " ;
2012-12-01 11:49:16 +01:00
$html .= " <form action= \" " . page_link_to ( " admin_user " ) . " &action=save&id= $id\ " method = \ " post \" > \n " ;
$html .= " <table border= \" 0 \" > \n " ;
$html .= " <input type= \" hidden \" name= \" Type \" value= \" Normal \" > \n " ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$SQL = " SELECT * FROM `User` WHERE `UID`=' " . sql_escape ( $id ) . " ' " ;
$Erg = sql_query ( $SQL );
2013-12-28 03:02:51 +01:00
list ( $user_source ) = sql_select ( $SQL );
2012-12-01 11:49:16 +01:00
$html .= " <tr><td> \n " ;
$html .= " <table> \n " ;
2013-12-28 03:02:51 +01:00
$html .= " <tr><td>Nick</td><td> " . " <input type= \" text \" size= \" 40 \" name= \" eNick \" value= \" " . $user_source [ 'Nick' ] . " \" ></td></tr> \n " ;
$html .= " <tr><td>lastLogIn</td><td> " . date ( " Y-m-d H:i " , $user_source [ 'lastLogIn' ]) . " </td></tr> \n " ;
$html .= " <tr><td>Name</td><td> " . " <input type= \" text \" size= \" 40 \" name= \" eName \" value= \" " . $user_source [ 'Name' ] . " \" ></td></tr> \n " ;
$html .= " <tr><td>Vorname</td><td> " . " <input type= \" text \" size= \" 40 \" name= \" eVorname \" value= \" " . $user_source [ 'Vorname' ] . " \" ></td></tr> \n " ;
$html .= " <tr><td>Alter</td><td> " . " <input type= \" text \" size= \" 5 \" name= \" eAlter \" value= \" " . $user_source [ 'Alter' ] . " \" ></td></tr> \n " ;
$html .= " <tr><td>Telefon</td><td> " . " <input type= \" text \" size= \" 40 \" name= \" eTelefon \" value= \" " . $user_source [ 'Telefon' ] . " \" ></td></tr> \n " ;
$html .= " <tr><td>Handy</td><td> " . " <input type= \" text \" size= \" 40 \" name= \" eHandy \" value= \" " . $user_source [ 'Handy' ] . " \" ></td></tr> \n " ;
$html .= " <tr><td>DECT</td><td> " . " <input type= \" text \" size= \" 4 \" name= \" eDECT \" value= \" " . $user_source [ 'DECT' ] . " \" ></td></tr> \n " ;
$html .= " <tr><td>email</td><td> " . " <input type= \" text \" size= \" 40 \" name= \" eemail \" value= \" " . $user_source [ 'email' ] . " \" ></td></tr> \n " ;
$html .= " <tr><td>ICQ</td><td> " . " <input type= \" text \" size= \" 40 \" name= \" eICQ \" value= \" " . $user_source [ 'ICQ' ] . " \" ></td></tr> \n " ;
$html .= " <tr><td>jabber</td><td> " . " <input type= \" text \" size= \" 40 \" name= \" ejabber \" value= \" " . $user_source [ 'jabber' ] . " \" ></td></tr> \n " ;
$html .= " <tr><td>Size</td><td> " . html_select_key ( 'size' , 'eSize' , $tshirt_sizes , $user_source [ 'Size' ]) . " </td></tr> \n " ;
$options = array (
'1' => " Yes " ,
'0' => " No "
2012-12-01 11:49:16 +01:00
);
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
// Gekommen?
$html .= " <tr><td>Gekommen</td><td> \n " ;
2013-09-18 01:38:36 +02:00
$html .= html_options ( 'eGekommen' , $options , $user_source [ 'Gekommen' ]) . " </td></tr> \n " ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
// Aktiv?
$html .= " <tr><td>Aktiv</td><td> \n " ;
2013-09-18 01:38:36 +02:00
$html .= html_options ( 'eAktiv' , $options , $user_source [ 'Aktiv' ]) . " </td></tr> \n " ;
2013-12-28 03:02:51 +01:00
// Aktiv erzwingen
if ( in_array ( 'admin_active' , $privileges )) {
$html .= " <tr><td> " . _ ( " Force active " ) . " </td><td> \n " ;
$html .= html_options ( 'force_active' , $options , $user_source [ 'force_active' ]) . " </td></tr> \n " ;
}
2012-12-01 11:49:16 +01:00
// T-Shirt bekommen?
$html .= " <tr><td>T-Shirt</td><td> \n " ;
2013-09-18 01:38:36 +02:00
$html .= html_options ( 'eTshirt' , $options , $user_source [ 'Tshirt' ]) . " </td></tr> \n " ;
2013-12-28 03:02:51 +01:00
$html .= " <tr><td>Hometown</td><td> " . " <input type= \" text \" size= \" 40 \" name= \" Hometown \" value= \" " . $user_source [ 'Hometown' ] . " \" ></td></tr> \n " ;
2013-09-18 01:38:36 +02:00
$html .= " </table> \n </td><td valign= \" top \" > " . User_Avatar_render ( $user_source ) . " </td></tr> " ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " </td></tr> \n " ;
$html .= " </table> \n <br /> \n " ;
$html .= " <input type= \" submit \" value= \" Speichern \" > \n " ;
$html .= " </form> " ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " <hr /> " ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
// UserAngelType subform
2013-12-28 03:02:51 +01:00
list ( $user_source ) = sql_select ( $SQL );
2012-12-26 16:58:09 +01:00
$selected_angel_types = sql_select_single_col ( " SELECT `angeltype_id` FROM `UserAngelTypes` WHERE `user_id`= " . sql_escape ( $user_source [ 'UID' ]));
$accepted_angel_types = sql_select_single_col ( " SELECT `angeltype_id` FROM `UserAngelTypes` WHERE `user_id`= " . sql_escape ( $user_source [ 'UID' ]) . " AND `confirm_user_id` IS NOT NULL " );
$nonrestricted_angel_types = sql_select_single_col ( " SELECT `id` FROM `AngelTypes` WHERE `restricted` = 0 " );
2013-12-28 03:02:51 +01:00
2012-12-26 16:58:09 +01:00
$angel_types_source = sql_select ( " SELECT `id`, `name` FROM `AngelTypes` ORDER BY `name` " );
$angel_types = array ();
2012-12-01 11:49:16 +01:00
foreach ( $angel_types_source as $angel_type )
2012-12-26 16:58:09 +01:00
$angel_types [ $angel_type [ 'id' ]] = $angel_type [ 'name' ];
2013-12-28 03:02:51 +01:00
if ( isset ( $_REQUEST [ 'submit_user_angeltypes' ])) {
$selected_angel_types = isset ( $_REQUEST [ 'selected_angel_types' ]) && is_array ( $_REQUEST [ 'selected_angel_types' ]) ? array_intersect ( $_REQUEST [ 'selected_angel_types' ], array_keys ( $angel_types )) : array ();
$accepted_angel_types = isset ( $_REQUEST [ 'accepted_angel_types' ]) && is_array ( $_REQUEST [ 'accepted_angel_types' ]) ? array_unique ( array_diff ( array_intersect ( $_REQUEST [ 'accepted_angel_types' ], array_keys ( $angel_types )), $nonrestricted_angel_types )) : array ();
2012-12-26 16:58:09 +01:00
if ( in_array ( " admin_user_angeltypes " , $privileges ))
2012-12-27 02:54:57 +01:00
$selected_angel_types = array_merge (( array ) $selected_angel_types , $accepted_angel_types );
$selected_angel_types = array_unique ( $selected_angel_types );
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
// Assign angel-types
2013-09-18 01:38:36 +02:00
sql_transaction_start ();
2012-12-26 16:58:09 +01:00
sql_query ( " DELETE FROM `UserAngelTypes` WHERE `user_id`= " . sql_escape ( $user_source [ 'UID' ]));
2012-12-27 02:07:49 +01:00
$user_angel_type_info = array ();
2013-12-28 03:02:51 +01:00
if ( ! empty ( $selected_angel_types )) {
2012-12-26 16:58:09 +01:00
$SQL = " INSERT INTO `UserAngelTypes` (`user_id`, `angeltype_id`) VALUES " ;
2012-12-27 02:07:49 +01:00
foreach ( $selected_angel_types as $selected_angel_type_id ) {
$SQL .= " ( " . $user_source [ 'UID' ] . " , " . $selected_angel_type_id . " ), " ;
$user_angel_type_info [] = $angel_types [ $selected_angel_type_id ] . ( in_array ( $selected_angel_type_id , $accepted_angel_types ) ? ' (confirmed)' : '' );
}
2012-12-26 16:58:09 +01:00
// remove superfluous comma
2013-12-28 03:02:51 +01:00
$SQL = substr ( $SQL , 0 , - 1 );
2012-12-26 16:58:09 +01:00
sql_query ( $SQL );
}
if ( in_array ( " admin_user_angeltypes " , $privileges )) {
sql_query ( " UPDATE `UserAngelTypes` SET `confirm_user_id` = NULL WHERE `user_id` = " . sql_escape ( $user_source [ 'UID' ]));
2013-12-28 03:02:51 +01:00
if ( ! empty ( $accepted_angel_types ))
2012-12-26 16:58:09 +01:00
sql_query ( " UPDATE `UserAngelTypes` SET `confirm_user_id` = ' " . sql_escape ( $user [ 'UID' ]) . " ' WHERE `user_id` = ' " . sql_escape ( $user_source [ 'UID' ]) . " ' AND `angeltype_id` IN ( " . implode ( ',' , $accepted_angel_types ) . " ) " );
2012-12-25 19:27:04 +01:00
}
2013-09-18 01:38:36 +02:00
sql_transaction_commit ();
2013-12-28 03:02:51 +01:00
2012-12-30 17:58:23 +01:00
engelsystem_log ( " Set angeltypes of " . User_Nick_render ( $user_source ) . " to: " . join ( " , " , $user_angel_type_info ));
2012-12-01 11:49:16 +01:00
success ( " Angeltypes saved. " );
redirect ( page_link_to ( 'admin_user' ) . '&id=' . $user_source [ 'UID' ]);
}
2013-12-28 03:02:51 +01:00
$html .= form ( array (
msg (),
form_multi_checkboxes ( array (
'selected_angel_types' => 'gewünscht' ,
'accepted_angel_types' => 'akzeptiert'
), " Angeltypes " , $angel_types , array (
'selected_angel_types' => $selected_angel_types ,
'accepted_angel_types' => array_merge ( $accepted_angel_types , $nonrestricted_angel_types )
), array (
'accepted_angel_types' => $nonrestricted_angel_types
)),
form_submit ( 'submit_user_angeltypes' , _ ( " Save " ))
2012-12-01 11:49:16 +01:00
));
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " <hr /> " ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " Hier kannst Du das Passwort dieses Engels neu setzen:<form action= \" " . page_link_to ( " admin_user " ) . " &action=change_pw&id= $id\ " method = \ " post \" > \n " ;
$html .= " <table> \n " ;
2013-12-28 03:02:51 +01:00
$html .= " <tr><td>Passwort</td><td> " . " <input type= \" password \" size= \" 40 \" name= \" new_pw \" value= \" \" ></td></tr> \n " ;
$html .= " <tr><td>Wiederholung</td><td> " . " <input type= \" password \" size= \" 40 \" name= \" new_pw2 \" value= \" \" ></td></tr> \n " ;
2012-12-01 11:49:16 +01:00
$html .= " </table> " ;
$html .= " <input type= \" submit \" value= \" Speichern \" > \n " ;
$html .= " </form> " ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " <hr /> " ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " Hier kannst Du die Benutzergruppen des Engels festlegen:<form action= \" " . page_link_to ( " admin_user " ) . " &action=save_groups&id= " . $id . " \" method= \" post \" > \n " ;
$html .= '<table>' ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$my_highest_group = sql_select ( " SELECT * FROM `UserGroups` WHERE `uid`= " . sql_escape ( $user [ 'UID' ]) . " ORDER BY `uid` LIMIT 1 " );
if ( count ( $my_highest_group ) > 0 )
$my_highest_group = $my_highest_group [ 0 ][ 'group_id' ];
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$his_highest_group = sql_select ( " SELECT * FROM `UserGroups` WHERE `uid`= " . sql_escape ( $id ) . " ORDER BY `uid` LIMIT 1 " );
if ( count ( $his_highest_group ) > 0 )
$his_highest_group = $his_highest_group [ 0 ][ 'group_id' ];
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
if ( $id != $user [ 'UID' ] && $my_highest_group <= $his_highest_group ) {
$groups = sql_select ( " SELECT * FROM `Groups` LEFT OUTER JOIN `UserGroups` ON (`UserGroups`.`group_id` = `Groups`.`UID` AND `UserGroups`.`uid` = " . sql_escape ( $id ) . " ) WHERE `Groups`.`UID` >= " . sql_escape ( $my_highest_group ) . " ORDER BY `Groups`.`Name` " );
foreach ( $groups as $group )
$html .= '<tr><td><input type="checkbox" name="groups[]" value="' . $group [ 'UID' ] . '"' . ( $group [ 'group_id' ] != " " ? ' checked="checked"' : '' ) . ' /></td><td>' . $group [ 'Name' ] . '</td></tr>' ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= '</table>' ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " <input type= \" submit \" value= \" Speichern \" > \n " ;
$html .= " </form> " ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " <hr /> " ;
}
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " <form action= \" " . page_link_to ( " admin_user " ) . " &action=delete&id= " . $id . " \" method= \" post \" > \n " ;
$html .= " <input type= \" submit \" value= \" Löschen \" > \n " ;
$html .= " </form> " ;
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " <hr /> " ;
} else {
switch ( $_REQUEST [ 'action' ]) {
2013-12-28 03:02:51 +01:00
case 'save_groups' :
2012-12-01 11:49:16 +01:00
if ( $id != $user [ 'UID' ]) {
2012-12-25 19:30:53 +01:00
$my_highest_group = sql_select ( " SELECT * FROM `UserGroups` WHERE `uid`= " . sql_escape ( $user [ 'UID' ]) . " ORDER BY `group_id` " );
$his_highest_group = sql_select ( " SELECT * FROM `UserGroups` WHERE `uid`= " . sql_escape ( $id ) . " ORDER BY `group_id` " );
2013-12-28 03:02:51 +01:00
2012-12-25 19:30:53 +01:00
if ( count ( $my_highest_group ) > 0 && ( count ( $his_highest_group ) == 0 || ( $my_highest_group [ 0 ][ 'group_id' ] <= $his_highest_group [ 0 ][ 'group_id' ]))) {
2012-12-26 19:53:27 +01:00
$groups_source = sql_select ( " SELECT * FROM `Groups` LEFT OUTER JOIN `UserGroups` ON (`UserGroups`.`group_id` = `Groups`.`UID` AND `UserGroups`.`uid` = " . sql_escape ( $id ) . " ) WHERE `Groups`.`UID` >= " . sql_escape ( $my_highest_group [ 0 ][ 'group_id' ]) . " ORDER BY `Groups`.`Name` " );
$groups = array ();
2013-12-28 03:02:51 +01:00
$grouplist = array ();
2012-12-26 19:53:27 +01:00
foreach ( $groups_source as $group ) {
$groups [ $group [ 'UID' ]] = $group ;
2012-12-01 11:49:16 +01:00
$grouplist [] = $group [ 'UID' ];
2012-12-26 19:53:27 +01:00
}
2013-12-28 03:02:51 +01:00
if ( ! is_array ( $_REQUEST [ 'groups' ]))
$_REQUEST [ 'groups' ] = array ();
2012-12-01 11:49:16 +01:00
sql_query ( " DELETE FROM `UserGroups` WHERE `uid`= " . sql_escape ( $id ));
2012-12-26 19:53:27 +01:00
$user_groups_info = array ();
foreach ( $_REQUEST [ 'groups' ] as $group ) {
if ( in_array ( $group , $grouplist )) {
sql_query ( " INSERT INTO `UserGroups` SET `uid`= " . sql_escape ( $id ) . " , `group_id`= " . sql_escape ( $group ));
$user_groups_info [] = $groups [ $group ][ 'Name' ];
}
}
2012-12-30 17:58:23 +01:00
$user_source = User ( $id );
engelsystem_log ( " Set groups of " . User_Nick_render ( $user_source ) . " to: " . join ( " , " , $user_groups_info ));
2012-12-01 11:49:16 +01:00
$html .= success ( " Benutzergruppen gespeichert. " , true );
} else {
$html .= error ( " Du kannst keine Engel mit mehr Rechten bearbeiten. " , true );
}
} else {
$html .= error ( " Du kannst Deine eigenen Rechte nicht bearbeiten. " , true );
}
break ;
2013-12-28 03:02:51 +01:00
case 'delete' :
2012-12-01 11:49:16 +01:00
if ( $user [ 'UID' ] != $id ) {
2012-12-30 17:58:23 +01:00
$user_source = sql_select ( " SELECT `Nick`, `UID` FROM `User` WHERE `UID` = ' " . sql_escape ( $id ) . " ' LIMIT 1 " );
2012-12-01 11:49:16 +01:00
sql_query ( " DELETE FROM `User` WHERE `UID`= " . sql_escape ( $id ) . " LIMIT 1 " );
sql_query ( " DELETE FROM `UserGroups` WHERE `uid`= " . sql_escape ( $id ));
sql_query ( " UPDATE `ShiftEntry` SET `UID`=0, `Comment`=NULL WHERE `UID`= " . sql_escape ( $id ));
2012-12-30 17:58:23 +01:00
engelsystem_log ( " Deleted user " . User_Nick_render ( $user_source ));
2012-12-01 11:49:16 +01:00
$html .= success ( " Benutzer gelöscht! " , true );
} else {
$html .= error ( " Du kannst Dich nicht selber löschen! " , true );
}
break ;
2013-12-28 03:02:51 +01:00
case 'save' :
2013-12-28 03:13:48 +01:00
$force_active = $user [ 'force_active' ];
2013-12-28 03:02:51 +01:00
if ( in_array ( 'admin_active' , $privileges ))
2013-12-28 03:13:48 +01:00
$force_active = $_REQUEST [ 'force_active' ];
$SQL = " UPDATE `User` SET
`Nick` = '" . sql_escape($_POST["eNick"]) . "' ,
`Name` = '" . sql_escape($_POST["eName"]) . "' ,
`Vorname` = '" . sql_escape($_POST["eVorname"]) . "' ,
`Telefon` = '" . sql_escape($_POST["eTelefon"]) . "' ,
`Handy` = '" . sql_escape($_POST["eHandy"]) . "' ,
`Alter` = '" . sql_escape($_POST["eAlter"]) . "' ,
`DECT` = '" . sql_escape($_POST["eDECT"]) . "' ,
`email` = '" . sql_escape($_POST["eemail"]) . "' ,
`ICQ` = '" . sql_escape($_POST["eICQ"]) . "' ,
`jabber` = '" . sql_escape($_POST["ejabber"]) . "' ,
`Size` = '" . sql_escape($_POST["eSize"]) . "' ,
`Gekommen` = '" . sql_escape($_POST["eGekommen"]) . "' ,
`Aktiv` = '" . sql_escape($_POST["eAktiv"]) . "' ,
`force_active` = " . sql_escape( $force_active ) . " ,
`Tshirt` = '" . sql_escape($_POST["eTshirt"]) . "' ,
`Hometown` = '" . sql_escape($_POST["Hometown"]) . "'
WHERE `UID` = '" . sql_escape($id) . "'
LIMIT 1 ; " ;
2012-12-01 11:49:16 +01:00
sql_query ( $SQL );
2012-12-26 19:53:27 +01:00
engelsystem_log ( " Updated user: " . $_POST [ " eNick " ] . " , " . $_POST [ " eSize " ] . " , arrived: " . $_POST [ " eGekommen " ] . " , active: " . $_POST [ " eAktiv " ] . " , tshirt: " . $_POST [ " eTshirt " ]);
2012-12-01 11:49:16 +01:00
$html .= success ( " Änderung wurde gespeichert... \n " , true );
break ;
2013-12-28 03:02:51 +01:00
case 'change_pw' :
2012-12-01 11:49:16 +01:00
if ( $_REQUEST [ 'new_pw' ] != " " && $_REQUEST [ 'new_pw' ] == $_REQUEST [ 'new_pw2' ]) {
2012-12-12 02:31:54 +01:00
set_password ( $id , $_REQUEST [ 'new_pw' ]);
2012-12-30 17:58:23 +01:00
$user_source = User ( $id );
engelsystem_log ( " Set new password for " . User_Nick_render ( $user_source ));
2012-12-01 11:49:16 +01:00
$html .= success ( " Passwort neu gesetzt. " , true );
} else {
$html .= error ( " Die Eingaben müssen übereinstimmen und dürfen nicht leer sein! " , true );
}
break ;
}
}
} else {
// Userliste, keine UID uebergeben...
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " <a href= \" " . page_link_to ( " register " ) . " \" >Neuen Engel eintragen »</a><br /><br /> \n " ;
2013-12-28 03:02:51 +01:00
if ( ! isset ( $_GET [ " OrderBy " ]))
2012-12-01 11:49:16 +01:00
$_GET [ " OrderBy " ] = " Nick " ;
$SQL = " SELECT * FROM `User` ORDER BY ` " . sql_escape ( $_GET [ " OrderBy " ]) . " ` ASC " ;
2012-12-27 17:32:14 +01:00
$angels = sql_select ( $SQL );
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
// anzahl zeilen
2012-12-27 17:32:14 +01:00
$Zeilen = count ( $angels );
2013-12-28 03:02:51 +01:00
2012-12-01 11:49:16 +01:00
$html .= " Anzahl Engel: $Zeilen <br /><br /> \n " ;
2013-12-28 03:02:51 +01:00
2012-12-27 17:32:14 +01:00
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 (
2013-12-28 03:02:51 +01:00
'Nick' => User_Nick_render ( $angel ),
'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' ] . '">' ,
2013-12-29 13:26:09 +01:00
'freeloads' => sql_select_single_cell ( " SELECT COUNT(*) FROM `ShiftEntry` WHERE `freeloaded` = 1 AND `UID` = " . sql_escape ( $angel [ 'UID' ])),
2013-12-28 03:02:51 +01:00
'Aktiv' => '<img src="pic/icons/' . ( $angel [ 'Aktiv' ] == 1 ? 'tick' : 'cross' ) . '.png" alt="' . $angel [ 'Aktiv' ] . '">' ,
'force_active' => '<img src="pic/icons/' . ( $angel [ 'force_active' ] == 1 ? 'tick' : 'cross' ) . '.png" alt="' . $angel [ 'force_active' ] . '">' ,
'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' => img_button ( page_link_to ( 'admin_user' ) . '&id=' . $angel [ 'UID' ], 'pencil' , _ ( " edit " ))
2012-12-27 17:32:14 +01:00
);
2012-12-01 11:49:16 +01:00
}
2012-12-27 17:32:14 +01:00
$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 " );
2013-12-29 13:26:09 +01:00
$force_active_count = sql_select_single_cell ( " SELECT COUNT(*) FROM `User` WHERE `force_active` = 1 " );
$freeloads_count = sql_select_single_cell ( " SELECT COUNT(*) FROM `ShiftEntry` WHERE `freeloaded` = 1 " );
2012-12-27 17:32:14 +01:00
$Tshirt = sql_select_single_cell ( " SELECT COUNT(*) FROM `User` WHERE `Tshirt` = 1 " );
2013-12-28 03:02:51 +01:00
$angels [] = array (
'Nick' => '<strong>Summe</strong>' ,
'Gekommen' => $Gekommen ,
'Aktiv' => $Active ,
2013-12-29 13:26:09 +01:00
'force_active' => $force_active_count ,
'freeloads' => $freeloads_count ,
2013-12-28 03:02:51 +01:00
'Tshirt' => $Tshirt
);
2012-12-27 17:32:14 +01:00
$html .= table ( array (
2013-12-28 03:02:51 +01:00
'Nick' => '<a href="' . page_link_to ( " admin_user " ) . '&OrderBy=Nick">Nick</a>' ,
'Name' => '<a href="' . page_link_to ( " admin_user " ) . '&OrderBy=Vorname">Vorname</a> <a href="' . page_link_to ( " admin_user " ) . '&OrderBy=Name">Name</a>' ,
'DECT' => '<a href="' . page_link_to ( " admin_user " ) . '&OrderBy=DECT">DECT</a>' ,
'Alter' => '<a href="' . page_link_to ( " admin_user " ) . '&OrderBy=Alter">Alter</a>' ,
'email' => '<a href="' . page_link_to ( " admin_user " ) . '&OrderBy=email">E-Mail</a>' ,
'Gekommen' => '<div class="rotate"><a href="' . page_link_to ( " admin_user " ) . '&OrderBy=Gekommen">Gekommen</a></div>' ,
2013-12-29 13:26:09 +01:00
'freeloads' => '<div class="rotate">' . _ ( " Freeloads " ) . '</div>' ,
2013-12-28 03:02:51 +01:00
'Aktiv' => '<div class="rotate"><a href="' . page_link_to ( " admin_user " ) . '&OrderBy=Aktiv">Aktiv</a></div>' ,
'force_active' => '<div class="rotate"><a href="' . page_link_to ( " admin_user " ) . '&OrderBy=force_active">' . _ ( " Forced " ) . '</a></div>' ,
'Tshirt' => '<div class="rotate"><a href="' . page_link_to ( " admin_user " ) . '&OrderBy=Tshirt">T-Shirt</a></div>' ,
'Size' => '<div class="rotate"><a href="' . page_link_to ( " admin_user " ) . '&OrderBy=Size">Größe</a></div>' ,
'lastLogIn' => '<a href="' . page_link_to ( " admin_user " ) . '&OrderBy=lastLogIn">Last login</a>' ,
'edit' => ''
), $angels );
2012-12-01 11:49:16 +01:00
}
return $html ;
2011-06-03 06:40:29 +02:00
}
2011-09-14 23:11:15 +02:00
?>