Exemple #1
0
 /**
  * ログインしていない場合にログイン処理を実行する
  */
 private function login_required()
 {
     $selected_pattern = $this->get_selected_pattern();
     if (!$this->is_user_logged_in() && array_key_exists('action', $selected_pattern) && strpos($selected_pattern['action'], '::do_login') === false) {
         if ($this->has_object_plugin('before_login_required')) {
             /**
              * ログイン処理の前処理
              * @param \ebi\flow\Request $arg1
              */
             $this->call_object_plugin_funcs('before_login_required', $this);
         }
         if (strpos($selected_pattern['action'], '::do_logout') === false) {
             $this->sessions('logged_in_redirect_to', \ebi\Request::current_url() . \ebi\Request::request_string(true));
         }
         $req = new \ebi\Request();
         $this->sess->vars(__CLASS__ . '_login_vars', [time(), $req->ar_vars()]);
         if (array_key_exists('@', $selected_pattern)) {
             $this->set_before_redirect('do_login');
         } else {
             $this->set_before_redirect('login');
         }
     }
 }