<?php
class DispatcherWpf {
protected static $_pref = 'wpf_';
public static function addAction( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {
if (strpos($tag, 'wpf_') === false) {
$tag = self::$_pref . $tag;
}
return add_action( $tag, $function_to_add, $priority, $accepted_args );
}
public static function doAction( $tag ) {
$t = $tag;
if (strpos($t, 'wpf_') === false) {
$t = self::$_pref . $t;
}
$numArgs = func_num_args();
if ($numArgs > 1) {
$args = array( $t );
for ($i = 1; $i < $numArgs; $i++) {
$args[] = func_get_arg($i);
}
return call_user_func_array('do_action', $args);
}
return do_action($t);
}
public static function addFilter( $tag, $function_to_add, $priority = 10, $accepted_args = 1 ) {
$t = $tag;
if (strpos($t, 'wpf_') === false) {
$t = self::$_pref . $t;
}
return add_filter( $t, $function_to_add, $priority, $accepted_args );
}
public static function applyFilters( $tag, $value ) {
$t = $tag;
if (strpos($t, 'wpf_') === false) {
$t = self::$_pref . $t;
}
if (func_num_args() > 2) {
$args = array($t);
for ($i = 1; $i < func_num_args(); $i++) {
$args[] = func_get_arg($i);
}
return call_user_func_array('apply_filters', $args);
} else {
return apply_filters( $t, $value );
}
}
}