summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/module.inc16
1 files changed, 10 insertions, 6 deletions
diff --git a/includes/module.inc b/includes/module.inc
index b5453b800..0f75ed3c8 100644
--- a/includes/module.inc
+++ b/includes/module.inc
@@ -15,19 +15,23 @@ function module_iterate($function, $argument = "") {
}
// invoke hook $hook of module $name with optional arguments:
-function module_invoke($name, $hook, $a1 = NULL, $a2 = NULL, $a3 = NULL, $a4 = NULL) {
- $function = $name ."_". $hook;
+function module_invoke(){
+ $args = func_get_args();
+ $function = array_shift($args);
+ $function .= "_". array_shift($args);
+
if (function_exists($function)) {
- return $function($a1, $a2, $a3, $a4);
+ return $function(implode(",", $args));
}
}
// invoke $hook for all appropriate modules:
-function module_invoke_all($hook, $a1 = NULL, $a2 = NULL, $a3 = NULL, $a4 = NULL) {
+function module_invoke_all() {
$return = array();
+ $args = func_get_args();
foreach (module_list() as $name) {
- if (module_hook($name, $hook)) {
- if ($result = module_invoke($name, $hook, $a1, $a2, $a3, $a4)) {
+ if (module_hook($name, $args[0])) {
+ if ($result = module_invoke($name, implode(",", $args))) {
$return = array_merge($return, $result);
}
}