count('punches'); } else { $out['recordsTotal'] = $database->count('punches', ['uid' => $managed_uids]); } $filter = false; // sort $order = null; $sortby = "DESC"; if ($VARS['order'][0]['dir'] == 'asc') { $sortby = "ASC"; } switch ($VARS['order'][0]['column']) { case 2: $order = ["uid" => $sortby]; break; case 3: $order = ["in" => $sortby]; break; case 4: $order = ["out" => $sortby]; break; } // search if (!is_empty($VARS['search']['value'])) { $filter = true; $wherenolimit = [ "AND" => [ "OR" => [ "in[~]" => $VARS['search']['value'], "out[~]" => $VARS['search']['value'] ], "uid" => $managed_uids ] ]; if ($managed_uids !== false) { $where["AND"]["uid"] = $managed_uids; } $where = $wherenolimit; $where["LIMIT"] = [$VARS['start'], $VARS['length']]; } else { $where = ["LIMIT" => [$VARS['start'], $VARS['length']]]; if ($managed_uids !== false) { $where["uid"] = $managed_uids; } } if (!is_null($order)) { $where["ORDER"] = $order; } $punches = $database->select('punches', [ 'punchid', 'uid', 'in', 'out', 'notes' ], $where); $usercache = []; $editself = account_has_permission($_SESSION['username'], "QWIKCLOCK_EDITSELF"); for ($i = 0; $i < count($punches); $i++) { // Get user info if (!isset($usercache[$punches[$i]['uid']])) { $usercache[$punches[$i]['uid']] = getUserByID($punches[$i]['uid']); } $punches[$i][0] = ""; if ($_SESSION['uid'] == $punches[$i]['uid']) { if ($editself) { $punches[$i][1] = ' ' . lang("edit", false) . ''; } else { $punches[$i][1] = ""; } } else if ($showmanaged) { $punches[$i][1] = ' ' . lang("edit", false) . ''; } else { $punches[$i][1] = ""; } $punches[$i][2] = $usercache[$punches[$i]['uid']]['name']; $punches[$i][3] = date(DATETIME_FORMAT, strtotime($punches[$i]['in'])); if (is_null($punches[$i]['out'])) { $punches[$i][4] = lang("na", false); } else { $punches[$i][4] = date(DATETIME_FORMAT, strtotime($punches[$i]['out'])); } $punches[$i][5] = $punches[$i]['notes']; } $out['status'] = "OK"; if ($filter) { $recordsFiltered = $database->count('punches', $wherenolimit); } else { $recordsFiltered = $out['recordsTotal']; } $out['recordsFiltered'] = $recordsFiltered; $out['data'] = $punches; echo json_encode($out);