dev/core#1812
authorStephen Palmstrom <spalmstrom@missionassist.onmicrosoft.com>
Mon, 13 Jul 2020 16:14:05 +0000 (17:14 +0100)
committerStephen Palmstrom <spalmstrom@missionassist.onmicrosoft.com>
Mon, 13 Jul 2020 16:14:05 +0000 (17:14 +0100)
CRM/Admin/Form/Setting/Miscellaneous.php
CRM/Logging/Schema.php
templates/CRM/Admin/Form/Setting/Miscellaneous.tpl

index bfc248663a5880c93c2cde6edad2b04f5ee69f28..94fce1edafdff58da5ca2cb6993643475da581ea 100644 (file)
@@ -75,6 +75,8 @@ class CRM_Admin_Form_Setting_Miscellaneous extends CRM_Admin_Form_Setting {
     CRM_Utils_System::setTitle(ts('Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)'));
 
     $this->assign('validTriggerPermission', CRM_Core_DAO::checkTriggerViewPermission(FALSE));
+    // dev/core#1812 Assign multilingual status.
+    $this->assign('isMultilingual', CRM_Core_I18n::isMultilingual());
 
     $this->addFormRule(['CRM_Admin_Form_Setting_Miscellaneous', 'formRule'], $this);
 
index 183af4100ac696a62e314f46dcfcf4a1c56747e4..9c8823feb27bc2759238f086474e31054e8c0793 100644 (file)
@@ -77,6 +77,10 @@ class CRM_Logging_Schema {
     if (!(CRM_Core_DAO::checkTriggerViewPermission(FALSE)) && $value) {
       throw new API_Exception(ts("In order to use this functionality, the installation's database user must have privileges to create triggers and views (if binary logging is enabled – this means the SUPER privilege). This install does not have the required privilege(s) enabled."));
     }
+    // dev/core#1812 Disable logging in a multilingual environment.
+    if (CRM_Core_I18n::isMultilingual() && $value) {
+      throw new API_Exception(ts("Logging is not supported in a multilingual environment!"));
+    }
     return TRUE;
   }
 
index 68ace19f261d974b8db8f2e75acdb617dd86e916..00b453ce21285485517fd8c7ffc56f067808daca 100644 (file)
         <td>
           {$form.logging.html}<br />
         {if $validTriggerPermission}
-          <p class="description">{ts}If enabled, all actions will be logged with a complete record of changes.{/ts}</p>
+          {if $isMultilingual}
+            <p class="description">{ts}Logging is not supported in multilingual environments.{/ts}</p>
+          {else}
+            <p class="description">{ts}If enabled, all actions will be logged with a complete record of changes.{/ts}</p>
+          {/if}
         {else}
           <p class="description">{ts}In order to use this functionality, the installation's database user must have privileges to create triggers (in MySQL 5.0 – and in MySQL 5.1 if binary logging is enabled – this means the SUPER privilege). This install either does not seem to have the required privilege enabled.{/ts}&nbsp;{ts}This functionality cannot be enabled on multilingual installations.{/ts}</p>
-         {/if}
+        {/if}
         </td>
       </tr>
       <tr class="crm-miscellaneous-form-block-doNotAttachPDFReceipt">