Fix infinite loop when phancap tries to capture itself capturing itself
[phancap.git] / src / phancap / Config.php
index b5194545e5ff9ccef0f91c906ec2c48db9b81e9e..4c0617ecc9867c7f6f867f10502a81d88c12fdf0 100644 (file)
@@ -110,6 +110,11 @@ class Config
      */
     public $screenshotMinAge = 'PT1H';
 
+    /**
+     * Cutycapt adapter options
+     */
+    public $cutycapt = array();
+
 
     /**
      * Initialize default values and loads configuration file paths
@@ -153,12 +158,18 @@ class Config
      */
     protected function loadConfigFilePaths()
     {
-        $pharFile = \Phar::running();
-        if ($pharFile == '') {
-            $this->cfgFiles[] = __DIR__ . '/../../data/phancap.config.php';
-        } else {
+        $phar = false;
+        if (class_exists('\\Phar')) {
+            $pharFile = \Phar::running();
+            if ($pharFile != '') {
+                $phar = true;
+            }
+        }
+        if ($phar) {
             //remove phar:// from the path
             $this->cfgFiles[] = substr($pharFile, 7) . '.config.php';
+        } else {
+            $this->cfgFiles[] = __DIR__ . '/../../data/phancap.config.php';
         }
 
         //TODO: add ~/.config/phancap.php
@@ -223,14 +234,14 @@ class Config
      * @return string Directory of URL without trailing slash,
      *                and without .phar file
      */
-    protected function getCurrentUrlDir()
+    public function getCurrentUrlDir()
     {
         $url = $this->getCurrentUrl();
         $url = preg_replace('/\?.*$/', '', $url);
         if (substr($url, -1) != '/') {
             $url = substr($url, 0, -strlen(basename($url)) - 1);
         }
-        if (\Phar::running()) {
+        if (class_exists('\\Phar') && \Phar::running()) {
             //remove .phar file name
             $url = substr($url, 0, -strlen(basename($url)) - 1);
         }