Changeset 21884


Ignore:
Timestamp:
2012/06/03 03:06:37 (8 years ago)
Author:
Yammy
Message:

バージョン毎のプラグイン利用に必要なモジュールのチェック機構

refs #1845

Location:
branches/version-2_12-dev/data
Files:
3 edited

Legend:

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

    r21867 r21884  
    127127                <!--{assign var=key value="plugin_file"}--> 
    128128                <span class="attention"><!--{$arrErr[$key]}--></span> 
     129                <!--{foreach item=val from=$arrErr}--> 
     130                <!--{if $val != '' && $val != $key}--><span class="attention"><!--{$val}--></span><!--{/if}--> 
     131                <!--{/foreach}--> 
     132 
    129133                <input type="file" name="<!--{ $key }-->" class="box45" size="43"  style="<!--{$arrErr[$key]|sfGetErrorColor}--> <!--{if $arrErr[$key]}--> background-color:<!--{$smarty.const.ERR_COLOR|h}--><!--{/if}-->"> 
    130134                <a class="btn-action" href="javascript:;" onclick="install(); return false;"><span class="btn-next">インストール</span></a> 
  • branches/version-2_12-dev/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php

    r21879 r21884  
    345345 
    346346        $arrErr = array(); 
     347        // 必須拡張モジュールのチェック 
     348        $arrErr = SC_Plugin_Util_Ex::checkExtension(); 
     349        if ($this->isError($arrErr) === true) { 
     350            return $arrErr; 
     351        } 
    347352        // ファイルをチェックし一時展開用ディレクトリに展開します. 
    348353        $arrErr = $this->unpackPluginFile($upload_file_file_name, DOWNLOADS_TEMP_PLUGIN_INSTALL_DIR, $key); 
  • branches/version-2_12-dev/data/class/plugin/SC_Plugin_Util.php

    r21867 r21884  
    143143        return $objQuery->select($cols, $from, $where, array($plugin_id)); 
    144144    } 
     145 
     146    /** 
     147     * プラグイン利用に必須のモジュールチェック 
     148     * 
     149     * @param array|null $arrBlocs  配置情報を含めたブロックの配列 
     150     * @return void 
     151     */ 
     152    function checkExtension() { 
     153        // プラグイン利用に必須のモジュール 
     154        // 'EC-CUBEバージョン' => array('モジュール名') 
     155        $arrRequireExtension = array( 
     156                                     '2.12.0' => array('dom'), 
     157                                    ); 
     158        // 必須拡張モジュールのチェック 
     159        $arrErr = array(); 
     160        if (is_array($arrRequireExtension[ECCUBE_VERSION])) { 
     161            foreach ($arrRequireExtension[ECCUBE_VERSION] AS $val) { 
     162                if (!extension_loaded($val)) { 
     163                    $arrErr[$val] = "※ プラグインを利用するには、拡張モジュール「${val}」が必要です。<br />"; 
     164                } 
     165            } 
     166        } 
     167        return $arrErr; 
     168    } 
     169 
    145170} 
Note: See TracChangeset for help on using the changeset viewer.