method getList documentation in bbn\User\Manager
function(string $group_id = NULL)
{
$db =& $this->db;
$arch =& $this->class_cfg['arch'];
$s =& $arch['sessions'];
$tables =& $this->class_cfg['tables'];
if (!empty($arch['users']['username'])) {
$sort = $arch['users']['username'];
}
elseif (!empty($arch['users']['login'])) {
$sort = $arch['users']['login'];
}
else{
$sort = $arch['users']['email'];
}
$sql = "SELECT ";
$done = [];
foreach ($arch['users'] as $n => $f){
if (!\in_array($f, $done)) {
$sql .= $db->cfn($f, $tables['users'], 1).', ';
array_push($done, $f);
}
}
$gr = !empty($group_id) && \bbn\Str::isUid($group_id) ? "AND " . $db->cfn($arch['groups']['id'], $tables['groups'], 1) . " = UNHEX('$group_id')" : '';
$sql .= "
MAX({$db->cfn($s['last_activity'], $tables['sessions'], 1)}) AS {$db->csn($s['last_activity'], 1)},
COUNT({$db->cfn($s['sess_id'], $tables['sessions'])}) AS {$db->csn($s['sess_id'], 1)}
FROM {$db->escape($tables['users'])}
JOIN {$db->tsn($tables['groups'], 1)}
ON {$db->cfn($arch['users']['id_group'], $tables['users'], 1)} = {$db->cfn($arch['groups']['id'], $tables['groups'], 1)}
$gr
LEFT JOIN {$db->tsn($tables['sessions'])}
ON {$db->cfn($s['id_user'], $tables['sessions'], 1)} = {$db->cfn($arch['users']['id'], $tables['users'], 1)}
WHERE {$db->cfn($arch['users']['active'], $tables['users'], 1)} = 1
GROUP BY {$db->cfn($arch['users']['id'], $tables['users'], 1)}
ORDER BY {$db->cfn($sort, $tables['users'], 1)}";
return $db->getRows($sql);
}
BBN is a suite of PHP and JS libraries and VueJS components - all open-source! bbn.io, build applications, the quick way
This website uses cookies to ensure you get the best experience on our website.
© 2011-2025
BBN Solutions