powered by nequal
Home » Diggin_Http_Response_Charset » Timeline » 2229

Diffs

Diggin_Http_Response_Charset/trunk/library/Diggin/Http/Response/Charset/Front/UrlRegex.php

@@ -83,7 +83,7 @@
if (!is_callable($converter) and
!($converter instanceof Diggin_Http_Response_Charset_Converter_ConverterInterface) and
!(is_string($converter)
-              and $this->_loadConverter($converter) instanceof Diggin_Http_Response_Charset_Converter_ConverterInterface)) {
+              and $this->_checkInterface($converter) === false)) {
require_once 'Diggin/Http/Response/Charset/Front/Exception.php';
throw new Diggin_Http_Response_Charset_Front_Exception('Invalid Argument');
}
@@ -117,6 +117,17 @@
return new $converter;
}
+    private function _checkInterface($converter)
+    {
+        if (!class_exists($converter)) {
+            require_once 'Zend/Loader.php';
+            $converter = Zend_Loader::loadClass($converter);
+        }
+
+        $reflection = new ReflectionClass($converter);
+        return in_array('Diggin_Http_Response_Charset_Front_ConvertInterface', $reflection->getIntefaceNames());
+    }
+
final public function getDefaultConverter()
{
if (!$this->_defaultConverter) {

Diggin_Http_Response_Charset/trunk/library/Diggin/Http/Response/Charset/Detector/Html.php

@@ -74,7 +74,7 @@
}
/**
-     * Get list - Don't use mb_preferred_mime_name()
+     * Get list - against mb_preferred_mime_name()
*
* @return array
*/