Changeset 21501 for branches/version-2_12-dev/data/class
- Timestamp:
- 2012/02/13 22:05:16 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/pages/admin/system/LC_Page_Admin_System_Plugin.php
r21490 r21501 84 84 $plugin_file_name = $plugin_file['name']; 85 85 $plugin_code = $this->getPluginCode($plugin_file_name); 86 86 87 87 // 既に登録されていないか判定. 88 88 if ($this->isInstalledPlugin($plugin_code) === false) { … … 106 106 $plugin_code = $objFormParam->getValue('plugin_code'); 107 107 $plugin_id = $objFormParam->getValue('plugin_id'); 108 108 $plugin = SC_Helper_Plugin_Ex::getPluginByPluginId($plugin_id); 109 109 110 $this->arrErr = $this->uninstallPlugin($plugin_id, $plugin_code); 110 111 // 完了メッセージアラート設定. 111 112 if ($this->isError($this->arrErr) === false) { 112 $plugin = SC_Helper_Plugin_Ex::getPluginByPluginId($plugin_id);113 113 // テンプレート再生成. 114 114 $this->remakeTemplate(); … … 182 182 // 優先度. 183 183 case 'priority': 184 // TODO 優先度の変更処理. 185 // // 優先度を取得 186 // $priority_array = $objFormParam->getValue('priority'); 187 // 188 // // 優先度の更新 189 // $objQuery =& SC_Query_Ex::getSingletonInstance(); 190 // foreach ($priority_array as $key => $value) { 191 // $sqlval['rank'] = $value; 192 // $objQuery->update('dtb_plugin', $sqlval, "plugin_id = ?", array($key)); 193 // } 194 // break; 184 // エラーチェック 185 $arrErr = $objFormParam->checkError(); 186 $plugin_id = $objFormParam->getValue('plugin_id'); 187 if ($this->isError($arrErr) === false) { 188 // 優先度の更新 189 $priority = $objFormParam->getValue('priority'); 190 $this->updatePriority($plugin_id, $priority); 191 } else { 192 // エラーメッセージを詰め直す. 193 $this->arrErr['priority'][$plugin_id] = $arrErr['priority']; 194 } 195 196 break; 195 197 default: 196 198 break; … … 231 233 $objFormParam->addParam('plugin_id', 'plugin_id', INT_LEN, '', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 232 234 $objFormParam->addParam('plugin_code', 'plugin_code', MTEXT_LEN, '', array('ALPHA_CHECK', 'MAX_LENGTH_CHECK')); 233 $objFormParam->addParam( "優先順位", 'priority', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));235 $objFormParam->addParam('優先度', 'priority', INT_LEN, '', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); 234 236 } 235 237 … … 287 289 function checkPluginFile($file_path, $plugin_code, $key_file) { 288 290 $arrErr = array(); 289 291 290 292 // Archive_Tarを生成します. 291 293 $tar_obj = new Archive_Tar($file_path); 292 294 293 295 // 圧縮ファイル名とディレクトリ名が同一であるかを判定します. 294 296 if ($this->checkUploadFileName($tar_obj, $plugin_code) === false) { … … 383 385 return $arrErr; 384 386 } 385 387 386 388 // リフレクションオブジェクトを生成. 387 389 $objReflection = new ReflectionClass($plugin_code); … … 404 406 $plugin_html_dir = PLUGIN_HTML_REALDIR . $plugin_code; 405 407 $this->makeDir($plugin_html_dir); 406 408 407 409 $plugin = SC_Helper_Plugin_Ex::getPluginByPluginCode($plugin_code); 408 410 $arrErr = $this->execPlugin($plugin['plugin_id'], $plugin_code, 'install'); 409 411 410 412 return $arrErr; 411 413 } … … 535 537 $this->makeDir($unpack_dir); 536 538 $objUpFile->moveTempFile(); 537 539 538 540 // 解凍 539 541 $update_plugin_file_path = $unpack_dir . "/" . $unpack_file_name; … … 623 625 624 626 return $arrErr; 627 } 628 629 /** 630 * 優先度を更新します. 631 * 632 * @param int $plugin_id プラグインID 633 * @param int $priority 優先度 634 * @return integer 更新件数 635 */ 636 function updatePriority($plugin_id, $priority) { 637 $objQuery =& SC_Query_Ex::getSingletonInstance(); 638 // UPDATEする値を作成する。 639 $sqlval['rank'] = $priority; 640 $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 641 $where = "plugin_id = ?"; 642 // UPDATEの実行 643 $ret = $objQuery->update('dtb_plugin', $sqlval, $where, array($plugin_id)); 644 return $ret; 625 645 } 626 646 … … 703 723 function execPlugin($plugin_id, $plugin_code, $exec_func) { 704 724 $arrErr = array(); 705 // インスタンスの生成. 706 $objPlugin = new $plugin_code(); 707 if (method_exists($objPlugin, $exec_func) === true) { 708 $arrErr = $objPlugin->$exec_func($plugin_id); 709 } else { 710 $arrErr['plugin_error'] = "※ " . $plugin_code . ".php に" . $exec_func . "が見つかりません。<br/>"; 711 } 725 if (method_exists($plugin_code, $exec_func) === true) { 726 call_user_func(array($plugin_code, $exec_func), $plugin_id); 727 } else { 728 $arrErr['plugin_error'] = "※ " . $plugin_code . ".php に" . $exec_func . "が見つかりません。<br/>"; 729 } 712 730 713 731 return $arrErr;
Note: See TracChangeset
for help on using the changeset viewer.
