Changeset 23012 for branches/version-2_13-dev/data/class/pages
- Timestamp:
- 2013/07/30 10:27:38 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13-dev/data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore.php
r22994 r23012 604 604 $arrErr = $this->execPlugin($target_plugin, 'plugin_update', 'update'); 605 605 606 // プラグイン情報を更新 607 if ($this->registerData($arrPluginInfo, 'update') === false) { 608 $this->rollBack(DOWNLOADS_TEMP_PLUGIN_UPDATE_DIR); 609 $arrErr['plugin_file'] = '※ プラグイン情報の更新に失敗しました。<br/>'; 610 return $arrErr; 611 } 612 606 613 // 保存ディレクトリの削除. 607 614 SC_Helper_FileManager_Ex::deleteFile(DOWNLOADS_TEMP_PLUGIN_UPDATE_DIR, false); … … 757 764 * 758 765 * @param array $arrPluginInfo プラグイン情報を格納した連想配列. 766 * @param string $mode モード 759 767 * @return array エラー情報を格納した連想配列. 760 768 */ 761 function registerData($arrPluginInfo )769 function registerData($arrPluginInfo, $mode = 'install') 762 770 { 763 771 // プラグイン情報をDB登録. 764 772 $objQuery =& SC_Query_Ex::getSingletonInstance(); 765 773 $arr_sqlval_plugin = array(); 766 $plugin_id = $objQuery->nextVal('dtb_plugin_plugin_id');767 $arr_sqlval_plugin['plugin_id'] = $plugin_id;768 774 $arr_sqlval_plugin['plugin_name'] = $arrPluginInfo['PLUGIN_NAME']; 769 775 $arr_sqlval_plugin['plugin_code'] = $arrPluginInfo['PLUGIN_CODE']; … … 786 792 $arr_sqlval_plugin['enable'] = PLUGIN_ENABLE_FALSE; 787 793 $arr_sqlval_plugin['update_date'] = 'CURRENT_TIMESTAMP'; 788 $objQuery->insert('dtb_plugin', $arr_sqlval_plugin); 789 794 if ($mode === 'install') { 795 // 新規登録 796 $plugin_id = $objQuery->nextVal('dtb_plugin_plugin_id'); 797 $arr_sqlval_plugin['plugin_id'] = $plugin_id; 798 $objQuery->insert('dtb_plugin', $arr_sqlval_plugin); 799 } elseif($mode === 'update') { 800 // 情報を更新 801 $plugin_id = $objQuery->get('plugin_id', 'dtb_plugin', 'plugin_code = ? ', array($arrPluginInfo['PLUGIN_CODE'])); 802 $arrUnsetKeys = array('plugin_code', 'priority', 'enable'); 803 foreach ($arrUnsetKeys as $key) { 804 unset($arr_sqlval_plugin[$key]); 805 } 806 $objQuery->update('dtb_plugin', $arr_sqlval_plugin, 'plugin_id = ?', array($plugin_id)); 807 // 該当プラグインのフックポイントを一旦削除 808 $objQuery->delete('dtb_plugin_hookpoint', 'plugin_id = ? ', array($plugin_id)); 809 } else { 810 GC_Utils_Ex::gfPrintLog("モードの指定が不正($mode)", ERROR_LOG_REALFILE); 811 return false; 812 } 813 790 814 // フックポイントをDB登録. 791 815 $hook_point = $arrPluginInfo['HOOK_POINTS'];
Note: See TracChangeset
for help on using the changeset viewer.