From a2446d929654a4d1be113d6cab6b7fff4ae4e382 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 22 Apr 2013 04:23:12 -0400
Subject: [PATCH] Fix another text wrapping issue

---
 program/include/rcmail.php |   47 ++++++++++++++++++++++++++++-------------------
 1 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 3a8c62c..249bd05 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -56,8 +56,6 @@
   private $action_map = array();
 
 
-  const JS_OBJECT_NAME = 'rcmail';
-
   const ERROR_STORAGE          = -2;
   const ERROR_INVALID_REQUEST  = 1;
   const ERROR_INVALID_HOST     = 2;
@@ -321,17 +319,17 @@
 
   /**
    * Init output object for GUI and add common scripts.
-   * This will instantiate a rcube_output_html object and set
+   * This will instantiate a rcmail_output_html object and set
    * environment vars according to the current session and configuration
    *
    * @param boolean True if this request is loaded in a (i)frame
-   * @return rcube_output_html Reference to HTML output object
+   * @return rcube_output Reference to HTML output object
    */
   public function load_gui($framed = false)
   {
     // init output page
-    if (!($this->output instanceof rcube_output_html))
-      $this->output = new rcube_output_html($this->task, $framed);
+    if (!($this->output instanceof rcmail_output_html))
+      $this->output = new rcmail_output_html($this->task, $framed);
 
     // set refresh interval
     $this->output->set_env('refresh_interval', $this->config->get('refresh_interval', 0));
@@ -357,12 +355,12 @@
   /**
    * Create an output object for JSON responses
    *
-   * @return rcube_output_json Reference to JSON output object
+   * @return rcube_output Reference to JSON output object
    */
   public function json_init()
   {
-    if (!($this->output instanceof rcube_output_json))
-      $this->output = new rcube_output_json($this->task);
+    if (!($this->output instanceof rcmail_output_json))
+      $this->output = new rcmail_output_json($this->task);
 
     return $this->output;
   }
@@ -936,15 +934,26 @@
      * @param object $message    Reference to Mail_MIME object
      * @param string $from       Sender address string
      * @param array  $mailto     Array of recipient address strings
-     * @param array  $smtp_error SMTP error array (reference)
+     * @param array  $error      SMTP error array (reference)
      * @param string $body_file  Location of file with saved message body (reference),
      *                           used when delay_file_io is enabled
-     * @param array  $smtp_opts  SMTP options (e.g. DSN request)
+     * @param array  $options    SMTP options (e.g. DSN request)
      *
      * @return boolean Send status.
      */
-    public function deliver_message(&$message, $from, $mailto, &$smtp_error, &$body_file = null, $smtp_opts = null)
+    public function deliver_message(&$message, $from, $mailto, &$error, &$body_file = null, $options = null)
     {
+        $plugin = $this->plugins->exec_hook('message_before_send', array(
+            'message' => $message,
+            'from'    => $from,
+            'mailto'  => $mailto,
+            'options' => $options,
+        ));
+
+        $from    = $plugin['from'];
+        $mailto  = $plugin['mailto'];
+        $options = $plugin['options'];
+        $message = $plugin['message'];
         $headers = $message->headers();
 
         // send thru SMTP server using custom SMTP library
@@ -987,15 +996,15 @@
                 $this->smtp_init(true);
             }
 
-            $sent = $this->smtp->send_mail($from, $a_recipients, $smtp_headers, $msg_body, $smtp_opts);
-            $smtp_response = $this->smtp->get_response();
-            $smtp_error = $this->smtp->get_error();
+            $sent     = $this->smtp->send_mail($from, $a_recipients, $smtp_headers, $msg_body, $options);
+            $response = $this->smtp->get_response();
+            $error    = $this->smtp->get_error();
 
             // log error
             if (!$sent) {
                 self::raise_error(array('code' => 800, 'type' => 'smtp',
                     'line' => __LINE__, 'file' => __FILE__,
-                    'message' => "SMTP error: ".join("\n", $smtp_response)), TRUE, FALSE);
+                    'message' => "SMTP error: ".join("\n", $response)), TRUE, FALSE);
             }
         }
         // send mail using PHP's mail() function
@@ -1063,7 +1072,7 @@
                     $this->user->get_username(),
                     $_SERVER['REMOTE_ADDR'],
                     $mailto,
-                    !empty($smtp_response) ? join('; ', $smtp_response) : ''));
+                    !empty($response) ? join('; ', $response) : ''));
             }
         }
 
@@ -1566,7 +1575,7 @@
             $html_name = $this->Q($foldername) . ($unread ? html::span('unreadcount', sprintf($attrib['unreadwrap'], $unread)) : '');
             $link_attrib = $folder['virtual'] ? array() : array(
                 'href' => $this->url(array('_mbox' => $folder['id'])),
-                'onclick' => sprintf("return %s.command('list','%s',this)", rcmail::JS_OBJECT_NAME, $js_name),
+                'onclick' => sprintf("return %s.command('list','%s',this)", rcmail_output::JS_OBJECT_NAME, $js_name),
                 'rel' => $folder['id'],
                 'title' => $title,
             );
@@ -1579,7 +1588,7 @@
                 (!empty($folder['folders']) ? html::div(array(
                     'class' => ($is_collapsed ? 'collapsed' : 'expanded'),
                     'style' => "position:absolute",
-                    'onclick' => sprintf("%s.command('collapse-folder', '%s')", rcmail::JS_OBJECT_NAME, $js_name)
+                    'onclick' => sprintf("%s.command('collapse-folder', '%s')", rcmail_output::JS_OBJECT_NAME, $js_name)
                 ), '&nbsp;') : ''));
 
             $jslist[$folder_id] = array(

--
Gitblit v1.9.1