!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

E:\xampp\xampp\php\PEAR\Zend\Mail\Storage\Folder\   drwxrwxrwx
Free 7.25 GB of 239.26 GB (3.03%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Maildir.php (8.69 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Zend Framework
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://framework.zend.com/license/new-bsd
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@zend.com so we can send you a copy immediately.
 *
 * @category   Zend
 * @package    Zend_Mail
 * @subpackage Storage
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 * @version    $Id: Maildir.php 18951 2009-11-12 16:26:19Z alexander $
 */


/**
 * @see Zend_Mail_Storage_Folder
 */
require_once 'Zend/Mail/Storage/Folder.php';

/**
 * @see Zend_Mail_Storage_Folder_Interface
 */
require_once 'Zend/Mail/Storage/Folder/Interface.php';

/**
 * @see Zend_Mail_Storage_Maildir
 */
require_once 'Zend/Mail/Storage/Maildir.php';


/**
 * @category   Zend
 * @package    Zend_Mail
 * @subpackage Storage
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
class Zend_Mail_Storage_Folder_Maildir extends Zend_Mail_Storage_Maildir implements Zend_Mail_Storage_Folder_Interface
{
    
/**
     * Zend_Mail_Storage_Folder root folder for folder structure
     * @var Zend_Mail_Storage_Folder
     */
    
protected $_rootFolder;

    
/**
     * rootdir of folder structure
     * @var string
     */
    
protected $_rootdir;

    
/**
     * name of current folder
     * @var string
     */
    
protected $_currentFolder;

    
/**
     * delim char for subfolders
     * @var string
     */
    
protected $_delim;

    
/**
     * Create instance with parameters
     * Supported parameters are:
     *   - dirname rootdir of maildir structure
     *   - delim   delim char for folder structur, default is '.'
     *   - folder intial selected folder, default is 'INBOX'
     *
     * @param  $params array mail reader specific parameters
     * @throws Zend_Mail_Storage_Exception
     */
    
public function __construct($params)
    {
        if (
is_array($params)) {
            
$params = (object)$params;
        }

        if (!isset(
$params->dirname) || !is_dir($params->dirname)) {
            
/**
             * @see Zend_Mail_Storage_Exception
             */
            
require_once 'Zend/Mail/Storage/Exception.php';
            throw new 
Zend_Mail_Storage_Exception('no valid dirname given in params');
        }

        
$this->_rootdir rtrim($params->dirnameDIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;

        
$this->_delim = isset($params->delim) ? $params->delim '.';

        
$this->_buildFolderTree();
        
$this->selectFolder(!empty($params->folder) ? $params->folder 'INBOX');
        
$this->_has['top'] = true;
        
$this->_has['flags'] = true;
    }

    
/**
     * find all subfolders and mbox files for folder structure
     *
     * Result is save in Zend_Mail_Storage_Folder instances with the root in $this->_rootFolder.
     * $parentFolder and $parentGlobalName are only used internally for recursion.
     *
     * @return null
     * @throws Zend_Mail_Storage_Exception
     */
    
protected function _buildFolderTree()
    {
        
$this->_rootFolder = new Zend_Mail_Storage_Folder('/''/'false);
        
$this->_rootFolder->INBOX = new Zend_Mail_Storage_Folder('INBOX''INBOX'true);

        
$dh = @opendir($this->_rootdir);
        if (!
$dh) {
            
/**
             * @see Zend_Mail_Storage_Exception
             */
            
require_once 'Zend/Mail/Storage/Exception.php';
            throw new 
Zend_Mail_Storage_Exception("can't read folders in maildir");
        }
        
$dirs = array();
        while ((
$entry readdir($dh)) !== false) {
            
// maildir++ defines folders must start with .
            
if ($entry[0] != '.' || $entry == '.' || $entry == '..') {
                continue;
            }
            if (
$this->_isMaildir($this->_rootdir $entry)) {
                
$dirs[] = $entry;
            }
        }
        
closedir($dh);

        
sort($dirs);
        
$stack = array(null);
        
$folderStack = array(null);
        
$parentFolder $this->_rootFolder;
        
$parent '.';

        foreach (
$dirs as $dir) {
            do {
                if (
strpos($dir$parent) === 0) {
                    
$local substr($dirstrlen($parent));
                    if (
strpos($local$this->_delim) !== false) {
                        
/**
                         * @see Zend_Mail_Storage_Exception
                         */
                        
require_once 'Zend/Mail/Storage/Exception.php';
                        throw new 
Zend_Mail_Storage_Exception('error while reading maildir');
                    }
                    
array_push($stack$parent);
                    
$parent $dir $this->_delim;
                    
$folder = new Zend_Mail_Storage_Folder($localsubstr($dir1), true);
                    
$parentFolder->$local $folder;
                    
array_push($folderStack$parentFolder);
                    
$parentFolder $folder;
                    break;
                } else if (
$stack) {
                    
$parent array_pop($stack);
                    
$parentFolder array_pop($folderStack);
                }
            } while (
$stack);
            if (!
$stack) {
                
/**
                 * @see Zend_Mail_Storage_Exception
                 */
                
require_once 'Zend/Mail/Storage/Exception.php';
                throw new 
Zend_Mail_Storage_Exception('error while reading maildir');
            }
        }
    }

    
/**
     * get root folder or given folder
     *
     * @param string $rootFolder get folder structure for given folder, else root
     * @return Zend_Mail_Storage_Folder root or wanted folder
     * @throws Zend_Mail_Storage_Exception
     */
    
public function getFolders($rootFolder null)
    {
        if (!
$rootFolder || $rootFolder == 'INBOX') {
            return 
$this->_rootFolder;
        }

        
// rootdir is same as INBOX in maildir
        
if (strpos($rootFolder'INBOX' $this->_delim) === 0) {
            
$rootFolder substr($rootFolder6);
        }
        
$currentFolder $this->_rootFolder;
        
$subname trim($rootFolder$this->_delim);
        while (
$currentFolder) {
            @list(
$entry$subname) = @explode($this->_delim$subname2);
            
$currentFolder $currentFolder->$entry;
            if (!
$subname) {
                break;
            }
        }

        if (
$currentFolder->getGlobalName() != rtrim($rootFolder$this->_delim)) {
            
/**
             * @see Zend_Mail_Storage_Exception
             */
            
require_once 'Zend/Mail/Storage/Exception.php';
            throw new 
Zend_Mail_Storage_Exception("folder $rootFolder not found");
        }
        return 
$currentFolder;
    }

    
/**
     * select given folder
     *
     * folder must be selectable!
     *
     * @param Zend_Mail_Storage_Folder|string $globalName global name of folder or instance for subfolder
     * @return null
     * @throws Zend_Mail_Storage_Exception
     */
    
public function selectFolder($globalName)
    {
        
$this->_currentFolder = (string)$globalName;

        
// getting folder from folder tree for validation
        
$folder $this->getFolders($this->_currentFolder);

        try {
            
$this->_openMaildir($this->_rootdir '.' $folder->getGlobalName());
        } catch(
Zend_Mail_Storage_Exception $e) {
            
// check what went wrong
            
if (!$folder->isSelectable()) {
                
/**
                 * @see Zend_Mail_Storage_Exception
                 */
                
require_once 'Zend/Mail/Storage/Exception.php';
                throw new 
Zend_Mail_Storage_Exception("{$this->_currentFolder} is not selectable");
            }
            
// seems like file has vanished; rebuilding folder tree - but it's still an exception
            
$this->_buildFolderTree($this->_rootdir);
            
/**
             * @see Zend_Mail_Storage_Exception
             */
            
require_once 'Zend/Mail/Storage/Exception.php';
            throw new 
Zend_Mail_Storage_Exception('seems like the maildir has vanished, I\'ve rebuild the ' .
                                                         
'folder tree, search for an other folder and try again');
        }
    }

    
/**
     * get Zend_Mail_Storage_Folder instance for current folder
     *
     * @return Zend_Mail_Storage_Folder instance of current folder
     * @throws Zend_Mail_Storage_Exception
     */
    
public function getCurrentFolder()
    {
        return 
$this->_currentFolder;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--