handle undefined local clone urls
[phorkie.git] / src / phorkie / SetupCheck.php
index 16631db673e2c75e5096b39cfb5fe204ad0062a7..fbc99c7eae85ad0f262f31578e1435157971c34c 100644 (file)
@@ -11,7 +11,7 @@ class SetupCheck
         'pear.php.net/OpenID'              => 'OpenID',
         'pear.php.net/Pager'               => 'Pager',
         'pear.php.net/Services_Libravatar' => 'Services_Libravatar',
-        'pear2.php.net/Services_Linkback'  => '\\PEAR2\\Services\\Linkback\\Client',
+        'pear2.php.net/PEAR2_Services_Linkback'  => '\\PEAR2\\Services\\Linkback\\Client',
         'zustellzentrum.cweiske.de/MIME_Type_PlainDetect' => 'MIME_Type_PlainDetect',
     );
 
@@ -46,16 +46,19 @@ class SetupCheck
             }
         }
 
-        $geshi = stream_resolve_include_path(
-            $GLOBALS['phorkie']['cfg']['geshi']
-        );
-        if ($geshi === false) {
-            $this->fail('GeSHi not available');
+        if (!class_exists('GeSHi', true)) {
+            @include_once 'geshi.php';
+            if (!class_exists('GeSHi', false)) {
+                $this->fail('PEAR package not installed: pear.geshi.org/geshi');
+            }
         }
 
-        $markdown = stream_resolve_include_path('markdown.php');
-        if ($markdown === false) {
-            $this->fail('Markdown renderer not available');
+        if (!class_exists('\\Michelf\\Markdown', true)) {
+            //PEAR-installed version 1.0.2 has a different API
+            $markdown = stream_resolve_include_path('markdown.php');
+            if ($markdown === false) {
+                $this->fail('Markdown renderer not available');
+            }
         }
     }