hook_civicrm_copy: Pass the original id when available
authorMathieu Lu <mathieu@symbiotic.coop>
Tue, 25 Jul 2023 19:34:08 +0000 (15:34 -0400)
committerMathieu Lu <mathieu@symbiotic.coop>
Tue, 25 Jul 2023 19:34:08 +0000 (15:34 -0400)
CRM/Contribute/BAO/ContributionPage.php
CRM/Core/BAO/Job.php
CRM/Core/BAO/UFGroup.php
CRM/Event/BAO/Event.php
CRM/Price/BAO/PriceSet.php
CRM/Utils/Hook.php

index 94aeb0555658a47a0592f1f2858204d7d116060e..bca1fb59b109ecb38ebe35b4150126f4e7cfe66f 100644 (file)
@@ -711,7 +711,7 @@ WHERE entity_table = 'civicrm_contribution_page'
 
     $copy->save();
 
-    CRM_Utils_Hook::copy('ContributionPage', $copy);
+    CRM_Utils_Hook::copy('ContributionPage', $copy, $id);
 
     return $copy;
   }
index c281bf8a7110f306d3940e9800e907bd149b5a6d..57b1691aa1eafa0e0d9740f51d38c3a033b41607 100644 (file)
@@ -112,7 +112,7 @@ class CRM_Core_BAO_Job extends CRM_Core_DAO_Job {
     ];
     $copy = CRM_Core_DAO::copyGeneric('CRM_Core_DAO_Job', ['id' => $id], NULL, $fieldsFix);
     $copy->save();
-    CRM_Utils_Hook::copy('Job', $copy);
+    CRM_Utils_Hook::copy('Job', $copy, $id);
 
     return $copy;
   }
index e3962a6083b153378fc0b6ab217dd0292f3a0972..be15fb87a9a8066b9d07e9ff41169ff76f3ce3ca 100644 (file)
@@ -2648,7 +2648,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
       $params = [1 => [$copy->id, 'Integer']];
       CRM_Core_DAO::executeQuery($query, $params);
     }
-    CRM_Utils_Hook::copy('UFGroup', $copy);
+    CRM_Utils_Hook::copy('UFGroup', $copy, $id);
 
     return $copy;
   }
index 3875bc5e04e3154bf425d5dfda1221cb869c2000..c97e3554c6ca34d11a17a4658b2e0f746a34c2b2 100644 (file)
@@ -1017,7 +1017,7 @@ WHERE civicrm_event.is_active = 1
     }
 
     CRM_Utils_System::flushCache();
-    CRM_Utils_Hook::copy('Event', $copyEvent);
+    CRM_Utils_Hook::copy('Event', $copyEvent, $id);
 
     return $copyEvent;
   }
index 410867551a6b9e39d9c51f35791be9114875ddbc..5785d955ba2605b96010ea8272d8385451979e85 100644 (file)
@@ -1060,7 +1060,7 @@ WHERE  id = %1";
     }
     $copy->save();
 
-    CRM_Utils_Hook::copy('Set', $copy);
+    CRM_Utils_Hook::copy('Set', $copy, $id);
     unset(\Civi::$statics['CRM_Core_PseudoConstant']);
     return $copy;
   }
index 5e6005b77bdf25f06a48482784e03804d603bfb3..f2e0532190851e4c75f57da51d5d1941ee2b7727 100644 (file)
@@ -993,13 +993,15 @@ abstract class CRM_Utils_Hook {
    *   Name of the object.
    * @param object $object
    *   Reference to the copy.
+   * @param int $original_id
+   *   Original entity ID.
    *
    * @return null
    */
-  public static function copy($objectName, &$object) {
+  public static function copy($objectName, &$object, $original_id = NULL) {
     $null = NULL;
-    return self::singleton()->invoke(['objectName', 'object'], $objectName, $object,
-      $null, $null, $null, $null,
+    return self::singleton()->invoke(['objectName', 'object'], $objectName, $object, $original_id,
+      $null, $null, $null,
       'civicrm_copy'
     );
   }