Skip to content
Snippets Groups Projects
Unverified Commit a532c65c authored by Seamus Lee's avatar Seamus Lee Committed by GitHub
Browse files

Merge pull request #16046 from seamuslee001/dev_core_1449_5_20

#1449 Do not dispatch pre and post hooks whilst we are in an …
parents d22f50ae 87f319c3
Branches
Tags
No related merge requests found
......@@ -175,6 +175,7 @@ abstract class CRM_Utils_Hook {
// quantities of low-importance data or the table not having an id field, which could cause a fatal error.
// Instead of not calling any hooks we only call those we know to be frequently important - if a particular extension wanted
// to avoid this they could do an early return on CRM_Core_Config::singleton()->isUpgradeMode
// Futther discussion is happening at https://lab.civicrm.org/dev/core/issues/1460
$upgradeFriendlyHooks = ['civicrm_alterSettingsFolders', 'civicrm_alterSettingsMetaData', 'civicrm_triggerInfo', 'civicrm_alterLogTables', 'civicrm_container'];
if (CRM_Core_Config::singleton()->isUpgradeMode() && !in_array($fnSuffix, $upgradeFriendlyHooks)) {
return;
......@@ -371,6 +372,11 @@ abstract class CRM_Utils_Hook {
* the return value is ignored
*/
public static function pre($op, $objectName, $id, &$params) {
// Dev/core#1449 DO not dispatch hook_civicrm_pre if we are in an upgrade as this cases the upgrade to fail
// Futher discussion is happening at https://lab.civicrm.org/dev/core/issues/1460
if (CRM_Core_Config::singleton()->isUpgradeMode()) {
return;
}
$event = new \Civi\Core\Event\PreEvent($op, $objectName, $id, $params);
\Civi::dispatcher()->dispatch('hook_civicrm_pre', $event);
return $event->getReturnValues();
......@@ -393,6 +399,11 @@ abstract class CRM_Utils_Hook {
* an error message which aborts the operation
*/
public static function post($op, $objectName, $objectId, &$objectRef = NULL) {
// Dev/core#1449 DO not dispatch hook_civicrm_post if we are in an upgrade as this cases the upgrade to fail
// Futher discussion is happening at https://lab.civicrm.org/dev/core/issues/1460
if (CRM_Core_Config::singleton()->isUpgradeMode()) {
return;
}
$event = new \Civi\Core\Event\PostEvent($op, $objectName, $objectId, $objectRef);
\Civi::dispatcher()->dispatch('hook_civicrm_post', $event);
return $event->getReturnValues();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment