You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.4 KiB
PHTML

<?php
function admin_free_title() {
return _("Free angels");
}
function admin_free() {
global $privileges;
$search = "";
if (isset($_REQUEST['search']))
$search = strip_request_item('search');
$angeltypesearch = "";
if (empty($_REQUEST['angeltype']))
$_REQUEST['angeltype'] = '';
else {
$angeltypesearch = " INNER JOIN `UserAngelTypes` ON (`UserAngelTypes`.`angeltype_id` = '" . sql_escape($_REQUEST['angeltype']) . "' AND `UserAngelTypes`.`user_id` = `User`.`UID`";
if (isset($_REQUEST['confirmed_only']))
$angeltypesearch .= " AND `UserAngelTypes`.`confirm_user_id`";
$angeltypesearch .= ") ";
}
$angel_types_source = sql_select("SELECT `id`, `name` FROM `AngelTypes` ORDER BY `name`");
$angel_types = array(
'' => 'alle Typen'
);
foreach ($angel_types_source as $angel_type)
$angel_types[$angel_type['id']] = $angel_type['name'];
$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`");
$table = "";
if ($search == "")
$tokens = array();
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))) {
$match = true;
break;
}
if (! $match)
continue;
}
$table .= '<tr>';
$table .= '<td>' . User_Nick_render($usr) . '</td>';
$table .= '<td>' . $usr['DECT'] . '</td>';
$table .= '<td>' . $usr['jabber'] . '</td>';
if (in_array('admin_user', $privileges))
$table .= '<td><a href="' . page_link_to('admin_user') . '&amp;id=' . $usr['UID'] . '">edit</a></td>';
else
$table .= '<td>' . User_Nick_render($usr) . '</td>';
$table .= '</tr>';
}
return template_render('../templates/admin_free.html', array(
'title' => admin_free_title(),
'search' => $search,
'angeltypes' => html_select_key('angeltype', 'angeltype', $angel_types, $_REQUEST['angeltype']),
'confirmed_only' => isset($_REQUEST['confirmed_only']) ? 'checked' : '',
'table' => $table,
'link' => page_link_to('admin_free')
));
}
?>