CRM-19813 - CRM_Utils_Hook_* - Rename invoke() to invokeViaUF()
authorTim Otten <totten@civicrm.org>
Tue, 7 Mar 2017 22:06:10 +0000 (14:06 -0800)
committerTim Otten <totten@civicrm.org>
Thu, 30 Mar 2017 22:39:52 +0000 (15:39 -0700)
We're going to provide transitional wrapper function for `invoke()`, but
we'll still need access to the original implementations.  This renames the
original implementations.

CRM/Utils/Hook.php
CRM/Utils/Hook/DrupalBase.php
CRM/Utils/Hook/Joomla.php
CRM/Utils/Hook/Soap.php
CRM/Utils/Hook/UnitTests.php
CRM/Utils/Hook/WordPress.php

index 00b0bb7354684433a77862a53e181935db9f10d8..dec10d814a75c8938d3a5e0d34e022a8e0eeb4c5 100644 (file)
@@ -101,7 +101,8 @@ abstract class CRM_Utils_Hook {
   }
 
   /**
-   * Invoke hooks.
+   * Invoke a hook through the UF/CMS hook system and the extension-hook
+   * system.
    *
    * @param int $numParams
    *   Number of parameters to pass to the hook.
@@ -122,12 +123,43 @@ abstract class CRM_Utils_Hook {
    *
    * @return mixed
    */
-  public abstract function invoke(
+  public abstract function invokeViaUF(
     $numParams,
     &$arg1, &$arg2, &$arg3, &$arg4, &$arg5, &$arg6,
     $fnSuffix
   );
 
+  /**
+   * Invoke a hook.
+   *
+   * This is a transitional adapter. It supports the legacy syntax
+   * but also accepts enough information to support Symfony Event
+   * dispatching.
+   *
+   * @param array|int $names
+   *   (Recommended) Array of parameter names, in order.
+   *   Using an array is recommended because it enables full
+   *   event-broadcasting behaviors.
+   *   (Legacy) Number of parameters to pass to the hook.
+   *   This is provided for transitional purposes.
+   * @param mixed $arg1
+   * @param mixed $arg2
+   * @param mixed $arg3
+   * @param mixed $arg4
+   * @param mixed $arg5
+   * @param mixed $arg6
+   * @param mixed $fnSuffix
+   * @return mixed
+   */
+  public function invoke(
+    $names,
+    &$arg1, &$arg2, &$arg3, &$arg4, &$arg5, &$arg6,
+    $fnSuffix
+  ) {
+    $count = is_array($names) ? count($names) : $names;
+    return $this->invokeViaUF($count, $arg1, $arg2, $arg3, $arg4, $arg5, $arg6, $fnSuffix);
+  }
+
   /**
    * @param array $numParams
    * @param $arg1
index f92a5ca369f72a1869f057fb9cfd120c1a9e6f61..2adce368b762000672b7185ff9ed5107e4b55c6d 100644 (file)
@@ -73,7 +73,7 @@ class CRM_Utils_Hook_DrupalBase extends CRM_Utils_Hook {
    *
    * @return array|bool
    */
-  public function invoke(
+  public function invokeViaUF(
     $numParams,
     &$arg1, &$arg2, &$arg3, &$arg4, &$arg5, &$arg6,
     $fnSuffix) {
index 3f683f3cc884b5dedb52dd149aed3b06722e4eab..fd1793cb72f2e01ee70976821236f973b2cd3b35 100644 (file)
@@ -65,7 +65,7 @@ class CRM_Utils_Hook_Joomla extends CRM_Utils_Hook {
    *
    * @return mixed
    */
-  public function invoke(
+  public function invokeViaUF(
     $numParams,
     &$arg1, &$arg2, &$arg3, &$arg4, &$arg5, &$arg6,
     $fnSuffix
index 675d6f600f51301350e69f4aa12602e7cace82aa..685fd9ba3029f2027f453b5d398774bcae5f68fe 100644 (file)
@@ -65,7 +65,7 @@ class CRM_Utils_Hook_Soap extends CRM_Utils_Hook {
    *
    * @return mixed
    */
-  public function invoke(
+  public function invokeViaUF(
     $numParams,
     &$arg1, &$arg2, &$arg3, &$arg4, &$arg5, &$arg6,
     $fnSuffix
index 2061c30c494b78a13c4f3d30f20a88fcc7450b40..14ef3fb6ebbcfc83b3fca341ad359d32a660ed51 100644 (file)
@@ -94,7 +94,7 @@ class CRM_Utils_Hook_UnitTests extends CRM_Utils_Hook {
    *
    * @return mixed
    */
-  public function invoke(
+  public function invokeViaUF(
     $numParams,
     &$arg1, &$arg2, &$arg3, &$arg4, &$arg5, &$arg6,
     $fnSuffix) {
index 977a746c2398e22cf03038539cb3b6084cc5bbe2..74cd81f89073f6ce205daef6507723a9c5646435 100644 (file)
@@ -83,7 +83,7 @@ class CRM_Utils_Hook_WordPress extends CRM_Utils_Hook {
    *
    * @return mixed
    */
-  public function invoke(
+  public function invokeViaUF(
     $numParams,
     &$arg1, &$arg2, &$arg3, &$arg4, &$arg5, &$arg6,
     $fnSuffix