From: Jan Schneider Date: Tue, 26 Oct 2010 21:11:46 +0000 (+0200) Subject: Don't require the browser object, it's only used at a few places. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=1e6056a927e0fdfc47ac25d400f4add25cd02f0f;p=horde.git Don't require the browser object, it's only used at a few places. --- diff --git a/framework/Data/lib/Horde/Data/Base.php b/framework/Data/lib/Horde/Data/Base.php index b58c6fc24..80bd245d6 100644 --- a/framework/Data/lib/Horde/Data/Base.php +++ b/framework/Data/lib/Horde/Data/Base.php @@ -61,12 +61,9 @@ abstract class Horde_Data_Base * * @param array $params Parameters: *
-     * REQUIRED:
-     * ---------
-     * browser - (Horde_Browser) A browser object.
-     *
      * OPTIONAL:
      * ---------
+     * browser - (Horde_Browser) A browser object.
      * cleanup - (callback) A callback to call at cleanup time.
      * vars - (Horde_Variables) Form data.
      * 
@@ -75,10 +72,9 @@ abstract class Horde_Data_Base */ public function __construct(array $params = array()) { - if (!isset($params['browser'])) { - throw new InvalidArgumentException('Missing browser parameter.'); + if (isset($params['browser'])) { + $this->_browser = $params['browser']; } - $this->_browser = $params['browser']; if (isset($params['cleanup']) && is_callable($params['cleanup'])) { $this->_cleanupCallback = $params['cleanup']; @@ -124,6 +120,10 @@ abstract class Horde_Data_Base */ public function getNewline() { + if (!isset($this->_browser)) { + throw new Horde_Data_Exception('Missing browser parameter.'); + } + switch ($this->_browser->getPlatform()) { case 'win': return "\r\n"; @@ -266,6 +266,9 @@ abstract class Horde_Data_Base switch ($action) { case Horde_Data::IMPORT_FILE: + if (!isset($this->_browser)) { + throw new Horde_Data_Exception('Missing browser parameter.'); + } /* Sanitize uploaded file. */ try { $this->_browser->wasFileUploaded('import_file', $param['file_types'][$this->_vars->import_format]); diff --git a/framework/Data/lib/Horde/Data/Csv.php b/framework/Data/lib/Horde/Data/Csv.php index fca36d00c..4fc726973 100644 --- a/framework/Data/lib/Horde/Data/Csv.php +++ b/framework/Data/lib/Horde/Data/Csv.php @@ -194,6 +194,10 @@ class Horde_Data_Csv extends Horde_Data_Base public function exportFile($filename, $data, $header = false, $export_mapping = array()) { + if (!isset($this->_browser)) { + throw new Horde_Data_Exception('Missing browser parameter.'); + } + $export = $this->exportData($data, $header, $export_mapping); $this->_browser->downloadHeaders($filename, 'application/csv', false, strlen($export)); echo $export; diff --git a/framework/Data/lib/Horde/Data/Imc.php b/framework/Data/lib/Horde/Data/Imc.php index c4729c55c..aa7962cf2 100644 --- a/framework/Data/lib/Horde/Data/Imc.php +++ b/framework/Data/lib/Horde/Data/Imc.php @@ -67,6 +67,10 @@ class Horde_Data_Imc extends Horde_Data_Base */ public function exportFile($filename, $data) { + if (!isset($this->_browser)) { + throw new Horde_Data_Exception('Missing browser parameter.'); + } + $export = $this->exportData($data); $this->_browser->downloadHeaders($filename, 'text/calendar', false, strlen($export)); echo $export; diff --git a/framework/Data/lib/Horde/Data/Tsv.php b/framework/Data/lib/Horde/Data/Tsv.php index fb2b3f839..95bfed3c3 100644 --- a/framework/Data/lib/Horde/Data/Tsv.php +++ b/framework/Data/lib/Horde/Data/Tsv.php @@ -115,6 +115,10 @@ class Horde_Data_Tsv extends Horde_Data_Base */ public function exportFile($filename, $data, $header = false) { + if (!isset($this->_browser)) { + throw new Horde_Data_Exception('Missing browser parameter.'); + } + $export = $this->exportData($data, $header); $this->_browser->downloadHeaders($filename, 'text/tab-separated-values', false, strlen($export)); echo $export;