diff options
author | Bharat Mediratta <bharat@menalto.com> | 2013-03-02 14:02:00 -0800 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2013-03-02 14:02:00 -0800 |
commit | a81e85d3f178ad9081a5e6191d8f99370fdde123 (patch) | |
tree | 6d4306e8e9b4edbcba700a1910d6d0a03ce0edde /modules/rest/helpers | |
parent | 0d05e91cd3c5050c25133c864f8b789f499d8e17 (diff) | |
parent | 9b9f1a7b07daecf2251770e4f49838f22cb58a2a (diff) |
Merge pull request #176 from shadlaws/fix_2031
#2031 - Add class_exists() before method_exists() if class existence is unknown.
Diffstat (limited to 'modules/rest/helpers')
-rw-r--r-- | modules/rest/helpers/rest.php | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/modules/rest/helpers/rest.php b/modules/rest/helpers/rest.php index 9b367feb..c6be1e1d 100644 --- a/modules/rest/helpers/rest.php +++ b/modules/rest/helpers/rest.php @@ -141,7 +141,7 @@ class rest_Core { } $class = "$components[1]_rest"; - if (!method_exists($class, "resolve")) { + if (!class_exists($class) || !method_exists($class, "resolve")) { throw new Kohana_404_Exception($url); } @@ -158,7 +158,7 @@ class rest_Core { $resource_type = array_shift($args); $class = "{$resource_type}_rest"; - if (!method_exists($class, "url")) { + if (!class_exists($class) || !method_exists($class, "url")) { throw new Rest_Exception("Bad Request", 400); } @@ -178,7 +178,7 @@ class rest_Core { foreach (module::active() as $module) { foreach (glob(MODPATH . "{$module->name}/helpers/*_rest.php") as $filename) { $class = str_replace(".php", "", basename($filename)); - if (method_exists($class, "relationships")) { + if (class_exists($class) && method_exists($class, "relationships")) { if ($tmp = call_user_func(array($class, "relationships"), $resource_type, $resource)) { $results = array_merge($results, $tmp); } |