CRM-11925 - CRM_Utils_Hook - Remove moduleImplements.
authorTim Otten <totten@civicrm.org>
Thu, 7 Mar 2013 08:28:28 +0000 (03:28 -0500)
committerTim Otten <totten@civicrm.org>
Fri, 8 Mar 2013 01:16:26 +0000 (20:16 -0500)
The Drupal implementation is good, but we don't need the functionality, and
it's a bit of a liability because the design isn't portable to Joomla.
Keeping it might encourage others to write unportable hook code.

However, if we find that we do need the functionality, then we should use
this code as a starting point.  (Aside: For a non-Drupal example, the
WordPress implementation is better than the Joomla implementation.  The WP
version looks like it would still work with Civi ext-modules.)

CRM/Utils/Hook.php
CRM/Utils/Hook/Drupal.php
CRM/Utils/Hook/Drupal6.php
CRM/Utils/Hook/Joomla.php
CRM/Utils/Hook/Soap.php
CRM/Utils/Hook/UnitTests.php
CRM/Utils/Hook/WordPress.php

index 6881d068ff7cf4039abc3d04f6c719c14f6406a7..b318ac02a324fd69975d7dc67a7f1aa5c1857f0e 100644 (file)
@@ -91,12 +91,6 @@ abstract class CRM_Utils_Hook {
     $fnSuffix
   );
 
-  /**
-   * Get a list of modules implementing the given hook.
-   * @return Array of module names.
-   */
-  abstract function moduleImplements($hookName);
-
   function commonInvoke($numParams,
     &$arg1, &$arg2, &$arg3, &$arg4, &$arg5,
     $fnSuffix, $fnPrefix
@@ -132,24 +126,6 @@ abstract class CRM_Utils_Hook {
     }
   }
 
-  /**
-   * Get a list of modules implementing the given hook.
-   * @return Array of module names.
-   */
-  function commonModuleImplements($fnSuffix, $fnPrefix) {
-    $return = array();
-
-    $this->commonBuildModuleList($fnPrefix);
-
-    foreach ($this->commonCiviModules as $module) {
-      $fnName = "{$module}_{$fnSuffix}";
-      if (function_exists($fnName)) {
-        $return[] = $module;
-      }
-    }
-    return $return;
-  }
-
   function runHooks(&$civiModules, $fnSuffix, $numParams,
     &$arg1, &$arg2, &$arg3, &$arg4, &$arg5
   ) {
index 99a231c4a448d8897ad78b1debdc1279d7598d01..b998aeb71ec5ca15d98eb3ee0c0b500139f2dce7 100644 (file)
@@ -67,25 +67,6 @@ class CRM_Utils_Hook_Drupal extends CRM_Utils_Hook {
     );
   }
 
-  /**
-   * Get a list of modules implementing the given hook.
-   * @return Array of module names.
-   */
-  function moduleImplements($hook_name) {
-    $return = array();
-
-    $this->buildModuleList();
-
-    // For each module, check if it defines a hook implementation.
-    foreach ($this->allModules as $module) {
-      $fnName = "{$module}_{$hook_name}";
-      if (function_exists($fnName)) {
-        $return[] = $module;
-      }
-    }
-    return $return;
-  }
-
   /**
    * Build the list of modules to be processed for hooks.
    */
index 31d3db89bd760200b99a42fa50fca21d50b1b8f6..f4a8a854456db3695879e4802b0a8f3c90ce9854 100644 (file)
@@ -67,25 +67,6 @@ class CRM_Utils_Hook_Drupal6 extends CRM_Utils_Hook {
     );
   }
 
-  /**
-   * Get a list of modules implementing the given hook.
-   * @return Array of module names.
-   */
-  function moduleImplements($hook_name) {
-    $return = array();
-
-    $this->buildModuleList();
-    
-    // For each module, check if it defines a hook implementation.
-    foreach ($this->allModules as $module) {
-      $fnName = "{$module}_{$hook_name}";
-      if (function_exists($fnName)) {
-        $return[] = $module;
-      }
-    }
-    return $return;
-  }
-
   /**
    * Build the list of modules to be processed for hooks.
    */
index f8d8d84aa6c7ae5163c8163c489b19f0f5deb54f..04ad66536ce21917bdbe0711f92ac6d542679f02 100644 (file)
@@ -81,13 +81,5 @@ class CRM_Utils_Hook_Joomla extends CRM_Utils_Hook {
       return $result;
     }
   }
-
-  /**
-   * Get a list of modules implementing the given hook. Does nothing in Joomla.
-   * @return Array of module names.
-   */
-  function moduleImplements($fnSuffix) {
-    return array();
-  }
 }
 
index 95b6fa29867210be6138380985a4d5439225960a..424afe22a769b76f7f44105c953a2ff719d8d067 100644 (file)
@@ -41,16 +41,5 @@ class CRM_Utils_Hook_Soap extends CRM_Utils_Hook {
     // suppress all hok calls during soap
     return;
   }
-
-  /**
-   * Get a list of modules implementing the given hook.
-   *
-   * Does nothing in Soap.
-   * 
-   * @return Array of module names.
-   */
-  function moduleImplements($fnSuffix) {
-    return;
-  }
 }
 
index e4610308c643120725d620f7d13b36f7f21d4de3..6004cff9192ec9058cf263ac97de624fbb7d05eb 100644 (file)
@@ -70,16 +70,5 @@ class CRM_Utils_Hook_UnitTests extends CRM_Utils_Hook {
       call_user_func_array($this->adhocHooks[$fnSuffix], $params );
     }
   }
-
-  /**
-   * Get a list of modules implementing the given hook.
-   *
-   * Does nothing in UnitTests.
-   *
-   * @return Array of module names.
-   */
-  function moduleImplements($fnSuffix) {
-    return;
-  }
 }
 
index f86094f443d02eda910beb2f1da4231742449876..f7c98a029ef24b49d8ec2186f95a65fc4c92968e 100644 (file)
@@ -42,9 +42,5 @@ class CRM_Utils_Hook_WordPress extends CRM_Utils_Hook {
       $fnSuffix, 'wordpress'
     );
   }
-
-  function moduleImplements($fnSuffix) {
-    return $this->commonModuleImplements($fnSuffix, 'wordpress');
-  }
 }