Changeset 23124 for branches/version-2_13-dev/data/class/plugin
- Timestamp:
- 2013/08/24 23:33:52 (11 years ago)
- Location:
- branches/version-2_13-dev/data/class/plugin
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13-dev/data/class/plugin/SC_Plugin_Base.php
r22978 r23124 38 38 * コンストラクタ 39 39 * 40 * @param array $arrSelfInfo 自身のプラグイン情報40 * @param array $arrSelfInfo 自身のプラグイン情報 41 41 * @return void 42 42 */ 43 function __construct(array $arrSelfInfo)43 public function __construct(array $arrSelfInfo) 44 44 { 45 45 $this->arrSelfInfo = $arrSelfInfo; … … 50 50 * 引数にはdtb_pluginのプラグイン情報が渡されます. 51 51 * 52 * @param array $arrPlugin plugin_infoを元にDBに登録されたプラグイン情報(dtb_plugin)52 * @param array $arrPlugin plugin_infoを元にDBに登録されたプラグイン情報(dtb_plugin) 53 53 * @return void 54 54 */ 55 function install($arrPlugin, $objPluginInstaller = null) {56 55 public function install($arrPlugin, $objPluginInstaller = null) 56 { 57 57 } 58 58 … … 62 62 * 引数にはdtb_pluginのプラグイン情報が渡されます. 63 63 * 64 * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin)64 * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin) 65 65 * @return void 66 66 */ 67 function uninstall($arrPlugin, $objPluginInstaller = null) {68 67 public function uninstall($arrPlugin, $objPluginInstaller = null) 68 { 69 69 } 70 70 … … 74 74 * 引数にはdtb_pluginのプラグイン情報が渡されます. 75 75 * 76 * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin)76 * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin) 77 77 * @return void 78 78 */ 79 function enable($arrPlugin, $objPluginInstaller = null) {80 79 public function enable($arrPlugin, $objPluginInstaller = null) 80 { 81 81 } 82 82 … … 86 86 * 引数にはdtb_pluginのプラグイン情報が渡されます. 87 87 * 88 * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin)88 * @param array $arrPlugin プラグイン情報の連想配列(dtb_plugin) 89 89 * @return void 90 90 */ 91 function disable($arrPlugin, $objPluginInstaller = null) {92 91 public function disable($arrPlugin, $objPluginInstaller = null) 92 { 93 93 } 94 94 … … 96 96 * プラグインヘルパーへ, コールバックメソッドを登録します. 97 97 * 98 * @param object $objPluginHelper98 * @param object $objPluginHelper 99 99 * @param integer $priority 100 100 */ 101 function register(SC_Helper_Plugin $objHelperPlugin, $priority)101 public function register(SC_Helper_Plugin $objHelperPlugin, $priority) 102 102 { 103 103 if (isset($this->arrSelfInfo['plugin_hook_point'])) { … … 118 118 * @return array $arrSelfInfo 自身のプラグイン情報 119 119 */ 120 function getPluginInfo()120 public function getPluginInfo() 121 121 { 122 122 return $this->arrSelfInfo; -
branches/version-2_13-dev/data/class/plugin/SC_Plugin_Installer.php
r22990 r23124 21 21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 22 22 */ 23 class SC_Plugin_Installer {24 23 class SC_Plugin_Installer 24 { 25 25 protected $exec_func; 26 26 27 27 protected $plugin_code; 28 28 29 29 protected $arrPlugin; 30 30 31 31 protected $arrInstallData; 32 33 public function __construct($exec_func, $arrPlugin) { 32 33 public function __construct($exec_func, $arrPlugin) 34 { 34 35 $this->exec_func = $exec_func; 35 36 $this->plugin_code = $arrPlugin['plugin_code']; … … 45 46 $this->arrInstallData['remove_directory'] = array(); 46 47 } 47 48 public function execPlugin() { 48 49 public function execPlugin() 50 { 49 51 $this->log("start"); 50 52 51 53 $plugin_code = $this->arrPlugin['plugin_code']; 52 54 … … 65 67 } 66 68 } 67 69 68 70 if (count($arrErr) > 0) { 69 71 return $arrErr; 70 72 } 71 73 72 74 $objQuery =& SC_Query_Ex::getSingletonInstance(); 73 75 74 76 // SQLの実行 75 77 foreach ($arrSql as $sql) { … … 77 79 $objQuery->query($sql['sql'], $sql['params']); 78 80 } 79 81 80 82 $arrInsertQuery = $this->arrInstallData['insert']; 81 83 foreach ($arrInsertQuery as $query) { … … 89 91 ); 90 92 } 91 93 92 94 $arrUpdateQuery = $this->arrInstallData['update']; 93 95 foreach ($arrUpdateQuery as $query) { … … 101 103 ); 102 104 } 103 105 104 106 // プラグインのディレクトリコピー 105 107 $arrCopyDirectories = $this->arrInstallData['copy_directory']; … … 122 124 PLUGIN_HTML_REALDIR . $plugin_code . DIRECTORY_SEPARATOR . $file['dist']); 123 125 } 124 125 $this->log("end"); 126 } 127 128 public function copyFile($src, $dist) { 126 127 $this->log("end"); 128 } 129 130 public function copyFile($src, $dist) 131 { 129 132 $this->arrInstallData['copy_file'][] = array( 130 133 'src' => $src, … … 132 135 ); 133 136 } 134 135 public function copyDirectory($src, $dist) { 137 138 public function copyDirectory($src, $dist) 139 { 136 140 $this->arrInstallData['copy_directory'][] = array( 137 141 'src' => $src, 138 142 'dist' => $dist 139 ); 140 } 141 142 public function removeFile($dist) { 143 ); 144 } 145 146 public function removeFile($dist) 147 { 143 148 $this->arrInstallData['remove_file'][] = array( 144 149 'dist' => $dist 145 150 ); 146 151 } 147 148 public function removeDirectory($dist) { 152 153 public function removeDirectory($dist) 154 { 149 155 $this->arrInstallData['remove_directory'][] = array( 150 156 'dist' => $dist 151 ); 152 } 153 154 public function sql($sql, array $params = array()) { 157 ); 158 } 159 160 public function sql($sql, array $params = array()) 161 { 155 162 $this->arrInstallData['sql'][] = array( 156 163 'sql' => $sql, … … 158 165 ); 159 166 } 160 161 protected function log($msg) { 167 168 protected function log($msg) 169 { 162 170 $msg = sprintf("%s %s: %s", $this->plugin_code, $this->exec_func, $msg); 163 171 GC_Utils::gfPrintLog($msg, PLUGIN_LOG_REALFILE); 164 172 } 165 173 166 174 /** 167 175 * カラム追加クエリの追加 168 * 176 * 169 177 * @param type $table 170 178 * @param type $col 171 * @param type $type 179 * @param type $type 172 180 */ 173 function addColumn($table_name, $col_name, $col_type) { 181 public function addColumn($table_name, $col_name, $col_type) 182 { 174 183 $sql = "ALTER TABLE $table_name ADD $col_name $col_type "; 175 184 $this->sql($sql); 176 185 } 177 186 178 187 /** 179 188 * カラム削除クエリの追加 180 * 189 * 181 190 * @param type $table 182 191 * @param type $col 183 * @param type $type 192 * @param type $type 184 193 */ 185 function dropColumn($table_name, $col_name) { 194 public function dropColumn($table_name, $col_name) 195 { 186 196 $sql = "ALTER TABLE $table_name DROP $col_name"; 187 197 $this->sql($sql); 188 198 } 189 190 function insert($table, $arrVal, $arrSql = array(), $arrSqlVal = array(), $from = '', $arrFromVal = array()) { 199 200 public function insert($table, $arrVal, $arrSql = array(), $arrSqlVal = array(), $from = '', $arrFromVal = array()) 201 { 191 202 $this->arrInstallData['insert'][] = array( 192 203 'table' => $table, 193 'arrVal' => $arrVal, 194 'arrSql' => $arrSql, 195 'arrSqlVal' => $arrSqlVal, 204 'arrVal' => $arrVal, 205 'arrSql' => $arrSql, 206 'arrSqlVal' => $arrSqlVal, 196 207 'form' =>$from, 197 208 'arrFromVal' => $arrFromVal 198 209 ); 199 210 } 200 201 function update($table, $arrVal, $where = '', $arrWhereVal = array(), $arrRawSql = array(), $arrRawSqlVal = array()) { 211 212 public function update($table, $arrVal, $where = '', $arrWhereVal = array(), $arrRawSql = array(), $arrRawSqlVal = array()) 213 { 202 214 $this->arrInstallData['update'][] = array( 203 215 'table' => $table, 204 'arrVal' => $arrVal, 205 'where' => $where, 206 'arrWhereVal' => $arrWhereVal, 216 'arrVal' => $arrVal, 217 'where' => $where, 218 'arrWhereVal' => $arrWhereVal, 207 219 'arrRawSql' =>$arrRawSql, 208 220 'arrRawSqlVal' => $arrRawSqlVal 209 221 ); 210 222 } 211 223 212 224 /** 213 * 225 * 214 226 * @param string $sql 215 * @param type $params227 * @param type $params 216 228 */ 217 protected function verifySql($sql, $params) { 229 protected function verifySql($sql, $params) 230 { 218 231 // FIXME $paramsのチェックも行いたい. 219 232 $objQuery =& SC_Query_Ex::getSingletonInstance(); 220 233 221 234 // force runを有効にし, システムエラーを回避する 222 235 $objQuery->force_run = true; … … 228 241 $error_message = $sth->message . ":" . $sth->userinfo; 229 242 $objQuery->force_run = false; 243 230 244 return $error_message; 231 245 } 232 246 233 247 $sth->free(); 234 248 // force_runをもとに戻す. 235 249 $objQuery->force_run = false; 236 250 237 251 return $error_message; 238 252 } -
branches/version-2_13-dev/data/class/plugin/SC_Plugin_Util.php
r22986 r23124 28 28 * 稼働中のプラグインを取得する。 29 29 */ 30 function getEnablePlugin()30 public function getEnablePlugin() 31 31 { 32 32 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 57 57 * @return array $arrRet インストールされているプラグイン. 58 58 */ 59 function getAllPlugin()59 public function getAllPlugin() 60 60 { 61 61 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 75 75 * プラグインIDをキーにプラグインを取得する。 76 76 * 77 * @param int$plugin_id プラグインID.77 * @param int $plugin_id プラグインID. 78 78 * @return array プラグインの基本情報. 79 79 */ 80 function getPluginByPluginId($plugin_id)80 public function getPluginByPluginId($plugin_id) 81 81 { 82 82 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 92 92 * プラグインコードをキーにプラグインを取得する。 93 93 * 94 * @param string $plugin_code プラグインコード.95 * @return array プラグインの基本情報.96 */ 97 function getPluginByPluginCode($plugin_code)94 * @param string $plugin_code プラグインコード. 95 * @return array プラグインの基本情報. 96 */ 97 public function getPluginByPluginCode($plugin_code) 98 98 { 99 99 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 109 109 * プラグインIDをキーにプラグインを削除する。 110 110 * 111 * @param string $plugin_id プラグインID.112 * @return array プラグインの基本情報.113 */ 114 function deletePluginByPluginId($plugin_id)111 * @param string $plugin_id プラグインID. 112 * @return array プラグインの基本情報. 113 */ 114 public function deletePluginByPluginId($plugin_id) 115 115 { 116 116 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 125 125 * @return array $arrPluginDirectory 126 126 */ 127 function getPluginDirectory()127 public function getPluginDirectory() 128 128 { 129 129 $arrPluginDirectory = array(); … … 143 143 * プラグインIDをキーに, プラグインフックポイントを取得する. 144 144 * 145 * @param integer $plugin_id146 * @param integer $use_type1=有効のみ 2=無効のみ 3=全て147 * @return array フックポイントの一覧148 */ 149 function getPluginHookPoint($plugin_id, $use_type = 1)145 * @param integer $plugin_id 146 * @param integer $use_type 1=有効のみ 2=無効のみ 3=全て 147 * @return array フックポイントの一覧 148 */ 149 public function getPluginHookPoint($plugin_id, $use_type = 1) 150 150 { 151 151 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 166 166 break; 167 167 } 168 168 169 return $objQuery->select($cols, $from, $where, array($plugin_id)); 169 170 } … … 172 173 * プラグインフックポイントを取得する. 173 174 * 174 * @param integer $use_type 1=有効のみ 2=無効のみ 3=全て175 * @return array フックポイントの一覧176 */ 177 function getPluginHookPointList($use_type = 3)175 * @param integer $use_type 1=有効のみ 2=無効のみ 3=全て 176 * @return array フックポイントの一覧 177 */ 178 public function getPluginHookPointList($use_type = 3) 178 179 { 179 180 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 195 196 break; 196 197 } 198 197 199 return $objQuery->select($cols, $from, $where); 198 200 //$arrList = array(); … … 206 208 * プラグイン利用に必須のモジュールチェック 207 209 * 208 * @param string $keyエラー情報を格納するキー209 * @return array $arrErr エラー情報を格納した連想配列.210 */ 211 function checkExtension($key)210 * @param string $key エラー情報を格納するキー 211 * @return array $arrErr エラー情報を格納した連想配列. 212 */ 213 public function checkExtension($key) 212 214 { 213 215 // プラグイン利用に必須のモジュール … … 234 236 * フックポイントのON/OFF変更 235 237 * 236 * @param intger $plugin_hookpoint_idフックポイントID238 * @param intger $plugin_hookpoint_id フックポイントID 237 239 * @return bolean $use_flg:1=ON、0=OFF 238 240 */ 239 function setPluginHookPointChangeUse($plugin_hookpoint_id, $use_flg = 0) { 241 public function setPluginHookPointChangeUse($plugin_hookpoint_id, $use_flg = 0) 242 { 240 243 $objQuery =& SC_Query_Ex::getSingletonInstance(); 241 244 $sqlval['use_flg'] = $use_flg; … … 246 249 * フックポイントで衝突する可能性のあるプラグインを判定.メッセージを返します. 247 250 * 248 * @param int$plugin_id プラグインID251 * @param int $plugin_id プラグインID 249 252 * @return string $conflict_alert_message メッセージ 250 253 */ 251 function checkConflictPlugin($plugin_id = '')254 public function checkConflictPlugin($plugin_id = '') 252 255 { 253 256 // フックポイントを取得します. … … 288 291 $conflict_alert_message .= '* ' . $conflictPluginName . 'と競合する可能性があります。<br/>'; 289 292 } 293 290 294 return $conflict_alert_message; 291 295 } else {
Note: See TracChangeset
for help on using the changeset viewer.