Changeset 21467


Ignore:
Timestamp:
2012/02/09 18:25:09 (9 years ago)
Author:
h_yoshimoto
Message:

#1632 プラグインインストール時、アップデート時のバリデーションを実装しました。

Location:
branches/version-2_12-dev
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/Smarty/templates/admin/system/plugin.tpl

    r21458 r21467  
    9292    <h2>プラグイン一覧</h2> 
    9393    <!--{if count($plugins) > 0}--> 
    94         <span class="attention"><!--{$arrErr.plugin_error}--><!--{$arrErr.update_plugin_file}--></span> 
     94        <span class="attention"><!--{$arrErr.plugin_error}--></span> 
    9595        <table class="system-plugin" width="900"> 
    9696            <col width="10%" /> 
     
    102102            </tr> 
    103103            <!--{section name=data loop=$plugins}--> 
    104             <tr <!--{if $plugins[data].enable == $smarty.const.PLUGIN_ENABLE_FALSE}--> style="background:#C9C9C9;" <!--{/if}-->> 
     104            <!--{assign var=plugin value=$plugins[data]}--> 
     105            <tr <!--{if $plugin.enable == $smarty.const.PLUGIN_ENABLE_FALSE}--> style="background:#C9C9C9;" <!--{/if}-->> 
    105106                <!--ロゴ--> 
    106107                <td class="center plugin_img"> 
    107                     <!--{if $plugins[data].plugin_site_url != '' }--> 
    108                         <a href="?" onclick="win03('<!--{$plugins[data].plugin_site_url|h}-->','plugin_site_url','620','760'); return false;"><img src="<!--{$smarty.const.ROOT_URLPATH}-->plugin/<!--{$plugins[data].plugin_code}-->/logo.png"/></a>&nbsp; 
     108                    <!--{if $plugin.plugin_site_url != '' }--> 
     109                        <a href="?" onclick="win03('<!--{$plugin.plugin_site_url|h}-->','plugin_site_url','620','760'); return false;"><img src="<!--{$smarty.const.ROOT_URLPATH}-->plugin/<!--{$plugin.plugin_code}-->/logo.png"width="65" height="65"/></a>&nbsp; 
    109110                    <!--{else}--> 
    110                         <img src="<!--{$smarty.const.ROOT_URLPATH}-->plugin/<!--{$plugins[data].plugin_code}-->/logo.png"/> 
     111                        <img src="<!--{$smarty.const.ROOT_URLPATH}-->plugin/<!--{$plugin.plugin_code}-->/logo.png"/> 
    111112                    <!--{/if}--> 
    112113 
     
    117118                            <!-- ▼plugin_site_urlが設定されている場合はリンクとして表示 --> 
    118119                            <span class="plugin_name"> 
    119                             <!--{if $plugins[data].plugin_site_url != '' }--> 
    120                                 <a href="?" onclick="win03('<!--{$plugins[data].plugin_site_url|h}-->','plugin_site_url','620','760'); return false;"><!--{$plugins[data].plugin_name|default:$plugins[data].plugin_code|h}--></a>&nbsp; 
     120                            <!--{if $plugin.plugin_site_url != '' }--> 
     121                                <a href="?" onclick="win03('<!--{$plugin.plugin_site_url|h}-->','plugin_site_url','620','760'); return false;"><!--{$plugin.plugin_name|default:$plugin.plugin_code|h}--></a>&nbsp; 
    121122                            <!--{else}--> 
    122                                 <sapn><!--{$plugins[data].plugin_name|default:$plugins[data].plugin_code|h}-->&nbsp;</sapn> 
     123                                <sapn><!--{$plugin.plugin_name|default:$plugin.plugin_code|h}-->&nbsp;</sapn> 
    123124                            <!--{/if}--> 
    124125                            </span> 
    125126                        <!-- プラグインバージョン --> 
    126                             <!--{if $plugins[data].plugin_version != ''}--><!--{$plugins[data].plugin_version|h}--><!--{/if}-->&nbsp; 
     127                            <!--{if $plugin.plugin_version != ''}--><!--{$plugin.plugin_version|h}--><!--{/if}-->&nbsp; 
    127128                        <!-- 作者 --> 
    128                             <!--{if $plugins[data].author != ''}--> 
     129                            <!--{if $plugin.author != ''}--> 
    129130                                <!-- ▼author_site_urlが設定されている場合はリンクとして表示 --> 
    130                                 <!--{if $plugins[data].author_site_url != '' }--> 
    131                                     <span>(by <a href="?" onclick="win03('<!--{$plugins[data].author_site_url|h}-->','author_site_url','620','760'); return false;"><!--{$plugins[data].author|default:'-'|h}--></a>)</span> 
     131                                <!--{if $plugin.author_site_url != '' }--> 
     132                                    <span>(by <a href="?" onclick="win03('<!--{$plugin.author_site_url|h}-->','author_site_url','620','760'); return false;"><!--{$plugin.author|default:'-'|h}--></a>)</span> 
    132133                                <!--{else}--> 
    133                                     <span>(by <!--{$plugins[data].author|default:'-'|h}-->)</span> 
     134                                    <span>(by <!--{$plugin.author|default:'-'|h}-->)</span> 
    134135                                <!--{/if}--> 
    135136                            <!--{/if}--> 
    136137                        <br /> 
    137138                        <!-- 説明 --> 
    138                             <p class="description"><!--{$plugins[data].plugin_description|default:'-'|h}--></p> 
     139                            <p class="description"><!--{$plugin.plugin_description|default:'-'|h}--></p> 
    139140                        <div> 
    140                             <span class="ec_cube_version">対応EC-CUBEバージョン :<!--{$plugins[data].compliant_version|default:'-'|h}--></span><br/> 
     141                            <span class="ec_cube_version">対応EC-CUBEバージョン :<!--{$plugin.compliant_version|default:'-'|h}--></span><br/> 
     142                            <span class="attention"><!--{$arrErr[$plugin.plugin_code]}--></span> 
    141143                            <!-- 設定 --> 
    142                                 <!--{if $plugins[data].config_flg == true && $plugins[data].status != $smarty.const.PLUGIN_STATUS_UPLOADED}--> 
    143                                     <a href="?" onclick="win03('<!--{$smarty.const.ROOT_URLPATH}-->plugin/<!--{$plugins[data].plugin_code}-->/config.php','plugin_setting','620','760'); return false;">プラグイン設定</a>&nbsp;|&nbsp; 
     144                                <!--{if $plugin.config_flg == true && $plugin.status != $smarty.const.PLUGIN_STATUS_UPLOADED}--> 
     145                                    <a href="?" onclick="win03('<!--{$smarty.const.ROOT_URLPATH}-->plugin/<!--{$plugin.plugin_code}-->/config.php','plugin_setting','620','760'); return false;">プラグイン設定</a>&nbsp;|&nbsp; 
    144146                                <!--{else}--> 
    145147                                    <span>プラグイン設定&nbsp;|&nbsp;</span> 
    146148                                <!--{/if}--> 
    147149                            <!-- アップデート --> 
    148                                 <a class="update_link" href="#" name="<!--{$plugins[data].plugin_id}-->">アップデート</a>&nbsp;|&nbsp; 
     150                                <a class="update_link" href="#" name="<!--{$plugin.plugin_id}-->">アップデート</a>&nbsp;|&nbsp; 
    149151                            <!-- 削除 --> 
    150                                 <a  href="javascript:;" name="uninstall" onclick="fnSetFormValue('plugin_id', '<!--{$plugins[data].plugin_id}-->'); fnModeSubmit('uninstall','plugin_code','<!--{$plugins[data].plugin_code}-->'); return false;">削除</a>&nbsp;|&nbsp; 
     152                                <a  href="javascript:;" name="uninstall" onclick="fnSetFormValue('plugin_id', '<!--{$plugin.plugin_id}-->'); fnModeSubmit('uninstall','plugin_code','<!--{$plugin.plugin_code}-->'); return false;">削除</a>&nbsp;|&nbsp; 
    151153                            <!-- 有効/無効 --> 
    152                                 <!--{if $plugins[data].enable == $smarty.const.PLUGIN_ENABLE_TRUE}--> 
    153                                     <input id="plugin_enable" type="checkbox" name="disable" value="<!--{$plugins[data].plugin_id}-->" id="login_memory" checked="checked">有効</input><br/> 
     154                                <!--{if $plugin.enable == $smarty.const.PLUGIN_ENABLE_TRUE}--> 
     155                                    <input id="plugin_enable" type="checkbox" name="disable" value="<!--{$plugin.plugin_id}-->" id="login_memory" checked="checked">有効</input><br/> 
    154156                                <!--{else}--> 
    155                                     <input id="plugin_enable" type="checkbox" name="enable" value="<!--{$plugins[data].plugin_id}-->" id="login_memory" onclick="fnSetFormValue('plugin_id', '<!--{$plugins[data].plugin_id}-->'); return false;">有効にする</input><br/> 
     157                                    <input id="plugin_enable" type="checkbox" name="enable" value="<!--{$plugin.plugin_id}-->" id="login_memory" onclick="fnSetFormValue('plugin_id', '<!--{$plugin.plugin_id}-->'); return false;">有効にする</input><br/> 
    156158                                <!--{/if}--> 
    157159 
    158160                                <!-- アップデートリンク押下時に表示する. --> 
    159                                 <div id="plugin_update_<!--{$plugins[data].plugin_id}-->" style="display: none">                                 
    160                                     <input id="update_file_<!--{$plugins[data].plugin_id}-->" name="update_plugin_file" type="file" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" class="box30" size="30" <!--{if $arrErr[$key]}-->style="background-color:<!--{$smarty.const.ERR_COLOR|h}-->"<!--{/if}--> /> 
    161                                     <a class="btn-action" href="javascript:;" onclick="removeUpdateFile('update_file_<!--{$plugins[data].plugin_id}-->'); fnSetFormValue('plugin_id', '<!--{$plugins[data].plugin_id}-->'); fnModeSubmit('update','plugin_code','<!--{$plugins[data].plugin_code}-->');return false;"><span class="btn-next">アップデート</span></a> 
     161                                <div id="plugin_update_<!--{$plugin.plugin_id}-->" style="display: none">                                 
     162                                    <input id="update_file_<!--{$plugin.plugin_id}-->" name="<!--{$plugin.plugin_code}-->" type="file" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" class="box30" size="30" <!--{if $arrErr[$key]}-->style="background-color:<!--{$smarty.const.ERR_COLOR|h}-->"<!--{/if}--> /> 
     163                                    <a class="btn-action" href="javascript:;" onclick="removeUpdateFile('update_file_<!--{$plugin.plugin_id}-->'); fnSetFormValue('plugin_id', '<!--{$plugin.plugin_id}-->'); fnModeSubmit('update','plugin_code','<!--{$plugin.plugin_code}-->');return false;"><span class="btn-next">アップデート</span></a> 
    162164                                </div> 
    163165                        </div> 
     
    166168                <!--{assign var=key value="rank"}--> 
    167169                <td class="center"> 
    168                     <input type="text" name="priority[<!--{$plugins[data].plugin_id}-->]" value="<!--{$plugins[data].rank|h}-->" size="1" class="rank" /><br/> 
     170                    <input type="text" name="priority[<!--{$plugin.plugin_id}-->]" value="<!--{$plugin.rank|h}-->" size="1" class="rank" /><br/> 
    169171                </td> 
    170172            </tr> 
    171173            <!--競合アラート--> 
    172             <!--{if $plugins[data].conflict_message != ""}--> 
     174            <!--{if $plugin.conflict_message != ""}--> 
    173175            <tr>  
    174176                <td class="attention_fookpoint" colspan="3"> 
    175                     <p class="attention"><!--{$plugins[data].conflict_message}--></p> 
     177                    <p class="attention"><!--{$plugin.conflict_message}--></p> 
    176178                </td> 
    177179            </tr> 
     
    182184        <span>登録されているプラグインはありません。</span> 
    183185    <!--{/if}--> 
    184  
    185186</div> 
    186187</form> 
  • branches/version-2_12-dev/data/class/pages/admin/system/LC_Page_Admin_System_Plugin.php

    r21458 r21467  
    8080            case 'install': 
    8181                $file_key = "plugin_file"; 
    82                 $plugin_file = $_FILES[$file_key]; 
    83                 $this->arrErr = $this->checkUploadFile($plugin_file, $file_key); 
     82                $this->arrErr = $this->checkUploadFile($file_key); 
    8483                if($this->isError($this->arrErr) === false){ 
     84                    $plugin_file = $_FILES[$file_key]; 
    8585                    $plugin_file_name = $plugin_file['name']; 
    8686                    $plugin_code = $this->getPluginCode($plugin_file_name); 
     
    159159                $this->arrErr = $objFormParam->checkError(); 
    160160                if($this->isError($this->arrErr) === false){ 
    161                     $file_key = "update_plugin_file"; 
    162                     $update_plugin_file = $_FILES[$file_key]; 
     161                    $plugin_code = $objFormParam->getValue('plugin_code'); // アップデート対象のプラグインコード 
     162                    $this->arrErr = $this->checkUploadFile($plugin_code); 
    163163                     
    164                     $this->arrErr = $this->checkUploadFile($update_plugin_file, $file_key); 
    165164                    if($this->isError($this->arrErr) === false){ 
     165                        $update_plugin_file = $_FILES[$plugin_code]; 
    166166                        $update_plugin_file_name = $update_plugin_file['name']; // アップデートファイルのファイル名. 
    167167                        $update_plugin_code = $this->getPluginCode($update_plugin_file_name); // アップデートファイルのプラグインコード. 
    168                         $plugin_code = $objFormParam->getValue('plugin_code'); // アップデート対象のプラグインコード 
    169                         
    170168                        // インストールされているプラグインかを判定. 
    171169                        if($this->isInstalledPlugin($update_plugin_code) === true && $update_plugin_code === $plugin_code){ 
    172170                            // インストール処理. 
    173                             $this->arrErr = $this->updatePlugin($plugin_code, $update_plugin_file_name, $file_key, $objFormParam->getValue('plugin_id')); 
     171                            $this->arrErr = $this->updatePlugin($plugin_code, $update_plugin_file_name, $plugin_code, $objFormParam->getValue('plugin_id')); 
    174172                            if($this->isError($this->arrErr) === false) { 
    175173                                // テンプレート再生成. 
     
    178176                            } 
    179177                        } else { 
    180                             $this->arrErr[$file_key] = "※ プラグインファイルが不正です。<br/>"; 
    181                         } 
     178                            $this->arrErr[$plugin_code] = "※ プラグインファイルが不正です。<br/>"; 
     179                       } 
    182180                    } 
    183181                } 
    184  
    185182                break; 
    186183            // 優先度. 
     
    246243     */ 
    247244    function lfInitUploadFile(&$objUpFile, $key) { 
    248         $objUpFile->addFile("プラグインファイル", $key, array('tar', 'tar.gz'), FILE_SIZE, true, 0, 0, false); 
     245        $objUpFile->addFile("プラグインファイル", $key, explode(",", PLUGIN_EXTENSION), FILE_SIZE, true, 0, 0, false); 
    249246    } 
    250247 
     
    256253     * @return array エラー情報を格納した連想配列. 
    257254     */ 
    258     function checkUploadFile($file, $file_key) { 
    259         $arrErr = array(); 
    260          
    261         if ($file['size'] <= 0) { 
    262             $arrErr[$file_key] = '※ ファイルがアップロードされていません'; 
    263         } 
    264         return $arrErr; 
     255    function checkUploadFile($file_key) { 
     256        $objErr = new SC_CheckError_Ex(); 
     257        // 拡張子チェック 
     258        $objErr->doFunc(array('プラグインファイル', $file_key, explode(",", PLUGIN_EXTENSION)), array("FILE_EXT_CHECK")); 
     259        // ファイルサイズチェック 
     260        $objErr->doFunc(array('プラグインファイル', $file_key, FILE_SIZE), array("FILE_SIZE_CHECK")); 
     261        // ファイル名チェック 
     262        $objErr->doFunc(array('プラグインファイル', $file_key), array("FILE_NAME_CHECK")); 
     263         
     264        return $objErr->arrErr; 
    265265    } 
    266266     
     
    308308 
    309309    /** 
    310      * プラグインコードを取得する. 
    311      *  
    312      * @param string $upload_file_name アップロードファイル名 
    313      * @return string プラグインコード. 
    314      */ 
    315     function getPluginCode($upload_file_name) { 
    316         $array_ext = explode(".", $upload_file_name); 
    317         return $array_ext[0]; 
     310     * ファイル名からプラグインコードを取得する. 
     311     *  
     312     * ファイル名を「.」で配列に分解. 
     313     * 配列内から拡張子として格納される可能性のある「tar」「gz」を除外すし、再度結合する. 
     314     *  
     315     * @param string $file_name ファイル名 
     316     * @return string $plugin_code プラグインコード. 
     317     */ 
     318    function getPluginCode($file_name) { 
     319        // 分解 
     320        $array_ext = explode(".", $file_name); 
     321        $array_file_name = array_diff($array_ext, array('tar','gz')); 
     322        // 結合 
     323        $plugin_code = implode( '.', $array_file_name ); 
     324        return $plugin_code; 
    318325    } 
    319326 
     
    374381        $arrErr = $this->requirePluginFile($plugin_class_file_path, "plugin_file"); 
    375382        if ($this->isError($arrErr) === true) { 
    376             return $arrErr; 
    377         } 
    378  
     383            SC_Utils_Ex::deleteFile($plugin_dir); 
     384            return $arrErr; 
     385        } 
     386         
     387        // リフレクションオブジェクトを生成. 
     388        $objReflection = new ReflectionClass($plugin_code); 
     389         
     390        // プラグインクラスに必須となるパラメータが定義されているかチェック. 
     391        $arrErr = $this->checkPluginConstants($objReflection); 
     392        if ($this->isError($arrErr) === true) { 
     393            SC_Utils_Ex::deleteFile($plugin_dir); 
     394            return $arrErr; 
     395        } 
     396         
    379397        // プラグイン情報をDB登録 
    380         if ($this->registerData($plugin_code) === false) { 
     398        if ($this->registerData($objReflection) === false) { 
     399            SC_Utils_Ex::deleteFile($plugin_dir); 
    381400            $arrErr['plugin_file'] = "※ DB登録に失敗しました。<br/>"; 
    382401            return $arrErr; 
    383402        } 
    384  
     403         
    385404        // プラグインhtmlディレクトリ作成 
    386405        $plugin_html_dir = PLUGIN_HTML_REALDIR . $plugin_code; 
     
    390409        $arrErr = $this->execPlugin($plugin['plugin_id'], $plugin_code, "install"); 
    391410 
     411        return $arrErr; 
     412    } 
     413     
     414    /** 
     415     * プラグインクラス内の定数をチェックします. 
     416     *  
     417     * @param ReflectionClass $objReflection リフレクションオブジェクト  
     418     * @return array エラー情報を格納した連想配列. 
     419     */ 
     420    function checkPluginConstants(ReflectionClass $objReflection) { 
     421        $arrErr = array(); 
     422         
     423        if($objReflection->getConstant("PLUGIN_NAME") === false){ 
     424            $arrErr['plugin_file'] = "※ PLUGIN_NAMEが定義されていません。<br/>"; 
     425            return $arrErr; 
     426        } 
     427        if($objReflection->getConstant("PLUGIN_VERSION") === false){ 
     428            $arrErr['plugin_file'] = "※ PLUGIN_VERSIONが定義されていません。<br/>"; 
     429            return $arrErr; 
     430        } 
     431        if($objReflection->getConstant("COMPLIANT_VERSION") === false){ 
     432            $arrErr['plugin_file'] = "※ COMPLIANT_VERSIONが定義されていません。<br/>"; 
     433            return $arrErr; 
     434        } 
     435        if($objReflection->getConstant("AUTHOR") === false){ 
     436            $arrErr['plugin_file'] = "※ AUTHORが定義されていません。<br/>"; 
     437            return $arrErr; 
     438        } 
     439        if($objReflection->getConstant("DESCRIPTION") === false){ 
     440            $arrErr['plugin_file'] = "※ DESCRIPTIONが定義されていません。<br/>"; 
     441            return $arrErr; 
     442        } 
     443         
     444        $objErr = new SC_CheckError_Ex($objReflection->getConstants()); 
     445        $objErr->doFunc(array('PLUGIN_NAME', 'PLUGIN_NAME', STEXT_LEN), array("MAX_LENGTH_CHECK", )); 
     446        $objErr->doFunc(array('PLUGIN_VERSION', 'PLUGIN_VERSION', STEXT_LEN), array("MAX_LENGTH_CHECK")); 
     447        $objErr->doFunc(array('COMPLIANT_VERSION', 'COMPLIANT_VERSION', STEXT_LEN), array("MAX_LENGTH_CHECK")); 
     448        $objErr->doFunc(array('AUTHOR', 'AUTHOR', STEXT_LEN), array("MAX_LENGTH_CHECK")); 
     449        $objErr->doFunc(array('DESCRIPTION', 'DESCRIPTION', SLTEXT_LEN), array("MAX_LENGTH_CHECK")); 
     450        if($objReflection->getConstant("PLUGIN_SITE_URL") !== false){ 
     451            $objErr->doFunc(array('PLUGIN_SITE_URL', 'PLUGIN_SITE_URL', URL_LEN), array("MAX_LENGTH_CHECK","GRAPH_CHECK")); 
     452        } 
     453        if($objReflection->getConstant("AUTHOR_SITE_URL") !== false){ 
     454            $objErr->doFunc(array('AUTHOR_SITE_URL', 'AUTHOR_SITE_URL', URL_LEN), array("MAX_LENGTH_CHECK","GRAPH_CHECK")); 
     455        } 
     456        // エラー内容を出力用の配列にセットします. 
     457        if($this->isError($objErr->arrErr)){ 
     458            $arrErr['plugin_file'] = ""; 
     459            foreach ($objErr->arrErr as $error){ 
     460                    $arrErr['plugin_file'] .= $error; 
     461            } 
     462        } 
    392463        return $arrErr; 
    393464    } 
     
    410481         
    411482        // ファイルをチェックし展開します. 
    412         $arrErr = $this->unpackPluginFile($plugin_file_name, $temp_plugin_dir, $plugin_code, $file_key); 
     483        $arrErr = $this->unpackPluginFile($plugin_file_name, $temp_plugin_dir, $plugin_code, $plugin_code); 
    413484        if ($this->isError($arrErr) === true) { 
    414485            return $arrErr; 
     
    558629     * プラグイン情報をDB登録. 
    559630     * 
    560      * @param string $plugin_code プラグインコード. 
    561      * @return array エラー情報を格納した連想配列. 
    562      */ 
    563     function registerData($plugin_code) { 
    564          
     631     * @param ReflectionClass $objReflection リフレクションオブジェクト  
     632     * @return array エラー情報を格納した連想配列. 
     633     */ 
     634    function registerData(ReflectionClass $objReflection) { 
     635 
    565636        // プラグイン情報をDB登録. 
    566         // TODO:エラーチェック. 
    567637        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    568638        $objQuery->begin(); 
     
    570640        $plugin_id = $objQuery->nextVal('dtb_plugin_plugin_id'); 
    571641        $arr_sqlval_plugin['plugin_id'] = $plugin_id; 
    572         $arr_sqlval_plugin['plugin_name'] = $plugin_code::PLUGIN_NAME; 
    573         $arr_sqlval_plugin['plugin_code'] = $plugin_code; 
    574         $arr_sqlval_plugin['author'] = $plugin_code::AUTHOR; 
    575         $arr_sqlval_plugin['plugin_site_url'] = $plugin_code::PLUGIN_SITE_URL; 
    576         $arr_sqlval_plugin['plugin_version'] = $plugin_code::PLUGIN_VERSION; 
    577         $arr_sqlval_plugin['compliant_version'] = $plugin_code::COMPLIANT_VERSION; 
    578         $arr_sqlval_plugin['plugin_description'] = $plugin_code::DESCRIPTION; 
     642        $arr_sqlval_plugin['plugin_name'] = $objReflection->getConstant("PLUGIN_NAME"); 
     643        $arr_sqlval_plugin['plugin_code'] = $objReflection->getName(); 
     644        $arr_sqlval_plugin['author'] = $objReflection->getConstant("AUTHOR"); 
     645        // AUTHOR_SITE_URLが定義されているか判定. 
     646        $author_site_url = $objReflection->getConstant("AUTHOR_SITE_URL"); 
     647        if($author_site_url !== false) $arr_sqlval_plugin['author_site_url'] = $author_site_url; 
     648        // PLUGIN_SITE_URLが定義されているか判定. 
     649        $plugin_site_url = $objReflection->getConstant("PLUGIN_SITE_URL"); 
     650        if($plugin_site_url !== false) $arr_sqlval_plugin['plugin_site_url'] = $plugin_site_url; 
     651        $arr_sqlval_plugin['plugin_version'] = $objReflection->getConstant("PLUGIN_VERSION"); 
     652        $arr_sqlval_plugin['compliant_version'] = $objReflection->getConstant("COMPLIANT_VERSION"); 
     653        $arr_sqlval_plugin['plugin_description'] = $objReflection->getConstant("DESCRIPTION"); 
    579654        $arr_sqlval_plugin['rank'] = 1 + $objQuery->max('rank', 'dtb_plugin'); 
    580655        $arr_sqlval_plugin['enable'] = PLUGIN_ENABLE_FALSE; 
     
    583658 
    584659        // フックポイントをDB登録. 
    585         $array_hook_point = explode(",", $plugin_code::HOOK_POINTS); 
    586         if(is_array($array_hook_point)){ 
    587             foreach ($array_hook_point as $hook_point) { 
    588                 $arr_sqlval_plugin_hookpoint = array(); 
    589                 $id = $objQuery->nextVal('dtb_plugin_hookpoint_id'); 
    590                 $arr_sqlval_plugin_hookpoint['id'] = $id; 
    591                 $arr_sqlval_plugin_hookpoint['plugin_id'] = $plugin_id; 
    592                 $arr_sqlval_plugin_hookpoint['hook_point'] = $hook_point; 
    593                 $arr_sqlval_plugin_hookpoint['update_date'] = 'CURRENT_TIMESTAMP'; 
    594                 $objQuery->insert('dtb_plugin_hookpoint', $arr_sqlval_plugin_hookpoint); 
     660        $hook_point = $objReflection->getConstant("HOOK_POINTS"); 
     661        if($hook_point !== false){ 
     662            $array_hook_point = explode(",", $hook_point); 
     663            if(is_array($array_hook_point)){ 
     664                foreach ($array_hook_point as $hook_point) { 
     665                    $arr_sqlval_plugin_hookpoint = array(); 
     666                    $id = $objQuery->nextVal('dtb_plugin_hookpoint_id'); 
     667                    $arr_sqlval_plugin_hookpoint['id'] = $id; 
     668                    $arr_sqlval_plugin_hookpoint['plugin_id'] = $plugin_id; 
     669                    $arr_sqlval_plugin_hookpoint['hook_point'] = $hook_point; 
     670                    $arr_sqlval_plugin_hookpoint['update_date'] = 'CURRENT_TIMESTAMP'; 
     671                    $objQuery->insert('dtb_plugin_hookpoint', $arr_sqlval_plugin_hookpoint); 
     672                } 
    595673            } 
    596674        } 
  • branches/version-2_12-dev/data/mtb_constants_init.php

    r21460 r21467  
    217217/** 長い項目の文字数 (住所など) */ 
    218218define('MTEXT_LEN', 200); 
     219/** 短文の文字数 */ 
     220define('SLTEXT_LEN', 500); 
    219221/** 長中文の文字数 (問い合わせなど) */ 
    220222define('MLTEXT_LEN', 1000); 
     
    393395/** プラグイン 外部ファイルURL */ 
    394396define('PLUGIN_HTML_URL', USER_URL . PLUGIN_DIR); 
     397/** プラグインファイル登録可能拡張子(カンマ区切り)" */ 
     398define('PLUGIN_EXTENSION', "tar,tar.gz"); 
    395399/** 日数桁数 */ 
    396400define('DOWNLOAD_DAYS_LEN', 3); 
  • branches/version-2_12-dev/html/install/sql/insert_data.sql

    r21460 r21467  
    12141214INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('NOSTOCK_HIDDEN', 'false', 291, '在庫無し商品の非表示(true:非表示、false:表示)'); 
    12151215INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('USE_MULTIPLE_SHIPPING', 'true', 293, '複数配送先指定機能を利用するか(true:利用する、false:利用しない)'); 
     1216INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('SLTEXT_LEN', '500', 294, '短文の文字数'); 
    12161217INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('DEFAULT_TEMPLATE_NAME', '"default"', 300, 'デフォルトテンプレート名(PC)'); 
    12171218INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('MOBILE_DEFAULT_TEMPLATE_NAME', '"mobile"', 301, 'デフォルトテンプレート名(モバイル)'); 
     
    12571258INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('DOWNLOADS_TEMP_DIR', 'DATA_REALDIR . "downloads/tmp/"', 609, 'アップロード一時ディレクトリ'); 
    12581259INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('PLUGIN_HTML_URL', 'USER_URL . PLUGIN_DIR', 610, 'プラグイン 外部ファイルURL'); 
     1260INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('PLUGIN_EXTENSION', '"tar,tar.gz"', 611, 'プラグインファイル登録可能拡張子(カンマ区切り)'); 
    12591261INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('DOWNLOAD_DAYS_LEN', '3', 700, '日数桁数'); 
    12601262INSERT INTO mtb_constants (id, name, rank, remarks) VALUES ('DOWNLOAD_EXTENSION', '"zip,lzh,jpg,jpeg,gif,png,mp3,pdf,csv"', 701, 'ダウンロードファイル登録可能拡張子(カンマ区切り)"'); 
Note: See TracChangeset for help on using the changeset viewer.