summaryrefslogtreecommitdiff
path: root/includes/pages/admin_free.php
blob: 19a4c99fb427a2cb187d85433d25a5c8b10f8fa5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?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') 
  ));
}
?>