!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/usr/share/roundcube/program/lib/Roundcube/   drwxr-xr-x
Free 1.42 GB of 7.22 GB (19.68%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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 execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by PinoyWH1Z | C99Shell Github | Generation time: 0.0209 ]--