do not try to delete if file does not exist
[phorkie.git] / src / phorkie / SetupCheck.php
index 0bb632fce6ddc8b702443b02e93ef667251080e3..b205b87baa60a43631e0bd5281d85ccd873245fe 100644 (file)
@@ -7,11 +7,14 @@ class SetupCheck
         '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/Pager'               => 'Pager',
         'pear.php.net/Services_Libravatar' => 'Services_Libravatar',
+        'zustellzentrum.cweiske.de/MIME_Type_PlainDetect' => 'MIME_Type_PlainDetect',
     );
 
     protected $writableDirs;
-
+    protected $elasticsearch;
 
     public function __construct()
     {
@@ -20,6 +23,7 @@ class SetupCheck
             'gitdir' => $cfg['gitdir'],
             'workdir' => $cfg['workdir'],
         );
+        $this->elasticsearch = $cfg['elasticsearch'];
     }
 
     public static function run()
@@ -70,8 +74,20 @@ class SetupCheck
 
     public function checkDatabase()
     {
-        $dbs = new Database_Setup_Elasticsearch();
-        $dbs->setup();
+        if ($this->elasticsearch == '') {
+            return;
+        }
+
+        $es = parse_url($this->elasticsearch);
+        if (!preg_match("#/.+/#", $es['path'], $matches)) {
+            $this->fail(
+                'Improper elasticsearch url.  Elasticsearch requires a'
+                . ' search domain to store your data.'
+                . ' (e.g. http://localhost:9200/phorkie/)'
+            );
+        }
+        $dbs = new Database();
+        $dbs->getSetup()->setup();
     }
 
     public function fail($msg)