예제 #1
0
 /**
  * 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();
 }