Make cutycapt options configurable
authorChristian Weiske <cweiske@cweiske.de>
Thu, 6 Nov 2014 20:33:15 +0000 (21:33 +0100)
committerChristian Weiske <cweiske@cweiske.de>
Thu, 6 Nov 2014 20:33:15 +0000 (21:33 +0100)
README.rst
src/phancap/Adapter/Cutycapt.php
src/phancap/Config.php

index 102586c..ca063f1 100644 (file)
@@ -126,6 +126,14 @@ Configuration variables
 
   ``true`` to allow access to anyone, ``false`` to disable it completely.
   ``array`` of username - secret key combinations otherwise.
+``$cutycapt['parameters']``
+  Additional command line parameters for cutycapt.
+  Can be used to e.g. enable browser plugins:
+
+  ``$cutycapt['parameters'] = '--plugins=on';``
+``$cutycapt['maxWaitTime']``
+  Maximal time in seconds to wait for cutycapt to finish rendering.
+  Defaults to 30 seconds.
 ``$disableSetup``
   Disable ``setup.php`` which will leak file system paths
 ``$redirect``
index a006a44..13f972e 100644 (file)
@@ -83,7 +83,16 @@ class Adapter_Cutycapt
         if ($format == 'jpg') {
             $format = 'jpeg';
         }
+
         $maxWaitTime = 30;//seconds
+        if (isset($this->config->cutycapt['maxWaitTime'])) {
+            $maxWaitTime = (int) $this->config->cutycapt['maxWaitTime'];
+        }
+
+        $parameters = '';
+        if (isset($this->config->cutycapt['parameters'])) {
+            $parameters = $this->config->cutycapt['parameters'];
+        }
 
         $serverNumber = $this->getServerNumber($options);
         $tmpPath = $img->getPath() . '-tmp';
@@ -96,6 +105,9 @@ class Adapter_Cutycapt
         if ($options->values['bheight'] !== null) {
             $cmd .= ' --min-height=' . $options->values['bheight'];
         }
+        if (strlen($parameters) > 0) {
+            $cmd .= ' ' . $parameters;
+        }
 
         $xvfbcmd = 'xvfb-run'
             . ' -e /dev/stdout'
index b519454..b2d42b1 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