開発メモ

開発用のメモです。

EC CUBE ユーザー向けサイト

plugin_info

適宜

<?php
class plugin_info {
    static $PLUGIN_CODE = "UserSite";
    static $PLUGIN_NAME = "ユーザーサイト";
    static $PLUGIN_VERSION = "1.0-SnapShot";
    static $COMPLIANT_VERSION = "2.13.3";
    static $AUTHOR = "";
    static $DESCRIPTION = 'ユーザーサイト';
    static $PLUGIN_SITE_URL = "";
    static $AUTHOR_SITE_URL = "";
    static $CLASS_NAME = "PluginExecuterUserSite";
    static $HOOK_POINTS = array ( );
    static $LICENSE = "LGPL";
}

plugin_update

<?php
class plugin_update {

    function update ( array $arrPlugin ) {
        SC_Utils_Ex :: sfCopyDir ( dirname ( __FILE__ ) . "/" , PLUGIN_UPLOAD_REALDIR . $arrPlugin [ "plugin_code" ] . "/" , "" , true );
    }

}

PluginExecuter

<?php

class PluginExecuterUserSite extends SC_Plugin_Base {

    /**
    * コンストラクター.
    * @param $arrSelfInfo array (auto set)
    */
    public function __construct ( array $arrSelfInfo ) {
        parent :: __construct ( $arrSelfInfo );
    }

    /**
    * インストール処理.
    * @param $arrPlugin array (auto set)
    */
    function install ( array $arrPlugin , SC_Plugin_Installer $installer ) {
        // TODO インストール処理.
    }

    /**
    * アンインストール処理.
    * @param $arrPlugin array (auto set)
    */
    function uninstall ( array $arrPlugin , SC_Plugin_Installer $installer ) {
        // TODO アンインストール処理.
    }

    /**
    * 有効化処理.
    * @param $arrPlugin array (auto set)
    */
    function enable ( array $arrPlugin , SC_Plugin_Installer $installer ) {
        // TODO 有効化処理.
    }

    /**
    * 無効化処理.
    * @param $arrPlugin array (auto set)
    */
    function disable ( array $arrPlugin , SC_Plugin_Installer $installer ) {
        // TODO 無効化処理.
    }

    function preProcess ( LC_Page $objPage ) {
        if ( $_SESSION [ "customer.customer_od" ] ) {
        }
        if ( strstr ( get_class ( $objPage ) , "LC_Page_Admin" ) != "" ) {
            // 管理画面
            return;
        } else if ( strstr ( get_class ( $objPage ) , "LC_Page_Index" ) != "" ) {
            // HOME (redirect先)
            return;
        } else if ( strstr ( get_class ( $objPage ) , "LC_Page_Mypage" ) != "" ) {
            // MyPage (LOGIN PAGE)
            return;
        } else if ( strstr ( get_class ( $objPage ) , "LC_Page_Forgot" ) != "" ) {
            // Password 再発行
            return;
        } else if ( strstr ( get_class ( $objPage ) , "LC_Page_Error" ) != "" ) {
            // Error Display
            return;
        } else if ( strstr ( get_class ( $objPage ) , "LC_Page_Entry" ) != "" ) {
            // User Regist
            return;
        } else if ( strstr ( get_class ( $objPage ) , "LC_Page_FrontParts_LoginCheck" ) != "" ) {
            // Login Form (Header Block)
            return;
        } else if ( strstr ( get_class ( $objPage ) , "LC_Page_InputZip" ) != "" ) {
            //郵便番号検索
            return;
        }

        // ログインチェック
        $objCustomer = new SC_Customer_Ex ( );
        // ログインしていない場合は必ずログインページを表示する
        if ( $objCustomer -> isLoginSuccess ( true ) === false ) {
            SC_Response_Ex :: sendRedirect ( "/mypage/login.php" );
            SC_Response_Ex :: actionExit ( );
        }
    }

}
Twitter: @asahina_alice