/** * プラグイン規定関数::ブロック型で呼び出された場合の処理 * 認証済みの場合: 何もしない(空の画面を生成する) * 認証情報が指定されている場合: 認証処理を行う * 認証情報が指定されていない場合: 認証画面を生成する * * 引数: なし * * @return string 画面(html) */ function plugin_movieviewer_auth_convert() { global $vars; $manager = plugin_movieviewer_get_auth_manager(); $req_user_id = filter_input(INPUT_POST, "movieviewer_user"); // 認証開始 if ($req_user_id !== null && $req_user_id !== "") { try { plugin_movieviewer_validate_csrf_token(); } catch (MovieViewerValidationException $ex) { return plugin_movieviewer_auth_move_to_authpage(true); } try { plugin_movieviewer_validate_user_id($req_user_id); } catch (MovieViewerValidationException $ex) { return plugin_movieviewer_auth_move_to_authpage(true); } try { $maybe_user = plugin_movieviewer_get_user_repository()->findById($req_user_id); } catch (MovieViewerRepositoryObjectNotFoundException $ex) { plugin_movieviewer_auth_move_to_authpage(true); } $user_password = filter_input(INPUT_POST, 'movieviewer_password'); if (!$maybe_user->verifyPassword($user_password)) { return plugin_movieviewer_auth_move_to_authpage(true); } $manager->login($maybe_user); return ''; } // 認証済み if ($manager->isAuthenticated()) { return ''; } // 認証なし return plugin_movieviewer_auth_move_to_authpage(false); }
function plugin_movieviewer_validate_review_pack_request_id($id) { list($user_id, $formatted_requested_date) = explode("###", $id, 2); plugin_movieviewer_validate_user_id($user_id); plugin_movieviewer_validate_review_pack_formatted_date_requested($formatted_requested_date); }