function theme_variables($widget, &$args) { global $widget_variables; if(!isset($widget_variables[$widget])) { // We can't use module_invoke since we need to pass a reference: foreach (module_implements('variables') as $module) { $function = $module . '_variables'; $function($widget, $widget_variables[$widget]); } } $args += $widget_variables[$widget]; }