public static function execCallback($key, $callback, $object = NULL) { if (!self::$qp || !is_callable($callback)) { print "FAILED CALLBACK = " . Amslib_Debug::pdump(true, $callback); return; } try { $results = self::$qp->branch()->find($key); } catch (Exception $e) { Amslib_Debug::log("QueryPath Exception", $e->getMessage); } foreach ($results as $r) { $r = Amslib_QueryPath::toArray($r); call_user_func($callback, $r["tag"], $r, $object); } }
public function process($plugin, $key, $callback) { $callback = is_string($callback) ? array($plugin, $callback) : $callback; $callback = Amslib_Plugin::getCallback($callback); if (!$this->queryPath || !is_callable($callback)) { $callback = $callback instanceof Closure ? "{closure}" : $callback; Amslib_Debug::log("QueryPath or callback not valid", $plugin->getName(), $key, $callback); return; } try { $results = $this->queryPath->branch()->find($key); } catch (Exception $e) { Amslib_Debug::log("QueryPath Exception", $e->getMessage()); } foreach ($results as $r) { $r = Amslib_QueryPath::toArray($r); call_user_func($callback, $r["tag"], $r, $plugin); } }