From 8f85e3759c4eb4b61e8aab2dd4071e429deb81a3 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Tue, 26 Jan 2010 06:11:06 -0500
Subject: [PATCH] - jQuery-1.4.1

---
 program/include/rcube_plugin_api.php |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/program/include/rcube_plugin_api.php b/program/include/rcube_plugin_api.php
index b05758a..3a8ae52 100644
--- a/program/include/rcube_plugin_api.php
+++ b/program/include/rcube_plugin_api.php
@@ -15,7 +15,7 @@
  | Author: Thomas Bruederli <roundcube@gmail.com>                        |
  +-----------------------------------------------------------------------+
 
- $Id: $
+ $Id$
 
 */
 
@@ -118,15 +118,17 @@
       if (!$loaded) {
         $fn = $plugins_dir->path . DIRECTORY_SEPARATOR . $plugin_name . DIRECTORY_SEPARATOR . $plugin_name . '.php';
         if (file_exists($fn)) {
-          include($fn);
+          include_once($fn);
           
           if (class_exists($plugin_name, false)) {
             $plugin = new $plugin_name($this);
             // check inheritance
             if (is_subclass_of($plugin, 'rcube_plugin')) {
-              $plugin->init();
-              $this->plugins[] = $plugin;
-              $loaded = true;
+	      if (!$plugin->task || preg_match('/('.$plugin->task.')/i', $rcmail->task)) {
+                $plugin->init();
+                $this->plugins[] = $plugin;
+              }
+	      $loaded = true;
             }
           }
         }
@@ -179,6 +181,9 @@
    */
   public function exec_hook($hook, $args = array())
   {
+    if (!is_array($args))
+      $args = array('arg' => $args);
+
     $args += array('abort' => false);
     $this->active_hook = $hook;
     

--
Gitblit v1.9.1