クラス
CustomerPage
説明 説明
A redirect to this page occurs if the buyer attempts to purchase a DLSeller item with QuickPay but is not logged in to their Welcart account.
ファイル: src/Views/CustomerPage/CustomerPage.php
class CustomerPage
{
    /**
     * Loads CSS and JS assets for customer page
     *
     * @author Evan D Shaw <evandanielshaw@gmail.com>
     * @return void
     */
    public function loadAssets() {
        $semantic = new Semantic();
        $semantic->loadCheckboxCss();
        $semantic->loadMessageCss();
        $semantic->loadSemanticJS();
        wp_enqueue_style(
            'wcexaap-dlseller-login',
            WCEXAAP_PLUGIN_URL . '/src/Views/CustomerPage/style.css',
            [],
            WCEXAAP_VERSION
        );
        wp_enqueue_script(
            'wcexaap-dlseller-login',
            WCEXAAP_PLUGIN_URL . '/dist/customerPage.js',
            [Semantic::JS_SLUG],
            WCEXAAP_VERSION,
            false
        );
    }
    /**
     * Returns `true` if a DLSeller item or auto delivery item is in the cart
     *
     * @author Evan D Shaw <evandanielshaw@gmail.com>
     * @return bool
     */
    public function hasExOrder() {
        $ex_order = false;
        if (defined('WCEX_DLSELLER')) {
            $ex_order = !dlseller_have_dlseller_content() && !dlseller_have_continue_charge() ? false : true;
        } elseif (defined('WCEX_AUTO_DELIVERY')) {
            $ex_order = wcad_have_regular_order();
        }
        return $ex_order;
    }
    /**
     * Customer page with login prompt for DLSeller items
     *
     * @author Evan D Shaw <evandanielshaw@gmail.com>
     * @return void
     */
    public function dlsellerLoginTemplate() {
        get_header();
        ?>
        <div id="primary" class="site-content wcexaap">
            <div id="content" class="cart-page" role="main">
                <?php if (have_posts()) :
                    usces_remove_filter(); ?>
                <article class="post" id="wc_customer">
                    <h1 class="cart_page_title"><?php _e('Customer Information', 'usces'); ?></h1>
                    <div id="customer-info">
                        <div class="cart_navi">
                            <ul>
                                <li><?php _e('1.Cart', 'usces'); ?></li>
                                <li class="current"><?php _e('2.Customer Info', 'usces'); ?></li>
                                <li><?php _e('4.Confirm', 'usces'); ?></li>
                            </ul>
                        </div>
                        <div class="header_explanation">
                            <?php
                            /**
                             * Mirrored Welcart action hook
                             *
                             * @ignore
                             */
                            do_action('usces_action_customer_page_header');
                            ?>
                        </div>
                        <div class="error_message"><?php usces_error_message(); ?></div>
                        <?php if (usces_is_membersystem_state()) : ?>
                            <form action="<?php echo $this->formAction ?>" method="post" name="customer_loginform" onKeyDown="if(event.keyCode == 13){return false;}">
                                <table width="100%" border="0" cellpadding="0" cellspacing="0" class="customer_form">
                                    <tr>
                                        <th scope="row"><?php _e('e-mail adress', 'usces'); ?></th>
                                        <td><input name="loginmail" id="loginmail" type="text" value="<?php echo esc_attr($this->email); ?>" style="ime-mode: inactive" /></td>
                                    </tr>
                                    <tr>
                                        <th scope="row"><?php _e('password', 'usces'); ?></th>
                                        <td><input name="loginpass" id="loginpass" type="password" value="" /></td>
                                    </tr>
                                </table>
                            <?php if ($this->hasExOrder()) : ?>
                                <p id="nav">
                                    <a class="lostpassword" href="<?php usces_url('lostmemberpassword'); ?>"><?php _e('Did you forget your password?', 'usces'); ?></a>
                                </p>
                                <p id="nav">
                                    <a class="newmember" href="<?php usces_url('newmember'); ?>&wcexaap_transition=newmember"><?php _e('New enrollment for membership.', 'usces'); ?></a>
                                </p>
                            <?php endif; ?>
                                <div class="send">
                                    <input name="customerlogin" class="to_memberlogin_button" type="submit" value="<?php _e(' Next ', 'usces'); ?>" />
                                    <div class="ui checkbox">
                                        <input
                                            name="allowAmazonLogin"
                                            type="checkbox"
                                            value="1"
                                        >
                                        <label
                                            for="allowAmazonLogin"
                                            style="cursor:pointer;"
                                        >
                                            <?php _e('Log me in automatically from now on when I use Amazon Pay.', 'wcexaap'); ?>
                                        </label>
                                    </div>
                                    <div class="ui warning message autologin-info" style="display: none;">
                                        <p><?php _e('Note: this feature only works if your login email is the same as your Amazon account email', 'wcexaap'); ?></p>
                                    </div>
                                    </div>
                                <?php
                                /**
                                 * Mirrored Welcart action hook
                                 *
                                 * @ignore
                                 */
                                do_action('usces_action_customer_page_member_inform');
                                ?>
                            </form>
                        <?php endif; ?>
                        <div class="footer_explanation">
                            <?php
                            /**
                             * Mirrored Welcart action hook
                             *
                             * @ignore
                             */
                            do_action('usces_action_customer_page_footer');
                            ?>
                        </div>
                    </div>
                </article>
                <?php else : ?>
                <p><?php _e('Sorry, no posts matched your criteria.', 'usces'); ?></p>
                <?php endif; ?>
            </div>
        </div>
        <?php
        get_footer();
    }
    /**
     * Loads customer page with login prompt for DLSeller items
     *
     * @author Evan D Shaw <evandanielshaw@gmail.com>
     * @return void
     */
    public function loadPage() {
        $this->email = $_SESSION['usces_entry']['customer']['mailaddress1'];
        if (isset($_POST['loginmail'])) {
            $this->email = $_POST['loginmail'];
        }
        $reqkey = WordPressRequestKeyRouteCollector::ROUTE_KEY;
        $currentRoute = isset($_REQUEST[$reqkey]) ? $_REQUEST[$reqkey] : '';
        $redirect = isset($_REQUEST['wcexaapRedirect']) ? $_REQUEST['wcexaapRedirect'] : '';
        $this->formAction = add_query_arg(
            [
                $reqkey => rawurlencode($currentRoute),
                'wcexaapRedirect' => rawurlencode($redirect),
            ],
            USCES_CART_URL
        );
        $this->loadAssets();
        $this->dlsellerLoginTemplate();
        exit();
    }
}
- dlsellerLoginTemplate — Customer page with login prompt for DLSeller items
 - hasExOrder — Returns `true` if a DLSeller item or auto delivery item is in the cart
 - loadAssets — Loads CSS and JS assets for customer page
 - loadPage — Loads customer page with login prompt for DLSeller items