[Svn-src-all:4300] [version-2_13_0 23214] #2375 foreach前に空白チェックを追加します

m_uehara admin @ mail.ec-cube.net
2013年 9月 11日 (水) 12:35:12 JST


Subversion committed to /home/svn/open 23214
http://svn.ec-cube.net/open_trac/changeset/23214
┌────────────────────────────┐
│更新者 :  m_uehara                                     │
│更新日時:  2013-09-11 12:35:12 +0900 (水, 11  9月 2013)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#2375 foreach前に空白チェックを追加します

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_13_0/data/class/plugin/SC_Plugin_Installer.php

変更: branches/version-2_13_0/data/class/plugin/SC_Plugin_Installer.php
===================================================================
--- branches/version-2_13_0/data/class/plugin/SC_Plugin_Installer.php	2013-09-11 03:03:53 UTC (rev 23213)
+++ branches/version-2_13_0/data/class/plugin/SC_Plugin_Installer.php	2013-09-11 03:35:12 UTC (rev 23214)
@@ -74,54 +74,64 @@
         $objQuery =& SC_Query_Ex::getSingletonInstance();
 
         // SQLの実行
-        foreach ($arrSql as $sql) {
-            $this->log("exec sql: " . $sql['sql']);
-            $objQuery->query($sql['sql'], $sql['params']);
+        if(!SC_Utils_Ex::isBlank($arrSql)) {
+            foreach ($arrSql as $sql) {
+                $this->log("exec sql: " . $sql['sql']);
+                $objQuery->query($sql['sql'], $sql['params']);
+            }
         }
 
         $arrInsertQuery = $this->arrInstallData['insert'];
-        foreach ($arrInsertQuery as $query) {
-            $objQuery->insert(
-                    $query['table'],
-                    $query['arrVal'],
-                    $query['arrSql'],
-                    $query['arrSqlVal'],
-                    $query['form'],
-                    $query['arrFromVal']
-            );
+        if(!SC_Utils_Ex::isBlank($arrInsertQuery)) {
+            foreach ($arrInsertQuery as $query) {
+                $objQuery->insert(
+                        $query['table'],
+                        $query['arrVal'],
+                        $query['arrSql'],
+                        $query['arrSqlVal'],
+                        $query['form'],
+                        $query['arrFromVal']
+                );
+            }
         }
 
         $arrUpdateQuery = $this->arrInstallData['update'];
-        foreach ($arrUpdateQuery as $query) {
-            $objQuery->update(
-                    $query['table'],
-                    $query['arrVal'],
-                    $query['where'],
-                    $query['arrWhereVal'],
-                    $query['arrRawSql'],
-                    $query['arrRawSqlVal']
-            );
+        if(!SC_Utils_Ex::isBlank($arrUpdateQuery)) {
+            foreach ($arrUpdateQuery as $query) {
+                $objQuery->update(
+                        $query['table'],
+                        $query['arrVal'],
+                        $query['where'],
+                        $query['arrWhereVal'],
+                        $query['arrRawSql'],
+                        $query['arrRawSqlVal']
+                );
+            }
         }
 
         // プラグインのディレクトリコピー
         $arrCopyDirectories = $this->arrInstallData['copy_directory'];
 
-        foreach ($arrCopyDirectories as $directory) {
-            $this->log("exec dir copy: " . $directory['src'] . ' -> ' . $directory['dist']);
-            // ディレクトリコピー -> HTML配下とDATA配下を別関数にする
-            SC_Utils::copyDirectory(
-                    PLUGIN_UPLOAD_REALDIR . $plugin_code . DIRECTORY_SEPARATOR . $directory['src'],
-                    PLUGIN_HTML_REALDIR   . $plugin_code . DIRECTORY_SEPARATOR . $directory['dist']);
+        if(!SC_Utils_Ex::isBlank($arrCopyDirectories)) {
+            foreach ($arrCopyDirectories as $directory) {
+                $this->log("exec dir copy: " . $directory['src'] . ' -> ' . $directory['dist']);
+                // ディレクトリコピー -> HTML配下とDATA配下を別関数にする
+                SC_Utils::copyDirectory(
+                        PLUGIN_UPLOAD_REALDIR . $plugin_code . DIRECTORY_SEPARATOR . $directory['src'],
+                        PLUGIN_HTML_REALDIR   . $plugin_code . DIRECTORY_SEPARATOR . $directory['dist']);
+            }
         }
 
         // プラグインのファイルコピー
         $arrCopyFiles = $this->arrInstallData['copy_file'];
 
-        foreach ($arrCopyFiles as $file) {
-            $this->log("exec file copy: " . $file['src'] . ' -> ' . $file['dist']);
-            // ファイルコピー
-            copy(PLUGIN_UPLOAD_REALDIR . $plugin_code . DIRECTORY_SEPARATOR . $file['src'],
-                 PLUGIN_HTML_REALDIR   . $plugin_code . DIRECTORY_SEPARATOR . $file['dist']);
+        if(!SC_Utils_Ex::isBlank($arrCopyFiles)) {
+            foreach ($arrCopyFiles as $file) {
+                $this->log("exec file copy: " . $file['src'] . ' -> ' . $file['dist']);
+                // ファイルコピー
+                copy(PLUGIN_UPLOAD_REALDIR . $plugin_code . DIRECTORY_SEPARATOR . $file['src'],
+                     PLUGIN_HTML_REALDIR   . $plugin_code . DIRECTORY_SEPARATOR . $file['dist']);
+            }
         }
 
         $this->log("end");




Svn-src-all メーリングリストの案内