Changeset 21512 for branches/version-2_12-dev/data
- Timestamp:
- 2012/02/15 19:38:35 (14 years ago)
- Location:
- branches/version-2_12-dev/data
- Files:
-
- 6 edited
-
Smarty/templates/admin/system/plugin.tpl (modified) (6 diffs)
-
class/helper/SC_Helper_Plugin.php (modified) (7 diffs)
-
class/pages/admin/system/LC_Page_Admin_System_Plugin.php (modified) (2 diffs)
-
class/plugin/SC_Plugin_TemplateSelector.php (modified) (6 diffs)
-
class/plugin/SC_Plugin_TemplateTransformList.php (modified) (8 diffs)
-
class/plugin/SC_Plugin_TemplateTransformer.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/Smarty/templates/admin/system/plugin.tpl
r21501 r21512 25 25 $(function() { 26 26 27 /** 28 * 「有効/有効にする」チェックボタン押下時 29 * ajaxでPOSTする. 30 */ 27 31 $('input[id^=plugin_enable]').change(function(event) { 28 32 var data = {}; … … 54 58 }); 55 59 56 /** 57 * 通信エラー表示. 58 */ 59 function remoteException(XMLHttpRequest, textStatus, errorThrown) { 60 alert('通信中にエラーが発生しました。'); 61 } 62 60 /** 61 * 通信エラー表示. 62 */ 63 function remoteException(XMLHttpRequest, textStatus, errorThrown) { 64 alert('通信中にエラーが発生しました。'); 65 } 66 67 /** 68 * アップデートリンク押下時の処理. 69 */ 63 70 $('.update_link').click(function(event) { 64 71 var plugin_id = event.target.name; … … 67 74 }); 68 75 69 76 /** 77 * アプデートボタン押下時の処理. 78 * アップデート対象ファイル以外はPOSTされない様にdisabled属性を付与 79 */ 70 80 function removeUpdateFile(select_id) { 71 81 $('input[name="update_plugin_file"]').attr("disabled", "disabled"); 72 82 $('input[id="' + select_id + '"]').removeAttr("disabled"); 73 83 } 74 84 85 /** 86 * インストール 87 */ 75 88 function install() { 76 89 if (window.confirm('プラグインをインストールしても宜しいでしょうか?')){ 77 fnModeSubmit('install' , '', '');90 fnModeSubmit('install'); 78 91 } 79 92 } 80 93 94 /** 95 * アンインストール(削除) 96 */ 81 97 function uninstall(plugin_id, plugin_code) { 82 98 if (window.confirm('一度削除したデータは元に戻せません。\nプラグインを削除しても宜しいですか?')){ … … 86 102 } 87 103 104 /** 105 * アップデート 106 */ 88 107 function update(plugin_id, plugin_code) { 89 108 if (window.confirm('プラグインをアップデートしても宜しいですか?')){ … … 94 113 } 95 114 96 function priority(plugin_id) { 97 if (window.confirm('プラグインをアップデートしても宜しいですか?')){ 98 fnModeSubmit('priority','plugin_id',plugin_id); 99 } 100 } 101 115 116 /** 117 * 優先度変更. 118 */ 119 function priority(plugin_id, plugin_code) { 120 var priority = $("*[name=priority_" + plugin_code +"]").val(); 121 fnSetFormValue('priority', priority); 122 fnModeSubmit('priority','plugin_id',plugin_id); 123 } 102 124 103 125 //]]> … … 202 224 </td> 203 225 <!--優先順位--> 204 <!--{assign var=key value="rank"}-->205 226 <td class="center"> 206 227 <span class="attention"><!--{$arrErr.priority[$plugin.plugin_id]}--></span> 207 <input type="text" class="center" name="priority " value="<!--{$plugin.rank|h}-->" size="1" class="rank" />208 <a class="btn-action" href="javascript:;" onclick="priority(<!--{$plugin.plugin_id}--> );return false;"><span class="btn-next">変更</span></a><br/>228 <input type="text" class="center" name="priority_<!--{$plugin.plugin_code}-->" value="<!--{$plugin.priority|h}-->" size="1" class="priority" /> 229 <a class="btn-action" href="javascript:;" onclick="priority(<!--{$plugin.plugin_id}-->, '<!--{$plugin.plugin_code}-->');return false;"><span class="btn-next">変更</span></a><br/> 209 230 </td> 210 231 </tr> -
branches/version-2_12-dev/data/class/helper/SC_Helper_Plugin.php
r21486 r21512 64 64 $this->arrPluginIds[] = $arrPluginData['plugin_id']; 65 65 // ローカルフックポイントの登録. 66 $this->registLocalHookPoint($objPlugin, $arrPluginData[' rank']);66 $this->registLocalHookPoint($objPlugin, $arrPluginData['priority']); 67 67 // スーパーフックポイントの登録. 68 $this->registSuperHookPoint($objPlugin, HOOK_POINT_PREPROCESS, 'preProcess', $arrPluginData[' rank']);69 $this->registSuperHookPoint($objPlugin, HOOK_POINT_PROCESS, 'process', $arrPluginData[' rank']);68 $this->registSuperHookPoint($objPlugin, HOOK_POINT_PREPROCESS, 'preProcess', $arrPluginData['priority']); 69 $this->registSuperHookPoint($objPlugin, HOOK_POINT_PROCESS, 'process', $arrPluginData['priority']); 70 70 } 71 71 } … … 100 100 && is_array($this->arrRegistedPluginActions[$hook_point])) { 101 101 102 k sort($this->arrRegistedPluginActions[$hook_point]);102 krsort($this->arrRegistedPluginActions[$hook_point]); 103 103 foreach ($this->arrRegistedPluginActions[$hook_point] as $priority => $arrFuncs) { 104 104 105 105 foreach ($arrFuncs as $func) { 106 106 if (!is_null($func['function'])) { … … 122 122 // XXX 2.11.0 互換のため 123 123 $arrCols = $objQuery->listTableFields($table); 124 if (in_array(' rank', $arrCols)) {125 $objQuery->setOrder(' rank DESC');124 if (in_array('priority', $arrCols)) { 125 $objQuery->setOrder('priority DESC, plugin_id ASC'); 126 126 } 127 127 $arrRet = $objQuery->select($col,$table,$where); … … 140 140 // XXX 2.11.0 互換のため 141 141 $arrCols = $objQuery->listTableFields($table); 142 if (in_array(' rank', $arrCols)) {142 if (in_array('priority', $arrCols)) { 143 143 $objQuery->setOrder('plugin_id ASC'); 144 144 } … … 158 158 $table = 'dtb_plugin'; 159 159 $where = 'plugin_id = ?'; 160 // XXX 2.11.0 互換のため161 $arrCols = $objQuery->listTableFields($table);162 if (in_array('rank', $arrCols)) {163 $objQuery->setOrder('rank ASC');164 }165 160 $plugin = $objQuery->getRow($col, $table, $where, array($plugin_id)); 166 161 return $plugin; … … 178 173 $table = 'dtb_plugin'; 179 174 $where = 'plugin_code = ?'; 180 // XXX 2.11.0 互換のため181 $arrCols = $objQuery->listTableFields($table);182 if (in_array('rank', $arrCols)) {183 $objQuery->setOrder('rank ASC');184 }185 175 $plugin = $objQuery->getRow($col, $table, $where, array($plugin_code)); 186 176 return $plugin; … … 310 300 SC_Utils_Ex::deleteFile(PLUGIN_TMPL_CACHE_REALDIR, false); 311 301 } 312 $objTemplateTransformList = SC_Plugin_Template _Transform_List::getSingletonInstance();302 $objTemplateTransformList = SC_Plugin_TemplateTransformList::getSingletonInstance(); 313 303 $objTemplateTransformList->init(); 304 // プラグインのsetTemplateTransformerを実行します. 314 305 foreach ($this->arrPluginInstances as $objPlugin) { 315 // TODO 関数チェック; 316 $objPlugin->setTemplateTransformer(); 317 } 318 // トランスフォーム実行 306 if(method_exists($objPlugin, 'setTemplateTransformer') === true) { 307 // SC_Plugin_TemplateTransformList::arrConfsByTemplatesにトランスフォーム情報をセットします 308 $objPlugin->setTemplateTransformer(); 309 } 310 } 311 // SC_Plugin_TemplateTransformList::arrConfsByTemplatesにセットされた情報を元にトランスフォームの実行 319 312 $objTemplateTransformList->transformAll($test_mode); 320 313 } -
branches/version-2_12-dev/data/class/pages/admin/system/LC_Page_Admin_System_Plugin.php
r21509 r21512 637 637 $objQuery =& SC_Query_Ex::getSingletonInstance(); 638 638 // UPDATEする値を作成する。 639 $sqlval[' rank'] = $priority;639 $sqlval['priority'] = $priority; 640 640 $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 641 641 $where = "plugin_id = ?"; … … 671 671 $arr_sqlval_plugin['compliant_version'] = $objReflection->getConstant('COMPLIANT_VERSION'); 672 672 $arr_sqlval_plugin['plugin_description'] = $objReflection->getConstant('DESCRIPTION'); 673 $arr_sqlval_plugin[' rank'] = 1 + $objQuery->max('rank', 'dtb_plugin');673 $arr_sqlval_plugin['priority'] = 0; 674 674 $arr_sqlval_plugin['enable'] = PLUGIN_ENABLE_FALSE; 675 675 $arr_sqlval_plugin['update_date'] = 'CURRENT_TIMESTAMP'; -
branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateSelector.php
r21509 r21512 39 39 * コンストラクタ 40 40 * 41 * @param SC_Plugin_TemplateTransform List $objTransformer SC_Plugin_TemplateTransformListオブジェクト41 * @param SC_Plugin_TemplateTransformer $objTransformer SC_Plugin_TemplateTransformerオブジェクト 42 42 * @param string $current_plugin プラグイン名 43 43 * @return void 44 44 */ 45 function __construct(SC_Plugin_TemplateTransform List$objTransformer, $current_plugin) {45 function __construct(SC_Plugin_TemplateTransformer $objTransformer, $current_plugin) { 46 46 $this->objTransformer = $objTransformer; 47 47 $this->current_plugin = $current_plugin; … … 74 74 * @return SC_Plugin_TemplateSelector SC_Plugin_TemplateSelectorオブジェクト 75 75 */ 76 function find($selector, $index = NULL, $require = true, $err_msg = NULL , SC_Plugin_TemplateSelector $objSelector = NULL, $parent_index = NULL) {76 function find($selector, $index = NULL, $require = true, $err_msg = NULL) { 77 77 $objSelectorChild = new SC_Plugin_TemplateSelector($this->objTransformer, $this->current_plugin); 78 foreach ($this->arrElements as $key =>&$objElement) {78 foreach ($this->arrElements as &$objElement) { 79 79 $this->objTransformer->find($selector, $index, false, NULL, $objSelectorChild, $objElement[0]); 80 80 } … … 97 97 */ 98 98 function insertBefore($html_snip) { 99 foreach ($this->arrElements as $ key => $objElement) {99 foreach ($this->arrElements as $objElement) { 100 100 $this->objTransformer->setTransform('insertBefore', $objElement[0], $html_snip); 101 101 } … … 110 110 */ 111 111 function insertAfter($html_snip) { 112 foreach ($this->arrElements as $ key => $objElement) {112 foreach ($this->arrElements as $objElement) { 113 113 $this->objTransformer->setTransform('insertAfter', $objElement[0], $html_snip); 114 114 } … … 123 123 */ 124 124 function appendChild($html_snip) { 125 foreach ($this->arrElements as $ key => $objElement) {125 foreach ($this->arrElements as $objElement) { 126 126 $this->objTransformer->setTransform('appendChild', $objElement[0], $html_snip); 127 127 } … … 136 136 */ 137 137 function replaceChild($html_snip) { 138 foreach ($this->arrElements as $key =>&$objElement) {138 foreach ($this->arrElements as &$objElement) { 139 139 $this->objTransformer->setTransform('replaceChild', $objElement[0], $html_snip); 140 140 } -
branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateTransformList.php
r21509 r21512 32 32 class SC_Plugin_TemplateTransformList { 33 33 34 // トランスフォームするテンプレートの配列34 // テンプレート毎のSC_Plugin_TemplateTransformerのインスタンス. 35 35 var $arrConfsByTemplates; 36 // プラグインが介入するテンプレートの配列 36 37 var $arrTemplatesByPlugin; 38 // HeadNaviに追加するブロックの配列 37 39 var $arrBlocsByPlugin; 38 40 … … 56 58 function init() { 57 59 $this->arrConfsByTemplates = array(); 58 // プラグインが介入するテンプレートの配列59 60 $this->arrTemplatesByPlugin = array(); 60 // HeadNaviに追加するブロックの配列61 61 $this->arrHeadNaviBlocsByPlugin = array(); 62 62 } … … 66 66 * 67 67 * @param streing $tmpl 設定対象のテンプレートパス 68 * @param SC_Plugin_Base $objPlugin プラグイン オブジェクト69 * @return SC_Plugin_TemplateTransform List 指定したテンプレートを transform するための SC_Plugin_TemplateTransformListオブジェクト68 * @param SC_Plugin_Base $objPlugin プラグインインスタンス 69 * @return SC_Plugin_TemplateTransformer 指定したテンプレートを transform するための SC_Plugin_TemplateTransformer オブジェクト 70 70 */ 71 71 function setTemplate($tmpl, SC_Plugin_Base $objPlugin) { 72 72 $this->arrTemplatesByPlugin[$objPlugin->arrSelfInfo['class_name']][$tmpl] = 1; 73 73 74 if (!is_array($this->arrConfsByTemplates)) $this->arrConfsByTemplates = array(); 74 if (!is_array($this->arrConfsByTemplates)) $this->arrConfsByTemplates = array(); // 初期化 75 75 if (!array_key_exists($tmpl, $this->arrConfsByTemplates)) { 76 76 // テンプレートパスをキーにトランスフォーマのインスタンスをセット. 77 $this->arrConfsByTemplates[$tmpl] = new SC_Plugin_TemplateTransform List($tmpl);77 $this->arrConfsByTemplates[$tmpl] = new SC_Plugin_TemplateTransformer($tmpl); 78 78 } 79 79 // 処理を行うプラグイン名をセットする. … … 87 87 * @param streing $tmpl 設定対象のテンプレートのパス(adminディレクトリからの相対パス) 88 88 * @param SC_Plugin_Base $objPlugin プラグインオブジェクト 89 * @return SC_Plugin_TemplateTransform List SC_Plugin_TemplateTransformListオブジェクト89 * @return SC_Plugin_TemplateTransformer SC_Plugin_TemplateTransformer オブジェクト 90 90 */ 91 91 function setTemplateAdmin($tmpl, SC_Plugin_Base $objPlugin) { … … 98 98 * @param streing $tmpl 設定対象のテンプレートのパス(PCディレクトリからの相対パス) 99 99 * @param SC_Plugin_Base $objPlugin プラグインオブジェクト 100 * @return SC_Plugin_TemplateTransform List SC_Plugin_TemplateTransformListオブジェクト100 * @return SC_Plugin_TemplateTransformer SC_Plugin_TemplateTransformer オブジェクト 101 101 */ 102 102 function setTemplatePC($tmpl, SC_Plugin_Base $objPlugin) { … … 109 109 * @param streing $tmpl 設定対象のテンプレートのパス(携帯ディレクトリからの相対パス) 110 110 * @param SC_Plugin_Base $objPlugin プラグインオブジェクト 111 * @return SC_Plugin_TemplateTransform List SC_Plugin_TemplateTransformListオブジェクト111 * @return SC_Plugin_TemplateTransformer SC_Plugin_TemplateTransformer オブジェクト 112 112 */ 113 113 function setTemplateMobile($tmpl, SC_Plugin_Base $objPlugin) { … … 120 120 * @param streing $tmpl 設定対象のテンプレートのパス(スマホディレクトリからの相対パス) 121 121 * @param SC_Plugin_Base $objPlugin プラグインオブジェクト 122 * @return SC_Plugin_TemplateTransform List SC_Plugin_TemplateTransformListオブジェクト122 * @return SC_Plugin_TemplateTransformer SC_Plugin_TemplateTransformer オブジェクト 123 123 */ 124 124 function setTemplateSphone($tmpl, SC_Plugin_Base $objPlugin) { … … 143 143 */ 144 144 function transformAll($test_mode = false) { 145 // SC_Plugin_TemplateTransformerの配列. 145 146 foreach ($this->arrConfsByTemplates as $tmpl => $objTransformaer) { 146 147 $objTransformaer->saveHTMLFile($tmpl, $test_mode); -
branches/version-2_12-dev/data/class/plugin/SC_Plugin_TemplateTransformer.php
r21509 r21512 30 30 * @version $Id: $ 31 31 */ 32 class SC_Plugin_TemplateTransform List{32 class SC_Plugin_TemplateTransformer { 33 33 34 34 var $objDOM; … … 50 50 * @return void 51 51 */ 52 function SC_Plugin_TemplateTransform List($tmpl) {52 function SC_Plugin_TemplateTransformer($tmpl) { 53 53 $this->objDOM = new DOMDocument(); 54 54 $this->objDOM->strictErrorChecking = false; … … 424 424 * 変形済みファイルを書き出す 425 425 * 426 * @param string $filename ファイル名. 426 427 * @param boolean $test_mode 427 428 * @return mixed 書き出しに成功した場合は,書き出したファイルのパス. 失敗した場合は false.
Note: See TracChangeset
for help on using the changeset viewer.
