summaryrefslogtreecommitdiff
path: root/program/include/rcube_message_header.php
diff options
context:
space:
mode:
Diffstat (limited to 'program/include/rcube_message_header.php')
-rw-r--r--program/include/rcube_message_header.php288
1 files changed, 0 insertions, 288 deletions
diff --git a/program/include/rcube_message_header.php b/program/include/rcube_message_header.php
deleted file mode 100644
index db82247f9..000000000
--- a/program/include/rcube_message_header.php
+++ /dev/null
@@ -1,288 +0,0 @@
-<?php
-
-/**
- +-----------------------------------------------------------------------+
- | program/include/rcube_message_header.php |
- | |
- | This file is part of the Roundcube Webmail client |
- | Copyright (C) 2005-2012, The Roundcube Dev Team |
- | Copyright (C) 2011-2012, Kolab Systems AG |
- | |
- | Licensed under the GNU General Public License version 3 or |
- | any later version with exceptions for skins & plugins. |
- | See the README file for a full license statement. |
- | |
- | PURPOSE: |
- | E-mail message headers representation |
- | |
- +-----------------------------------------------------------------------+
- | Author: Aleksander Machniak <alec@alec.pl> |
- +-----------------------------------------------------------------------+
-*/
-
-/**
- * Struct representing an e-mail message header
- *
- * @package Framework
- * @subpackage Storage
- * @author Aleksander Machniak <alec@alec.pl>
- */
-class rcube_message_header
-{
- /**
- * Message sequence number
- *
- * @var int
- */
- public $id;
-
- /**
- * Message unique identifier
- *
- * @var int
- */
- public $uid;
-
- /**
- * Message subject
- *
- * @var string
- */
- public $subject;
-
- /**
- * Message sender (From)
- *
- * @var string
- */
- public $from;
-
- /**
- * Message recipient (To)
- *
- * @var string
- */
- public $to;
-
- /**
- * Message additional recipients (Cc)
- *
- * @var string
- */
- public $cc;
-
- /**
- * Message Reply-To header
- *
- * @var string
- */
- public $replyto;
-
- /**
- * Message In-Reply-To header
- *
- * @var string
- */
- public $in_reply_to;
-
- /**
- * Message date (Date)
- *
- * @var string
- */
- public $date;
-
- /**
- * Message identifier (Message-ID)
- *
- * @var string
- */
- public $messageID;
-
- /**
- * Message size
- *
- * @var int
- */
- public $size;
-
- /**
- * Message encoding
- *
- * @var string
- */
- public $encoding;
-
- /**
- * Message charset
- *
- * @var string
- */
- public $charset;
-
- /**
- * Message Content-type
- *
- * @var string
- */
- public $ctype;
-
- /**
- * Message timestamp (based on message date)
- *
- * @var int
- */
- public $timestamp;
-
- /**
- * IMAP bodystructure string
- *
- * @var string
- */
- public $bodystructure;
-
- /**
- * IMAP internal date
- *
- * @var string
- */
- public $internaldate;
-
- /**
- * Message References header
- *
- * @var string
- */
- public $references;
-
- /**
- * Message priority (X-Priority)
- *
- * @var int
- */
- public $priority;
-
- /**
- * Message receipt recipient
- *
- * @var string
- */
- public $mdn_to;
-
- /**
- * Other message headers
- *
- * @var array
- */
- public $others = array();
-
- /**
- * Message flags
- *
- * @var array
- */
- public $flags = array();
-
- // map header to rcube_message_header object property
- private $obj_headers = array(
- 'date' => 'date',
- 'from' => 'from',
- 'to' => 'to',
- 'subject' => 'subject',
- 'reply-to' => 'replyto',
- 'cc' => 'cc',
- 'bcc' => 'bcc',
- 'content-transfer-encoding' => 'encoding',
- 'in-reply-to' => 'in_reply_to',
- 'content-type' => 'ctype',
- 'references' => 'references',
- 'return-receipt-to' => 'mdn_to',
- 'disposition-notification-to' => 'mdn_to',
- 'x-confirm-reading-to' => 'mdn_to',
- 'message-id' => 'messageID',
- 'x-priority' => 'priority',
- );
-
- /**
- * Returns header value
- */
- public function get($name, $decode = true)
- {
- $name = strtolower($name);
-
- if (isset($this->obj_headers[$name])) {
- $value = $this->{$this->obj_headers[$name]};
- }
- else {
- $value = $this->others[$name];
- }
-
- return $decode ? rcube_mime::decode_header($value, $this->charset) : $value;
- }
-
- /**
- * Sets header value
- */
- public function set($name, $value)
- {
- $name = strtolower($name);
-
- if (isset($this->obj_headers[$name])) {
- $this->{$this->obj_headers[$name]} = $value;
- }
- else {
- $this->others[$name] = $value;
- }
- }
-}
-
-
-/**
- * Class for sorting an array of rcube_message_header objects in a predetermined order.
- *
- * @package Mail
- * @author Aleksander Machniak <alec@alec.pl>
- */
-class rcube_message_header_sorter
-{
- private $uids = array();
-
-
- /**
- * Set the predetermined sort order.
- *
- * @param array $index Numerically indexed array of IMAP UIDs
- */
- function set_index($index)
- {
- $index = array_flip($index);
-
- $this->uids = $index;
- }
-
- /**
- * Sort the array of header objects
- *
- * @param array $headers Array of rcube_message_header objects indexed by UID
- */
- function sort_headers(&$headers)
- {
- uksort($headers, array($this, "compare_uids"));
- }
-
- /**
- * Sort method called by uksort()
- *
- * @param int $a Array key (UID)
- * @param int $b Array key (UID)
- */
- function compare_uids($a, $b)
- {
- // then find each sequence number in my ordered list
- $posa = isset($this->uids[$a]) ? intval($this->uids[$a]) : -1;
- $posb = isset($this->uids[$b]) ? intval($this->uids[$b]) : -1;
-
- // return the relative position as the comparison value
- return $posa - $posb;
- }
-}