Merge pull request #10301 from JMAConsulting/CRM-20510
[civicrm-core.git] / CRM / Upgrade / Form.php
index 38e3b0205e4e402d9c85c65235e0a21914b7cb36..d49776861cf04ff58087e71cced676e64f3f9c6f 100644 (file)
@@ -3,7 +3,7 @@
  +--------------------------------------------------------------------+
  | CiviCRM version 4.7                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2016                                |
+ | Copyright CiviCRM LLC (c) 2004-2017                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -28,7 +28,7 @@
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2016
+ * @copyright CiviCRM LLC (c) 2004-2017
  * $Id$
  *
  */
@@ -190,10 +190,16 @@ class CRM_Upgrade_Form extends CRM_Core_Form {
    * @param bool $isQueryString
    */
   public function source($fileName, $isQueryString = FALSE) {
-
-    CRM_Utils_File::sourceSQLFile($this->_config->dsn,
-      $fileName, NULL, $isQueryString
-    );
+    if ($isQueryString) {
+      CRM_Utils_File::runSqlQuery($this->_config->dsn,
+        $fileName, NULL
+      );
+    }
+    else {
+      CRM_Utils_File::sourceSQLFile($this->_config->dsn,
+        $fileName, NULL
+      );
+    }
   }
 
   public function preProcess() {
@@ -491,7 +497,7 @@ SET    version = '$version'
     }
 
     // check for mysql trigger privileges
-    if (!CRM_Core_DAO::checkTriggerViewPermission(FALSE, TRUE)) {
+    if (!\Civi::settings()->get('logging_no_trigger_permission') && !CRM_Core_DAO::checkTriggerViewPermission(FALSE, TRUE)) {
       $error = ts('CiviCRM %1 requires MySQL trigger privileges.',
         array(1 => $latestVer));
     }