diff --git a/include/class.variable.php b/include/class.variable.php index 36d49e6a39accdcdee68aaa06cd8059779474e00..76ad8c12da5b10bf3f1fed197b9d5b121598a8fc 100644 --- a/include/class.variable.php +++ b/include/class.variable.php @@ -63,11 +63,12 @@ class VariableReplacer { if(!$obj) return ""; - if(!$var && is_callable(array($obj, 'asVar'))) + if (!$var && method_exists($obj, 'asVar')) //XXX: to_string? return call_user_func(array($obj, 'asVar')); list($v, $part) = explode('.', $var, 2); - if($v && is_callable(array($obj, 'get'.ucfirst($v)))) { + if ($v && method_exists($obj, 'get'.ucfirst($v)) + && is_callable(array($obj, 'get'.ucfirst($v)))) { $rv = call_user_func(array($obj, 'get'.ucfirst($v))); if(!$rv || !is_object($rv)) return $rv; @@ -75,7 +76,7 @@ class VariableReplacer { return $this->getVar($rv, $part); } - if(!$var || !is_callable(array($obj, 'getVar'))) + if (!$var || !method_exists($obj, 'getVar')) return ""; $parts = explode('.', $var);