count('mail_lists'); $filter = false; // sort $order = null; $sortby = "DESC"; if ($VARS['order'][0]['dir'] == 'asc') { $sortby = "ASC"; } switch ($VARS['order'][0]['column']) { case 2: $order = ["listname" => $sortby]; break; } // search if (!is_empty($VARS['search']['value'])) { $filter = true; $wherenolimit = []; $wherenolimit["AND"]["OR"] = [ "listname[~]" => $VARS['search']['value'] ]; $where = $wherenolimit; $where["LIMIT"] = [$VARS['start'], $VARS['length']]; } else { $where = ["LIMIT" => [$VARS['start'], $VARS['length']]]; } if (!is_null($order)) { $where["ORDER"] = $order; } /*$where["OR #perms"] = [ "uid" => $_SESSION['uid'], "permname #logg" => "LOGGEDIN", "permname #link" => "LINK" ];*/ //var_dump($where); $lists = $database->select('mail_lists', [ 'listid', 'listname', 'uid' ], $where); $out['status'] = "OK"; if ($filter) { $recordsFiltered = $database->count('mail_lists', $wherenolimit); } else { $recordsFiltered = $out['recordsTotal']; } $out['recordsFiltered'] = $recordsFiltered; $usercache = []; for ($i = 0; $i < count($lists); $i++) { if ($lists[$i]["uid"] == $_SESSION['uid']) { $lists[$i]["editbtn"] = ' ' . lang("edit", false) . ''; } else { $lists[$i]["editbtn"] = ' ' . lang("view", false) . ''; } $lists[$i]["clonebtn"] = ' ' . lang("clone", false) . ''; if (is_null($lists[$i]['uid'])) { $lists[$i]["username"] = ""; } else { if (!isset($usercache[$lists[$i]['uid']])) { $usercache[$lists[$i]['uid']] = getUserByID($lists[$i]['uid']); } $lists[$i]["username"] = $usercache[$lists[$i]['uid']]['name']; } $lists[$i]['count'] = $database->count('addresses', ['listid' => $lists[$i]["listid"]]); } $out['lists'] = $lists; echo json_encode($out);