/** * Get all session config * * @param int $limit * @param int $page * @param string $sort * @return array */ public function getAll($limit = null, $page = null, $sort = null) { $sql = Table\UserSessionConfig::sql(); $sql->select(['role_id' => DB_PREFIX . 'user_session_config.role_id', 'multiple_sessions' => DB_PREFIX . 'user_session_config.multiple_sessions', 'allowed_attempts' => DB_PREFIX . 'user_session_config.allowed_attempts', 'session_expiration' => DB_PREFIX . 'user_session_config.session_expiration', 'timeout_warning' => DB_PREFIX . 'user_session_config.timeout_warning', 'ip_allowed' => DB_PREFIX . 'user_session_config.ip_allowed', 'ip_blocked' => DB_PREFIX . 'user_session_config.ip_blocked', 'log_emails' => DB_PREFIX . 'user_session_config.log_emails', 'role' => DB_PREFIX . 'roles.name'])->join(DB_PREFIX . 'roles', [DB_PREFIX . 'roles.id' => DB_PREFIX . 'user_session_config.role_id']); if (null !== $limit) { $page = null !== $page && (int) $page > 1 ? $page * $limit - $limit : null; $sql->select()->offset($page)->limit($limit); } $params = []; $order = $this->getSortOrder($sort, $page); $by = explode(' ', $order); $sql->select()->orderBy($by[0], $by[1]); return count($params) > 0 ? Table\UserSessionConfig::execute((string) $sql, $params)->rows() : Table\UserSessionConfig::query((string) $sql)->rows(); }