From 7c3f349d55ec0eb4cdd4d7a694ccab5214451106 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Wed, 14 Mar 2012 14:09:17 +0000 Subject: [PATCH] Some hacks for missing extensions and XP: - used mb_convert_encoding() as fall-back solution if extension recode is not found. - At least on my XP box at work 'COMPUTERNAME' did work --- inc/classes/main/console/class_ConsoleTools.php | 3 +++ inc/classes/main/filter/class_FilterChain.php | 7 ++++--- inc/classes/main/parser/xml/class_XmlParser.php | 5 ++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/inc/classes/main/console/class_ConsoleTools.php b/inc/classes/main/console/class_ConsoleTools.php index ef97485b..e6fdfda8 100644 --- a/inc/classes/main/console/class_ConsoleTools.php +++ b/inc/classes/main/console/class_ConsoleTools.php @@ -110,6 +110,9 @@ class ConsoleTools extends BaseFrameworkSystem { if (isset($_SERVER['SESSION_SVR'])) { // Resolve it $ip = $helperInstance->resolveIpAddress($_SERVER['SESSION_SVR']); + } elseif (isset($_SERVER['COMPUTERNAME'])) { + // May happen on some XP systems, so also try this + $ip = $helperInstance->resolveIpAddress($_SERVER['COMPUTERNAME']); } else { // Could not find our hostname $helperInstance->debugOutput(sprintf("[%s:] WARNING: Cannot resolve my own IP address.", diff --git a/inc/classes/main/filter/class_FilterChain.php b/inc/classes/main/filter/class_FilterChain.php index dcdb882c..dcc94f4e 100644 --- a/inc/classes/main/filter/class_FilterChain.php +++ b/inc/classes/main/filter/class_FilterChain.php @@ -69,15 +69,16 @@ class FilterChain extends BaseFrameworkSystem { */ public function processFilters (Requestable $requestInstance, Responseable $responseInstance) { // Run all filters - //* DEBUG */ echo "COUNT=".count($this->filters)."
\n"; + //* DEBUG */ $this->debugOutput('COUNT=' . count($this->filters)); foreach ($this->filters as $filterInstance) { // Try to execute this filter try { - //* DEBUG */ echo "FILTER: ".$filterInstance->__toString().": Processing started.
\n"; + //* DEBUG */ $this->debugOutput('FILTER: ' . $filterInstance->__toString() . ': Processing started.'); $filterInstance->execute($requestInstance, $responseInstance); - //* DEBUG */ echo "FILTER: ".$filterInstance->__toString().": Processing ended.
\n"; + //* DEBUG */ $this->debugOutput('FILTER: ' . $filterInstance->__toString() . ': Processing ended.'); } catch (FilterChainException $e) { // This exception can be thrown to just skip any further processing + $this->debugOutput('Failed to execute lase filter ' . $filterInstance->__toString() . ': ' . $e->getMessage()); break; } } // END - foreach diff --git a/inc/classes/main/parser/xml/class_XmlParser.php b/inc/classes/main/parser/xml/class_XmlParser.php index fa674b53..ce5c0a9b 100644 --- a/inc/classes/main/parser/xml/class_XmlParser.php +++ b/inc/classes/main/parser/xml/class_XmlParser.php @@ -72,9 +72,12 @@ class XmlParser extends BaseParser implements Parseable { } elseif (function_exists('recode')) { // Recode found, so use it $content = recode('html..utf8', $content); + } elseif (function_exists('mb_convert_encoding')) { + // Use mb_convert_encoding() + $content = mb_convert_encoding($content, 'UTF-8', 'auto'); } else { // @TODO We need to find a fallback solution here - $this->partialStub('Cannot find recode extension!'); + $this->partialStub('Cannot find recode/mbstring extension!'); } // END - if // Get an XML parser -- 2.30.2