function plugin_movieviewer_set_global_settings() { $settings = plugin_movieviewer_load_settings(); $cfg = array("movieviewer_settings" => $settings); // $GLOBALSに値が保存される set_plugin_messages($cfg); // CSRF対策用トークンを生成し、セッションに登録する plugin_movieviewer_set_csrf_token(); }
function plugin_movieviewer_qhmcommu_patch_set_global_settings() { $settings = plugin_movieviewer_load_settings(); $GLOBALS['movieviewer_settings'] = $settings; }
/** * [アクション] 指定した単元のテキストをダウンロードするようLocationヘッダを返す * * 注意: exitを呼ぶので、処理の最後に呼び出すこと * * @return void */ function plugin_movieviewer_action_download_text() { date_default_timezone_set("Asia/Tokyo"); $settings = plugin_movieviewer_load_settings(); $cf_settings = $settings->aws['cloud_front']; $target = array("course" => filter_input(INPUT_GET, "course"), "session" => filter_input(INPUT_GET, "session")); try { plugin_movieviewer_validate_course_id($target["course"]); } catch (MovieViewerValidationException $ex) { plugin_movieviewer_abort("指定した内容に誤りがあります。"); } try { plugin_movieviewer_validate_session_id($target["session"]); } catch (MovieViewerValidationException $ex) { plugin_movieviewer_abort("指定した内容に誤りがあります。"); } $user_id = plugin_movieviewer_get_auth_manager()->getUserId(); $current_user = plugin_movieviewer_get_user_repository()->findById($user_id); $viewing_periods = plugin_movieviewer_get_viewing_periods_by_user_repository()->findById($user_id); $canView = $viewing_periods->canView($target['course'], $target['session']); if (!$canView) { plugin_movieviewer_abort("このテキストはダウンロードできません。"); } $builder = new MovieViewerAwsCloudFrontUrlBuilder($cf_settings); $signed_path = $builder->buildTextUrl($target['course'], $target['session']); header('Location: ' . $signed_path); exit; }