From bfc30700672fb40eb488259a70473f130d2f52ea Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Sun, 25 Nov 2012 14:07:37 -0500
Subject: [PATCH] Cut dependencies to rcmail class

---
 program/lib/Roundcube/rcube_addressbook.php |    6 +++---
 program/lib/Roundcube/rcube_plugin_api.php  |    4 ++++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/program/lib/Roundcube/rcube_addressbook.php b/program/lib/Roundcube/rcube_addressbook.php
index b5fb8cf..d14fc58 100644
--- a/program/lib/Roundcube/rcube_addressbook.php
+++ b/program/lib/Roundcube/rcube_addressbook.php
@@ -209,7 +209,7 @@
      */
     public function validate(&$save_data, $autofix = false)
     {
-        $rcmail = rcmail::get_instance();
+        $rcmail = rcube::get_instance();
 
         // check validity of email addresses
         foreach ($this->get_col_values('email', $save_data, true) as $email) {
@@ -467,7 +467,7 @@
      */
     public static function compose_display_name($contact, $full_email = false)
     {
-        $contact = rcmail::get_instance()->plugins->exec_hook('contact_displayname', $contact);
+        $contact = rcube::get_instance()->plugins->exec_hook('contact_displayname', $contact);
         $fn = $contact['name'];
 
         if (!$fn)  // default display name composition according to vcard standard
@@ -504,7 +504,7 @@
         static $compose_mode;
 
         if (!isset($compose_mode))  // cache this
-            $compose_mode = rcmail::get_instance()->config->get('addressbook_name_listing', 0);
+            $compose_mode = rcube::get_instance()->config->get('addressbook_name_listing', 0);
 
         if ($compose_mode == 3)
             $fn = join(' ', array($contact['surname'] . ',', $contact['firstname'], $contact['middlename']));
diff --git a/program/lib/Roundcube/rcube_plugin_api.php b/program/lib/Roundcube/rcube_plugin_api.php
index a8f83a2..51cf5d2 100644
--- a/program/lib/Roundcube/rcube_plugin_api.php
+++ b/program/lib/Roundcube/rcube_plugin_api.php
@@ -370,6 +370,10 @@
    */
   public function register_task($task, $owner)
   {
+    // tasks are irrelevant in framework mode
+    if (!class_exists('rcmail', false))
+      return true;
+
     if ($task != asciiwords($task)) {
       rcube::raise_error(array('code' => 526, 'type' => 'php',
         'file' => __FILE__, 'line' => __LINE__,

--
Gitblit v1.9.1