Changeset 22641 for branches/camp/camp-2_13-plugin/data
- Timestamp:
- 2013/03/09 18:57:53 (11 years ago)
- Location:
- branches/camp/camp-2_13-plugin/data
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/camp/camp-2_13-plugin/data/Smarty/templates/admin/ownersstore/plugin_hookpoint_list.tpl
r22629 r22641 29 29 * 「有効/有効にする」チェックボタン押下時 30 30 */ 31 $('input[ id^=plugin_enable]').change(function(event) {31 $('input[name^=plugin_hookpoint_use]').change(function(event) { 32 32 // モード(有効 or 無効) 33 var mode = event.target.name; 33 var value = event.target.value; 34 var id = event.target.id; 34 35 35 if( mode === 'disable') {36 result = window.confirm(' プラグインを無効にしても宜しいですか?');36 if(value === 'f') { 37 result = window.confirm('無効にしても宜しいですか?'); 37 38 if(result === false) { 38 $(event.target).attr("checked", "checked"); 39 //$(event.target).attr("checked", "checked"); 40 event.target.value = 't'; 39 41 } 40 } else if( mode === 'enable') {41 result = window.confirm(' プラグインを有効にしても宜しいですか?');42 } else if(value === 't') { 43 result = window.confirm('有効にしても宜しいですか?'); 42 44 if(result === false) { 43 $(event.target).attr("checked", ""); 45 //$(event.target).attr("checked", "checked"); 46 event.target.value = 'f '; 44 47 } 45 48 } 46 if(result === true){ 47 // プラグインID 48 var plugin_id = event.target.value; 49 fnModeSubmit(mode, 'plugin_id', plugin_id); 50 } 51 }); 52 53 /** 54 * アップデートリンク押下時の処理. 55 */ 56 $('.update_link').click(function(event) { 57 var plugin_id = event.target.name; 58 $('div[id="plugin_update_' + plugin_id + '"]').toggle("slow"); 49 // プラグインフックID 50 fnModeSubmit('update_use', 'plugin_hookpoint_id', id); 59 51 }); 60 52 }); 61 62 /**63 * アプデートボタン押下時の処理.64 * アップデート対象ファイル以外はPOSTされない様にdisabled属性を付与65 */66 function removeUpdateFile(select_id) {67 $('input[name="update_plugin_file"]').attr("disabled", "disabled");68 $('input[id="' + select_id + '"]').removeAttr("disabled");69 }70 71 /**72 * インストール73 */74 function install() {75 if (window.confirm('プラグインをインストールしても宜しいでしょうか?')){76 fnModeSubmit('install','','');77 }78 }79 80 /**81 * アンインストール(削除)82 */83 function uninstall(plugin_id, plugin_code) {84 if (window.confirm('一度削除したデータは元に戻せません。\nプラグインを削除しても宜しいですか?')){85 fnSetFormValue('plugin_id', plugin_id);86 fnModeSubmit('uninstall', 'plugin_code', plugin_code);87 }88 }89 90 /**91 * アップデート処理92 */93 function update(plugin_id, plugin_code) {94 if (window.confirm('プラグインをアップデートしても宜しいですか?')){95 removeUpdateFile('update_file_' + plugin_id);96 fnSetFormValue('plugin_id', plugin_id);97 fnModeSubmit('update','plugin_code', plugin_code);98 }99 }100 101 102 /**103 * 優先度変更.104 */105 function update_priority(plugin_id, plugin_code) {106 var priority = $("*[name=priority_" + plugin_code +"]").val();107 fnSetFormValue('priority', priority);108 fnModeSubmit('priority','plugin_id',plugin_id);109 }110 53 111 54 //]]></script> 112 55 113 56 <!--<form name="form1" id="form1" method="post" action="?">--> 114 <form name="form1" method="post" action="?" enctype="multipart/form-data">57 <form name="form1" method="post" action="?"> 115 58 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" /> 116 59 <input type="hidden" name="mode" value="" /> 117 <input type="hidden" name="plugin_id" value="" /> 118 <input type="hidden" name="plugin_code" value="" /> 119 <input type="hidden" name="priority" value="" /> 60 <input type="hidden" name="plugin_hookpoint_id" value="" /> 120 61 <div id="system" class="contents-main"> 121 62 <h2>プラグイン競合チェック</h2> … … 127 68 <span class="attention"><!--{$arrErr.plugin_error}--></span> 128 69 <table class="system-plugin" width="900"> 129 <col width="10%" /> 130 <col width="77" /> 131 <col width="13%" /> 70 <col width="40%" /> 71 <col width="5" /> 72 <col width="40%" /> 73 <col width="15%" /> 132 74 <tr> 133 75 <th>フックポイント</th> … … 137 79 </tr> 138 80 <!--{foreach from=$arrHookPoint item=hookpoint}--> 139 <!--{foreach from=$hookpoint item=val}--> 140 141 81 <!--{foreach from=$hookpoint item=val name="plugin"}--> 142 82 <tr> 83 <!--{if $hookpoint|@count > 0 && $smarty.foreach.plugin.iteration == '1'}--> 84 <td rowspan="<!--{$hookpoint|@count}-->"><!--{$val.hook_point}--></td> 85 <!--{elseif !$smarty.foreach.plugin.iteration > 1}--> 143 86 <td><!--{$val.hook_point}--></td> 144 < td><!--{$val.priority}--></td>145 <td ><!--{$val.plugin_name}--></td>146 <td >147 plugin_hookpoint_id:<!--{$val.plugin_id}-->, plugin_id:<!--{$val.plugin_id}-->148 use_flg:<!--{$val.use_flg}--><br />87 <!--{/if}--> 88 <td<!--{if $val.use_flg == "f"}--> bgcolor="grey"<!--{/if}-->><!--{$val.priority}--></td> 89 <td<!--{if $val.use_flg == "f"}--> bgcolor="grey"<!--{/if}-->><!--{$val.plugin_name}--></td> 90 <td<!--{if $val.use_flg == "f"}--> bgcolor="grey"<!--{/if}-->> 91 <!--{html_radios name="plugin_hookpoint_use[`$val.plugin_hookpoint_id`]" options=$arrUse selected=$val.use_flg id=$val.plugin_hookpoint_id}--> 149 92 </td> 150 93 </tr> -
branches/camp/camp-2_13-plugin/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore_PluginHookPointList.php
r22629 r22641 51 51 $this->tpl_maintitle = 'オーナーズストア'; 52 52 $this->tpl_subtitle = 'プラグインフックポイント管理'; 53 54 $this->arrUse[t] = 'ON'; 55 $this->arrUse[f] = 'OFF'; 53 56 } 54 57 … … 78 81 $mode = $this->getMode(); 79 82 switch ($mode) { 80 // 削除81 case 'u ninstall':83 // ON/OFF 84 case 'update_use': 82 85 // エラーチェック 83 86 $this->arrErr = $objFormParam->checkError(); 84 if ($this->isError($this->arrErr) === false) { 85 $plugin_id = $objFormParam->getValue('plugin_id'); 86 $plugin = SC_Plugin_Util_Ex::getPluginByPluginId($plugin_id); 87 $this->arrErr = $this->uninstallPlugin($plugin); 88 if ($this->isError($this->arrErr) === false) { 89 // TODO 全プラグインのインスタンスを保持したまま後続処理が実行されるので、全てのインスタンスを解放する。 90 unset($GLOBALS['_SC_Helper_Plugin_instance']); 91 // コンパイルファイルのクリア処理 92 SC_Utils_Ex::clearCompliedTemplate(); 93 $this->tpl_onload = "alert('" . $plugin['plugin_name'] ."を削除しました。');"; 94 } 95 } 96 break; 97 // 有効化 98 case 'enable': 99 // エラーチェック 100 $this->arrErr = $objFormParam->checkError(); 101 if ($this->isError($this->arrErr) === false) { 102 $plugin_id = $objFormParam->getValue('plugin_id'); 103 // プラグイン取得. 104 $plugin = SC_Plugin_Util_Ex::getPluginByPluginId($plugin_id); 105 $this->arrErr = $this->enablePlugin($plugin); 106 if ($this->isError($this->arrErr) === false) { 107 // TODO 全プラグインのインスタンスを保持したまま後続処理が実行されるので、全てのインスタンスを解放する。 108 unset($GLOBALS['_SC_Helper_Plugin_instance']); 109 // コンパイルファイルのクリア処理 110 SC_Utils_Ex::clearCompliedTemplate(); 111 $this->tpl_onload = "alert('" . $plugin['plugin_name'] . "を有効にしました。');"; 112 } 113 } 114 break; 115 // 無効化 116 case 'disable': 117 // エラーチェック 118 $this->arrErr = $objFormParam->checkError(); 119 if ($this->isError($this->arrErr) === false) { 120 $plugin_id = $objFormParam->getValue('plugin_id'); 121 // プラグイン取得. 122 $plugin = SC_Plugin_Util_Ex::getPluginByPluginId($plugin_id); 123 $this->arrErr = $this->disablePlugin($plugin); 124 if ($this->isError($this->arrErr) === false) { 125 // TODO 全プラグインのインスタンスを保持したまま後続処理が実行されるので、全てのインスタンスを解放する。 126 unset($GLOBALS['_SC_Helper_Plugin_instance']); 127 // コンパイルファイルのクリア処理 128 SC_Utils_Ex::clearCompliedTemplate(); 129 $this->tpl_onload = "alert('" . $plugin['plugin_name'] . "を無効にしました。');"; 130 } 87 if (!(count($this->arrErr) > 0)) { 88 $arrPluginHookpointUse = $objFormParam->getValue('plugin_hookpoint_use'); 89 $plugin_hookpoint_id = $objFormParam->getValue('plugin_hookpoint_id'); 90 $use_flg = ($arrPluginHookpointUse[$plugin_hookpoint_id] == 't') ? true :false; 91 SC_Plugin_Util_Ex::setPluginHookPointChangeUse($plugin_hookpoint_id, $use_flg); 131 92 } 132 93 break; … … 157 118 * @return void 158 119 */ 159 function initParam(&$objFormParam , $mode)120 function initParam(&$objFormParam) 160 121 { 161 $objFormParam->addParam('mode', 'mode', INT_LEN, '', array('ALPHA_CHECK', 'MAX_LENGTH_CHECK')); 162 $objFormParam->addParam('plugin_id', 'plugin_id', INT_LEN, '', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 163 if ($mode === 'priority') { 164 $objFormParam->addParam('優先度', 'priority', INT_LEN, '', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); 165 } 122 $objFormParam->addParam('モード', 'mode', STEXT_LEN, '', array('MAX_LENGTH_CHECK')); 123 $objFormParam->addParam('ON/OFFフラグ', 'plugin_hookpoint_use', INT_LEN, '', array('EXIST_CHECK', 'MAX_LENGTH_CHECK')); 124 $objFormParam->addParam('プラグインフックポイントID', 'plugin_hookpoint_id', INT_LEN, '', array('NUM_CHECK', 'EXIST_CHECK', 'MAX_LENGTH_CHECK')); 166 125 } 167 126 -
branches/camp/camp-2_13-plugin/data/class/plugin/SC_Plugin_Util.php
r22629 r22641 155 155 { 156 156 $objQuery =& SC_Query_Ex::getSingletonInstance(); 157 $objQuery->setOrder(' priority DESC');157 $objQuery->setOrder('hook_point ASC, priority DESC'); 158 158 $cols = 'dtb_plugin_hookpoint.*, dtb_plugin.priority, dtb_plugin.plugin_name'; 159 159 $from = 'dtb_plugin_hookpoint LEFT JOIN dtb_plugin USING(plugin_id)'; 160 $arrRet = $objQuery->select($cols, $from); 160 $where = 'enable = 1'; 161 $arrRet = $objQuery->select($cols, $from, $where); 161 162 $arrList = array(); 162 163 foreach ($arrRet AS $key=>$val) { 163 $arrList[$val[' plugin_hookpoint_id']][$val['plugin_id']] = $val;164 $arrList[$val['hook_point']][$val['plugin_id']] = $val; 164 165 } 165 166 return $arrList; … … 192 193 return $arrErr; 193 194 } 195 196 /** 197 * フックポイントのON/OFF変更 198 * 199 * @param intger $plugin_hookpoint_id フックポイントID 200 * @return bolean $use_flg:ture=ON、false=OFF 201 */ 202 function setPluginHookPointChangeUse($plugin_hookpoint_id, $use_flg = false) { 203 $objQuery =& SC_Query_Ex::getSingletonInstance(); 204 $sqlval['use_flg'] = $use_flg; 205 $objQuery->update('dtb_plugin_hookpoint', $sqlval, 'plugin_hookpoint_id = ?', array($plugin_hookpoint_id)); 206 } 194 207 }
Note: See TracChangeset
for help on using the changeset viewer.