2 commits - plugins/calendar plugins/odfviewer plugins/tasklist

Thomas Brüderli bruederli at kolabsys.com
Wed Aug 1 16:26:57 CEST 2012


 plugins/calendar/calendar.php   |    2 +-
 plugins/odfviewer/odfviewer.php |    4 ++--
 plugins/tasklist/tasklist.php   |   20 +++++++++++++++++++-
 3 files changed, 22 insertions(+), 4 deletions(-)

New commits:
commit c8b6f57d6674f736026d27daf72a9eae127abc94
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Aug 1 16:26:49 2012 +0200

    Properly cleanup temporary saved attachment files

diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php
index 335c672..2378417 100644
--- a/plugins/calendar/calendar.php
+++ b/plugins/calendar/calendar.php
@@ -1747,7 +1747,7 @@ class calendar extends rcube_plugin
     $eventid = 'cal:'.$event['id'];
     if (!empty($_SESSION['event_session']) && ($eventid = $_SESSION['event_session']['id'])) {
       $this->rc->plugins->exec_hook('attachments_cleanup', array('group' => $eventid));
-      unset($_SESSION['event_session']);
+      $this->rc->session->remove('event_session');
     }
   }
 
diff --git a/plugins/tasklist/tasklist.php b/plugins/tasklist/tasklist.php
index 6dec0d4..ff99f2e 100644
--- a/plugins/tasklist/tasklist.php
+++ b/plugins/tasklist/tasklist.php
@@ -162,13 +162,16 @@ class tasklist extends rcube_plugin
             if ($success = $this->driver->create_task($rec)) {
                 $refresh = $this->driver->get_task($rec);
                 if ($temp_id) $refresh['tempid'] = $temp_id;
+                $this->cleanup_task($rec);
             }
             break;
 
         case 'edit':
             $rec = $this->prepare_task($rec);
-            if ($success = $this->driver->edit_task($rec))
+            if ($success = $this->driver->edit_task($rec)) {
                 $refresh = $this->driver->get_task($rec);
+                $this->cleanup_task($rec);
+            }
             break;
 
         case 'delete':
@@ -319,6 +322,21 @@ class tasklist extends rcube_plugin
         return $rec;
     }
 
+
+    /**
+     * Releases some resources after successful save
+     */
+    private function cleanup_task(&$rec)
+    {
+        // remove temp. attachment files
+        $taskid = $rec['id'];
+        if (!empty($_SESSION['tasklist_session']) && ($taskid = $_SESSION['tasklist_session']['id'])) {
+            $this->rc->plugins->exec_hook('attachments_cleanup', array('group' => $taskid));
+            $this->rc->session->remove('tasklist_session');
+        }
+    }
+
+
     /**
      *
      */


commit 8062cdb94afb6c4edba344e05a8d499244f1efee
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Aug 1 16:25:57 2012 +0200

    Make odfviewer also hook into task attachment display

diff --git a/plugins/odfviewer/odfviewer.php b/plugins/odfviewer/odfviewer.php
index 1e106bb..3ffb5b1 100644
--- a/plugins/odfviewer/odfviewer.php
+++ b/plugins/odfviewer/odfviewer.php
@@ -26,7 +26,7 @@
  */
 class odfviewer extends rcube_plugin
 {
-  public $task = 'mail|calendar|logout';
+  public $task = 'mail|calendar|tasks|logout';
   
   private $tempdir  = 'plugins/odfviewer/files/';
   private $tempbase = 'plugins/odfviewer/files/';
@@ -58,7 +58,7 @@ class odfviewer extends rcube_plugin
       return;
     // extend list of mimetypes that should open in preview
     $rcmail = rcmail::get_instance();
-    if ($rcmail->action == 'preview' || $rcmail->action == 'show' || $rcmail->task == 'calendar') {
+    if ($rcmail->action == 'preview' || $rcmail->action == 'show' || $rcmail->task == 'calendar' || $rcmail->task == 'tasks') {
       $mimetypes = $rcmail->config->get('client_mimetypes', 'text/plain,text/html,text/xml,image/jpeg,image/gif,image/png,application/x-javascript,application/pdf,application/x-shockwave-flash');
       if (!is_array($mimetypes))
         $mimetypes = explode(',', $mimetypes);





More information about the commits mailing list