/**
 * [ブロック] クレジット支払い用の申し込みフォームを生成する
 *
 * @param MovieViewerSettings                  $settings         プラグインの設定
 * @param MovieViewerUser                      $user             ログインユーザ
 * @param MovieViewerReviewPackPurchaseRequest $request          申し込み
 * @param string                               $request_stash_id 申し込み仮ID
 * @param string                               $current_page     画面名
 * 
 * @return string フォーム(html)
 */
function plugin_movieviewer_review_purchase_start_convert_credit($settings, $user, $request, $request_stash_id, $current_page)
{
    // 取引IDに会員番号を利用するため、会員番号がない場合は、クレジットカード支払いはできない
    if (!$user->hasMemberId()) {
        return plugin_movieviewer_convert_error_response("クレジットカードの支払いには会員番号が必要です。");
    }
    $paygent_settings = $settings->payment->credit->paygent;
    $generator = new MovieViewerReviewPackPaygentParameterGenerator($paygent_settings, $user, $request);
    $return_params = array("cmd" => "movieviewer_review_purchase_start", "request_stash_id" => $request_stash_id);
    $return_uri = plugin_movieviewer_get_script_uri() . "?" . http_build_query($return_params);
    $hsc = "plugin_movieviewer_hsc";
    $request_details = plugin_movieviewer_review_purchase_start_convert_get_request_details($settings, $request);
    $content = <<<TEXT
    <h2>再視聴申し込み</h2>
    <p>
    申し込み内容を確認してください。<br>
    「申し込む」ボタンをクリックすると、クレジットカードの支払いページに移動します。<br>
    支払いページは、提携の決済代行会社ペイジェントのページになります。<br>
    </p>
    <p>
    決済の手続きが終了すると当サイトに再び戻ってきますので、それまで手続きを続けてください。
    当サイトに戻ってくる前に手続きを中断してしまった場合、購入完了となりませんのでご注意ください。<br>
    </p>
    <p>
    ※ 当研究所では、会員のみなさまのクレジットカード情報は一切お預かりいたしません。<br>
    </p>
    {$request_details}

    ※ クレジット決済画面の表示後、5日以内に入金を完了させてください。<br>
    期限が過ぎると、クレジット決済画面が表示されなくなり、入金できなくなります。
    </p>
    <form action="{$paygent_settings["request_uri"]}" method="post">
        <input type="hidden" name="trading_id" value="{$generator->getTradingId()}">
        <input type="hidden" name="id" value="{$generator->getId()}">
        <input type="hidden" name="seq_merchant_id" value="{$generator->getSeqMerchantId()}">
        <input type="hidden" name="hc" value="{$generator->getHash()}">
        <input type="hidden" name="payment_detail" value="{$generator->getPaymentDetail()}">
        <input type="hidden" name="return_url" value="{$return_uri}">
        <button type="submit" class='ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only'>申し込む</button>
    </form>
TEXT;
    return $content;
}
/**
 * [アクション] パスワードリセット画面を生成する
 *
 * @param string          $token    パスワードリセットトークン
 * @param MovieViewerUser $user     対象ユーザ
 * @param string          $messages エラーメッセージ
 *
 * @return array ページ名, 画面(html)
 */
function plugin_movieviewer_reset_password_action_confirm_generate_page($token, $user, $messages = "")
{
    $manager = plugin_movieviewer_get_auth_manager();
    $manager->logout();
    $page = plugin_movieviewer_get_current_page();
    $body_messages = "";
    if ($messages !== null && $messages !== "") {
        $body_messages = <<<TEXT
        <div class="ui-state-error ui-corner-all" style="margin: 5px;">
        <p>
            <span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>
            {$messages}
        </p>
        </div>
TEXT;
    }
    $hsc = "plugin_movieviewer_hsc";
    $input_csrf_token = "plugin_movieviewer_generate_input_csrf_token";
    $body = <<<TEXT
    <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
    <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
    <link href="https://code.jquery.com/ui/1.11.4/themes/redmond/jquery-ui.css" rel="stylesheet">
    <link href="plugin/movieviewer/assets/css/movieviewer.css" rel="stylesheet">
    <h2>パスワードのリセット</h2>
    <div><span style="font-size:1.2em;font-weight:bold;">{$hsc($user->describe())}様</span></div>
    <p>以下に、パスワードを入力し「パスワードをリセットする」ボタンを押して下さい。</p>
    {$body_messages}
    <form class="movieviewer" action="index.php?cmd=movieviewer_reset_password" METHOD="POST">
        <input type="hidden" name="ope_type" value="reset">
        <input type="hidden" name="page" value="{$hsc($page)}">
        <input type="hidden" name="token" value="{$hsc($token->id)}">
        {$input_csrf_token()}
        <fieldset>
            <label for="movieviewer_password">パスワード</label>
            <input type="password" id="movieviewer_password" name="movieviewer_password" size=50>
        </fieldset>
        <fieldset>
            <label for="movieviewer_password_confirm">パスワード(確認)</label>
            <input type="password" id="movieviewer_password_confirm" name="movieviewer_password_confirm" size=50>
        </fieldset>
        <button class="movieviewer-button" type="submit">パスワードをリセットする</button>
    </form>
TEXT;
    return $body;
}