plugins/calendar
Thomas Brüderli
bruederli at kolabsys.com
Wed Oct 23 14:47:54 CEST 2013
plugins/calendar/calendar.php | 2 +-
plugins/calendar/lib/calendar_ui.php | 7 ++++++-
2 files changed, 7 insertions(+), 2 deletions(-)
New commits:
commit a694b7ad9eb8033b2ec3d182439c98d8aeaa3721
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date: Wed Oct 23 14:23:24 2013 +0200
Only accept zip files if supported; use filename part only for temp file
diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php
index 2ab4e7b..9a76a79 100644
--- a/plugins/calendar/calendar.php
+++ b/plugins/calendar/calendar.php
@@ -1014,7 +1014,7 @@ class calendar extends rcube_plugin
for ($i = 0; $i < $zip->numFiles; $i++) {
$filename = $zip->getNameIndex($i);
if (preg_match('/\.ics$/i', $filename)) {
- $tmpfile = $tmpdir . '/' . $filename;
+ $tmpfile = $tmpdir . '/' . basename($filename);
if (copy('zip://' . $_FILES['_data']['tmp_name'] . '#'.$filename, $tmpfile)) {
$count += $this->import_from_file($tmpfile, $calendar, $rangestart, $errors);
unlink($tmpfile);
diff --git a/plugins/calendar/lib/calendar_ui.php b/plugins/calendar/lib/calendar_ui.php
index 4a08a0c..009e6c7 100644
--- a/plugins/calendar/lib/calendar_ui.php
+++ b/plugins/calendar/lib/calendar_ui.php
@@ -536,9 +536,14 @@ class calendar_ui
// Get max filesize, enable upload progress bar
$max_filesize = rcube_upload_init();
+ $accept = '.ics, text/calendar, text/x-vcalendar, application/ics';
+ if (class_exists('ZipArchive', false)) {
+ $accept .= ', .zip, application/zip';
+ }
+
$input = new html_inputfield(array(
'type' => 'file', 'name' => '_data', 'size' => $attrib['uploadfieldsize'],
- 'accept' => '.ics, text/calendar, text/x-vcalendar, application/ics, .zip, application/zip'));
+ 'accept' => $accept));
$select = new html_select(array('name' => '_range', 'id' => 'event-import-range'));
$select->add(array(
More information about the commits
mailing list