2011-12-17 16:25:54 +01:00
< ? php
2013-11-25 21:04:58 +01:00
function admin_free_title () {
return _ ( " Free angels " );
}
2011-12-17 16:25:54 +01:00
function admin_free () {
2012-12-30 17:58:23 +01:00
global $privileges ;
2014-08-22 22:34:13 +02:00
2012-12-30 17:58:23 +01:00
$search = " " ;
2014-08-22 22:34:13 +02:00
if ( isset ( $_REQUEST [ 'search' ]))
2012-12-30 17:58:23 +01:00
$search = strip_request_item ( 'search' );
2014-08-22 22:34:13 +02:00
2012-12-30 17:58:23 +01:00
$angeltypesearch = " " ;
2014-08-22 22:34:13 +02:00
if ( empty ( $_REQUEST [ 'angeltype' ]))
2012-12-30 17:58:23 +01:00
$_REQUEST [ 'angeltype' ] = '' ;
else {
$angeltypesearch = " INNER JOIN `UserAngelTypes` ON (`UserAngelTypes`.`angeltype_id` = ' " . sql_escape ( $_REQUEST [ 'angeltype' ]) . " ' AND `UserAngelTypes`.`user_id` = `User`.`UID` " ;
2014-08-22 22:34:13 +02:00
if ( isset ( $_REQUEST [ 'confirmed_only' ]))
2012-12-30 17:58:23 +01:00
$angeltypesearch .= " AND `UserAngelTypes`.`confirm_user_id` " ;
$angeltypesearch .= " ) " ;
}
2014-08-22 22:34:13 +02:00
2012-12-30 17:58:23 +01:00
$angel_types_source = sql_select ( " SELECT `id`, `name` FROM `AngelTypes` ORDER BY `name` " );
2014-08-22 22:34:13 +02:00
$angel_types = array (
'' => 'alle Typen'
);
2012-12-30 17:58:23 +01:00
foreach ( $angel_types_source as $angel_type )
$angel_types [ $angel_type [ 'id' ]] = $angel_type [ 'name' ];
2014-08-22 22:34:13 +02:00
2012-12-30 17:58:23 +01:00
$users = sql_select ( " SELECT `User`.* FROM `User` ${ angeltypesearch } LEFT JOIN `ShiftEntry` ON `User`.`UID` = `ShiftEntry`.`UID` LEFT JOIN `Shifts` ON (`ShiftEntry`.`SID` = `Shifts`.`SID` AND `Shifts`.`start` < " . sql_escape ( time ()) . " AND `Shifts`.`end` > " . sql_escape ( time ()) . " ) WHERE `User`.`Gekommen` = 1 AND `Shifts`.`SID` IS NULL GROUP BY `User`.`UID` ORDER BY `Nick` " );
2014-08-22 22:34:13 +02:00
2014-08-23 19:15:10 +02:00
$free_users_table = array ();
2012-12-30 17:58:23 +01:00
if ( $search == " " )
2014-08-22 22:34:13 +02:00
$tokens = array ();
2012-12-30 17:58:23 +01:00
else
$tokens = explode ( " " , $search );
foreach ( $users as $usr ) {
if ( count ( $tokens ) > 0 ) {
$match = false ;
$index = join ( " " , $usr );
foreach ( $tokens as $t )
if ( stristr ( $index , trim ( $t ))) {
2014-08-22 22:34:13 +02:00
$match = true ;
break ;
}
if ( ! $match )
2012-12-30 17:58:23 +01:00
continue ;
}
2014-08-22 22:34:13 +02:00
2014-08-23 19:15:10 +02:00
$free_users_table [] = array (
'name' => User_Nick_render ( $usr ),
'shift_state' => User_shift_mode_render ( User_shift_state ( $usr )),
'dect' => $usr [ 'DECT' ],
'jabber' => $usr [ 'jabber' ],
'email' => $usr [ 'email' ],
'actions' => in_array ( 'admin_user' , $privileges ) ? button ( page_link_to ( 'admin_user' ) . '&id=' . $usr [ 'UID' ], _ ( " edit " ), 'btn-xs' ) : ''
);
2012-12-30 17:58:23 +01:00
}
2014-08-23 19:15:10 +02:00
return page_with_title ( admin_free_title (), array (
form ( array (
div ( 'row' , array (
div ( 'col-md-4' , array (
form_text ( 'search' , _ ( " Search " ), $search )
)),
div ( 'col-md-4' , array (
form_select ( 'angeltype' , _ ( " Angeltype " ), $angel_types , $_REQUEST [ 'angeltype' ])
)),
div ( 'col-md-2' , array (
form_checkbox ( 'confirmed_only' , _ ( " Only confirmed " ), isset ( $_REQUEST [ 'confirmed_only' ]))
)),
div ( 'col-md-2' , array (
form_submit ( 'submit' , _ ( " Search " ))
))
))
)),
table ( array (
'name' => _ ( " Nick " ),
'shift_state' => '' ,
'dect' => _ ( " DECT " ),
'jabber' => _ ( " Jabber " ),
'email' => _ ( " E-Mail " ),
'actions' => ''
), $free_users_table )
2012-12-30 17:58:23 +01:00
));
2011-12-17 16:25:54 +01:00
}
2012-12-26 18:14:23 +01:00
?>