*
* @param array $params Parameters:
* <pre>
- * 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.
* </pre>
*/
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'];
*/
public function getNewline()
{
+ if (!isset($this->_browser)) {
+ throw new Horde_Data_Exception('Missing browser parameter.');
+ }
+
switch ($this->_browser->getPlatform()) {
case 'win':
return "\r\n";
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]);
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;
*/
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;
*/
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;