Update jQuery from 1.12.4 to 3.7.1
[phorkie.git] / src / phorkie / SetupCheck.php
index c4d365c7a79552166aea7e88413f44ef0087f821..e5ed88fc0719911657de5f7f62cc01806d8dec7c 100644 (file)
@@ -4,15 +4,15 @@ namespace phorkie;
 class SetupCheck
 {
     protected $deps = array(
-        'pear.php.net/VersionControl_Git'  => 'VersionControl_Git',
-        'pear.twig-project.org/Twig'       => 'Twig_Autoloader',
-        'pear.php.net/Date_HumanDiff'      => 'Date_HumanDiff',
-        'pear.php.net/HTTP_Request2'       => 'HTTP_Request2',
-        'pear.php.net/OpenID'              => 'OpenID',
-        'pear.php.net/Pager'               => 'Pager',
-        'pear.php.net/Services_Libravatar' => 'Services_Libravatar',
-        'pear2.php.net/PEAR2_Services_Linkback'  => '\\PEAR2\\Services\\Linkback\\Client',
-        'zustellzentrum.cweiske.de/MIME_Type_PlainDetect' => 'MIME_Type_PlainDetect',
+        'pear/versionControl_git'  => 'VersionControl_Git',
+        'twig/twig'                => 'Twig_Autoloader',
+        'pear/date_humanDiff'      => 'Date_HumanDiff',
+        'pear/http_request2'       => 'HTTP_Request2',
+        'pear/openid'              => 'OpenID',
+        'pear/pager'               => 'Pager',
+        'pear/services_libravatar' => 'Services_Libravatar',
+        'pear2/services_linkback'  => '\\PEAR2\\Services\\Linkback\\Client',
+        'cweiske/mime_type_plaindetect' => 'MIME_Type_PlainDetect',
     );
 
     protected $writableDirs;
@@ -26,6 +26,7 @@ class SetupCheck
         $this->writableDirs = array(
             'gitdir'  => Tools::foldPath($cfg['gitdir']),
             'workdir' => Tools::foldPath($cfg['workdir']),
+            'cachedir' => Tools::foldPath($cfg['cachedir']),
         );
         $this->elasticsearch = $cfg['elasticsearch'];
     }
@@ -46,6 +47,13 @@ class SetupCheck
 
     public function checkConfigFiles()
     {
+        if (!isset($GLOBALS['phorkie']['cfgfiles'])
+            || count($GLOBALS['phorkie']['cfgfiles']) == 0
+        ) {
+            $this->info('No config files registered');
+            return;
+        }
+
         foreach ($GLOBALS['phorkie']['cfgfiles'] as $file => $loaded) {
             if ($loaded) {
                 $this->ok('Loaded config file: ' . Tools::foldPath($file));
@@ -62,11 +70,11 @@ class SetupCheck
     {
         foreach ($this->deps as $package => $class) {
             if (!class_exists($class, true)) {
-                $this->fail('PEAR package not installed: ' . $package);
+                $this->fail('Composer package not installed: ' . $package);
             }
         }
 
-        if (!class_exists('geshi', true)) {
+        if (!class_exists('GeSHi', true)) {
             $geshi = stream_resolve_include_path(
                 $GLOBALS['phorkie']['cfg']['geshi']
             );
@@ -133,8 +141,13 @@ class SetupCheck
     public function checkMimeTypeDetection()
     {
         $rp = new Repository_Post();
-        if ($rp->getType('<?php echo "foo"; ?>') != 'php') {
-            $this->fail('MIME type detection fails');
+        $type = $rp->getType('<?php echo "foo"; ?>', true);
+        if ($type != 'php') {
+            $msg = 'MIME type detection fails';
+            if ($type instanceof \PEAR_Error) {
+                $msg .= '. Error: ' . $type->getMessage();
+            }
+            $this->fail($msg);
         }
     }