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);