Show help even when config file does not exist
authorChristian Weiske <cweiske@cweiske.de>
Fri, 21 Feb 2014 05:33:36 +0000 (06:33 +0100)
committerChristian Weiske <cweiske@cweiske.de>
Fri, 21 Feb 2014 05:33:36 +0000 (06:33 +0100)
src/bdrem/Config.php
src/bdrem/UserInterface.php

index 37c4c64..65e353d 100644 (file)
@@ -5,19 +5,21 @@ class Config
 {
     public $source;
     public $date;
 {
     public $source;
     public $date;
-    public $daysPrev;
-    public $daysNext;
+    public $daysPrev = 3;
+    public $daysNext = 7;
     public $locale;
     public $locale;
-    public $stopOnEmpty;
+    public $stopOnEmpty = false;
+    public $cfgFileExists;
 
     public function load()
     {
         $f = __DIR__ . '/../../data/bdrem.config.php';
         if (file_exists($f)) {
 
     public function load()
     {
         $f = __DIR__ . '/../../data/bdrem.config.php';
         if (file_exists($f)) {
+            $this->cfgFileExists = true;
             return $this->loadFile($f);
         }
 
             return $this->loadFile($f);
         }
 
-        throw new \Exception('No config file found');
+        $this->cfgFileExists = false;
     }
 
     protected function loadFile($filename)
     }
 
     protected function loadFile($filename)
index 7e6bf9a..8fa001f 100644 (file)
@@ -11,11 +11,15 @@ abstract class UserInterface
             $this->config = new Config();
             $this->config->load();
             setlocale(LC_TIME, $this->config->locale);
             $this->config = new Config();
             $this->config->load();
             setlocale(LC_TIME, $this->config->locale);
-            $source = $this->config->loadSource();
 
             $parser = $this->loadParameters();
             $this->parseParameters($parser);
 
 
             $parser = $this->loadParameters();
             $this->parseParameters($parser);
 
+            if (!$this->config->cfgFileExists) {
+                throw new \Exception('No config file found');
+            }
+
+            $source = $this->config->loadSource();
             $arEvents = $source->getEvents(
                 $this->config->date,
                 $this->config->daysPrev, $this->config->daysNext
             $arEvents = $source->getEvents(
                 $this->config->date,
                 $this->config->daysPrev, $this->config->daysNext
@@ -24,7 +28,7 @@ abstract class UserInterface
             $this->render($arEvents);
         } catch (\Exception $e) {
             $this->preRenderParameterError();
             $this->render($arEvents);
         } catch (\Exception $e) {
             $this->preRenderParameterError();
-            echo 'Exception: ' . $e->getCode() . ' ' . $e->getMessage() . "\n";
+            echo 'Exception: ' . $e->getCode() . ' ' . $e->getMessage() . "\n";
             exit(1);
         }
     }
             exit(1);
         }
     }