!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\Form\Element\   drwxrwxrwx
Free 7.95 GB of 239.26 GB (3.32%)
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:     File.php (22.87 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_Form
 * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */

/** Zend_Form_Element_Xhtml */
require_once 'Zend/Form/Element/Xhtml.php';

/**
 * Zend_Form_Element
 *
 * @category   Zend
 * @package    Zend_Form
 * @subpackage Element
 * @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: File.php 16218 2009-06-21 19:44:04Z thomas $
 */
class Zend_Form_Element_File extends Zend_Form_Element_Xhtml
{
    
/**
     * @const string Plugin loader type
     */
    
const TRANSFER_ADAPTER 'TRANSFER_ADAPTER';

    
/**
     * @var string Default view helper
     */
    
public $helper 'formFile';

    
/**
     * @var Zend_File_Transfer_Adapter_Abstract
     */
    
protected $_adapter;

    
/**
     * @var boolean Already validated ?
     */
    
protected $_validated false;

    
/**
     * @var boolean Disable value to be equal to file content
     */
    
protected $_valueDisabled false;

    
/**
     * @var integer Internal multifile counter
     */
    
protected $_counter 1;

    
/**
     * @var integer Maximum file size for MAX_FILE_SIZE attribut of form
     */
    
protected static $_maxFileSize = -1;

    
/**
     * Load default decorators
     *
     * @return void
     */
    
public function loadDefaultDecorators()
    {
        if (
$this->loadDefaultDecoratorsIsDisabled()) {
            return;
        }

        
$decorators $this->getDecorators();
        if (empty(
$decorators)) {
            
$this->addDecorator('File')
                 ->
addDecorator('Errors')
                 ->
addDecorator('Description')
                 ->
addDecorator('HtmlTag', array('tag' => 'dd'))
                 ->
addDecorator('Label', array('tag' => 'dt'));
        }
    }

    
/**
     * Set plugin loader
     *
     * @param  Zend_Loader_PluginLoader_Interface $loader
     * @param  string $type
     * @return Zend_Form_Element_File
     */
    
public function setPluginLoader(Zend_Loader_PluginLoader_Interface $loader$type)
    {
        
$type strtoupper($type);

        if (
$type != self::TRANSFER_ADAPTER) {
            return 
parent::setPluginLoader($loader$type);
        }

        
$this->_loaders[$type] = $loader;
        return 
$this;
    }

    
/**
     * Get Plugin Loader
     *
     * @param  string $type
     * @return Zend_Loader_PluginLoader_Interface
     */
    
public function getPluginLoader($type)
    {
        
$type strtoupper($type);

        if (
$type != self::TRANSFER_ADAPTER) {
            return 
parent::getPluginLoader($type);
        }

        if (!
array_key_exists($type$this->_loaders)) {
            require_once 
'Zend/Loader/PluginLoader.php';
            
$loader = new Zend_Loader_PluginLoader(array(
                
'Zend_File_Transfer_Adapter' => 'Zend/File/Transfer/Adapter/',
            ));
            
$this->setPluginLoader($loaderself::TRANSFER_ADAPTER);
        }

        return 
$this->_loaders[$type];
    }

    
/**
     * Add prefix path for plugin loader
     *
     * @param  string $prefix
     * @param  string $path
     * @param  string $type
     * @return Zend_Form_Element_File
     */
    
public function addPrefixPath($prefix$path$type null)
    {
        
$type strtoupper($type);
        if (!empty(
$type) && ($type != self::TRANSFER_ADAPTER)) {
            return 
parent::addPrefixPath($prefix$path$type);
        }

        if (empty(
$type)) {
            
$pluginPrefix rtrim($prefix'_') . '_Transfer_Adapter';
            
$pluginPath   rtrim($pathDIRECTORY_SEPARATOR) . '/Transfer/Adapter/';
            
$loader       $this->getPluginLoader(self::TRANSFER_ADAPTER);
            
$loader->addPrefixPath($pluginPrefix$pluginPath);
            return 
parent::addPrefixPath($prefix$pathnull);
        }

        
$loader $this->getPluginLoader($type);
        
$loader->addPrefixPath($prefix$path);
        return 
$this;
    }

    
/**
     * Set transfer adapter
     *
     * @param  string|Zend_File_Transfer_Adapter_Abstract $adapter
     * @return Zend_Form_Element_File
     */
    
public function setTransferAdapter($adapter)
    {
        if (
$adapter instanceof Zend_File_Transfer_Adapter_Abstract) {
            
$this->_adapter $adapter;
        } elseif (
is_string($adapter)) {
            
$loader $this->getPluginLoader(self::TRANSFER_ADAPTER);
            
$class  $loader->load($adapter);
            
$this->_adapter = new $class;
        } else {
            require_once 
'Zend/Form/Element/Exception.php';
            throw new 
Zend_Form_Element_Exception('Invalid adapter specified');
        }

        foreach (array(
'filter''validate') as $type) {
            
$loader $this->getPluginLoader($type);
            
$this->_adapter->setPluginLoader($loader$type);
        }

        return 
$this;
    }

    
/**
     * Get transfer adapter
     *
     * Lazy loads HTTP transfer adapter when no adapter registered.
     *
     * @return Zend_File_Transfer_Adapter_Abstract
     */
    
public function getTransferAdapter()
    {
        if (
null === $this->_adapter) {
            
$this->setTransferAdapter('Http');
        }
        return 
$this->_adapter;
    }

    
/**
     * Add Validator; proxy to adapter
     *
     * @param  string|Zend_Validate_Interface $validator
     * @param  bool $breakChainOnFailure
     * @param  mixed $options
     * @return Zend_Form_Element_File
     */
    
public function addValidator($validator$breakChainOnFailure false$options = array())
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->addValidator($validator$breakChainOnFailure$options$this->getName());
        
$this->_validated false;

        return 
$this;
    }

    
/**
     * Add multiple validators at once; proxy to adapter
     *
     * @param  array $validators
     * @return Zend_Form_Element_File
     */
    
public function addValidators(array $validators)
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->addValidators($validators$this->getName());
        
$this->_validated false;

        return 
$this;
    }

    
/**
     * Add multiple validators at once, overwriting; proxy to adapter
     *
     * @param  array $validators
     * @return Zend_Form_Element_File
     */
    
public function setValidators(array $validators)
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->setValidators($validators$this->getName());
        
$this->_validated false;

        return 
$this;
    }

    
/**
     * Retrieve validator by name; proxy to adapter
     *
     * @param  string $name
     * @return Zend_Validate_Interface|null
     */
    
public function getValidator($name)
    {
        
$adapter    $this->getTransferAdapter();
        return 
$adapter->getValidator($name);
    }

    
/**
     * Retrieve all validators; proxy to adapter
     *
     * @return array
     */
    
public function getValidators()
    {
        
$adapter $this->getTransferAdapter();
        
$validators $adapter->getValidators($this->getName());
        if (
$validators === null) {
            
$validators = array();
        }

        return 
$validators;
    }

    
/**
     * Remove validator by name; proxy to adapter
     *
     * @param  string $name
     * @return Zend_Form_Element_File
     */
    
public function removeValidator($name)
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->removeValidator($name);
        
$this->_validated false;

        return 
$this;
    }

    
/**
     * Remove all validators; proxy to adapter
     *
     * @return Zend_Form_Element_File
     */
    
public function clearValidators()
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->clearValidators();
        
$this->_validated false;

        return 
$this;
    }

    
/**
     * Add Filter; proxy to adapter
     *
     * @param  string|array $filter  Type of filter to add
     * @param  string|array $options Options to set for the filter
     * @return Zend_Form_Element_File
     */
    
public function addFilter($filter$options null)
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->addFilter($filter$options$this->getName());

        return 
$this;
    }

    
/**
     * Add Multiple filters at once; proxy to adapter
     *
     * @param  array $filters
     * @return Zend_Form_Element_File
     */
    
public function addFilters(array $filters)
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->addFilters($filters$this->getName());

        return 
$this;
    }

    
/**
     * Sets a filter for the class, erasing all previous set; proxy to adapter
     *
     * @param  string|array $filter Filter to set
     * @return Zend_Form_Element_File
     */
    
public function setFilters(array $filters)
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->setFilters($filters$this->getName());

        return 
$this;
    }

    
/**
     * Retrieve individual filter; proxy to adapter
     *
     * @param  string $name
     * @return Zend_Filter_Interface|null
     */
    
public function getFilter($name)
    {
        
$adapter $this->getTransferAdapter();
        return 
$adapter->getFilter($name);
    }

    
/**
     * Returns all set filters; proxy to adapter
     *
     * @return array List of set filters
     */
    
public function getFilters()
    {
        
$adapter $this->getTransferAdapter();
        
$filters $adapter->getFilters($this->getName());

        if (
$filters === null) {
            
$filters = array();
        }
        return 
$filters;
    }

    
/**
     * Remove an individual filter; proxy to adapter
     *
     * @param  string $name
     * @return Zend_Form_Element_File
     */
    
public function removeFilter($name)
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->removeFilter($name);

        return 
$this;
    }

    
/**
     * Remove all filters; proxy to adapter
     *
     * @return Zend_Form_Element_File
     */
    
public function clearFilters()
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->clearFilters();

        return 
$this;
    }

    
/**
     * Validate upload
     *
     * @param  string $value   File, can be optional, give null to validate all files
     * @param  mixed  $context
     * @return bool
     */
    
public function isValid($value$context null)
    {
        if (
$this->_validated) {
            return 
true;
        }

        
$adapter    $this->getTransferAdapter();
        
$translator $this->getTranslator();
        if (
$translator !== null) {
            
$adapter->setTranslator($translator);
        }

        if (!
$this->isRequired()) {
            
$adapter->setOptions(array('ignoreNoFile' => true), $this->getName());
        } else {
            
$adapter->setOptions(array('ignoreNoFile' => false), $this->getName());
            if (
$this->autoInsertNotEmptyValidator() and
                   !
$this->getValidator('NotEmpty'))
            {
                
$validators $this->getValidators();
                
$notEmpty   = array('validator' => 'NotEmpty''breakChainOnFailure' => true);
                
array_unshift($validators$notEmpty);
                
$this->setValidators($validators);
            }
        }

        if(
$adapter->isValid($this->getName())) {
            
$this->_validated true;
            return 
true;
        }

        
$this->_validated false;
        return 
false;
    }

    
/**
     * Receive the uploaded file
     *
     * @return boolean
     */
    
public function receive()
    {
        if (!
$this->_validated) {
            if (!
$this->isValid($this->getName())) {
                return 
false;
            }
        }

        
$adapter $this->getTransferAdapter();
        if (
$adapter->receive($this->getName())) {
            return 
true;
        }

        return 
false;
    }

    
/**
     * Retrieve error codes; proxy to transfer adapter
     *
     * @return array
     */
    
public function getErrors()
    {
        return 
parent::getErrors() + $this->getTransferAdapter()->getErrors();
    }

    
/**
     * Are there errors registered?
     *
     * @return bool
     */
    
public function hasErrors()
    {
        return (
parent::hasErrors() || $this->getTransferAdapter()->hasErrors());
    }

    
/**
     * Retrieve error messages; proxy to transfer adapter
     *
     * @return array
     */
    
public function getMessages()
    {
        return 
parent::getMessages() + $this->getTransferAdapter()->getMessages();
    }

    
/**
     * Set the upload destination
     *
     * @param  string $path
     * @return Zend_Form_Element_File
     */
    
public function setDestination($path)
    {
        
$this->getTransferAdapter()->setDestination($path$this->getName());
        return 
$this;
    }

    
/**
     * Get the upload destination
     *
     * @return string
     */
    
public function getDestination()
    {
        return 
$this->getTransferAdapter()->getDestination($this->getName());
    }

    
/**
     * Get the final filename
     *
     * @param  string  $value (Optional) Element or file to return
     * @param  boolean $path  (Optional) Return also the path, defaults to true
     * @return string
     */
    
public function getFileName($value null$path true)
    {
        if (empty(
$value)) {
            
$value $this->getName();
        }

        return 
$this->getTransferAdapter()->getFileName($value$path);
    }

    
/**
     * Get internal file informations
     *
     * @param  string $value (Optional) Element or file to return
     * @return array
     */
    
public function getFileInfo($value null)
    {
        if (empty(
$value)) {
            
$value $this->getName();
        }

        return 
$this->getTransferAdapter()->getFileInfo($value);
    }

    
/**
     * Set a multifile element
     *
     * @param integer $count Number of file elements
     * @return Zend_Form_Element_File Provides fluent interface
     */
    
public function setMultiFile($count)
    {
        if ((integer) 
$count 2) {
            
$this->setIsArray(false);
            
$this->_counter 1;
        } else {
            
$this->setIsArray(true);
            
$this->_counter = (integer) $count;
        }

        return 
$this;
    }

    
/**
     * Returns the multifile element number
     *
     * @return integer
     */
    
public function getMultiFile()
    {
        return 
$this->_counter;
    }

    
/**
     * Sets the maximum file size of the form
     *
     * @return integer
     */
    
public function getMaxFileSize()
    {
        if (
self::$_maxFileSize 0) {
            
$ini $this->_convertIniToInteger(trim(ini_get('post_max_size')));
            
$max $this->_convertIniToInteger(trim(ini_get('upload_max_filesize')));
            
$min max($ini$max);
            if (
$ini 0) {
                
$min min($min$ini);
            }

            if (
$max 0) {
                
$min min($min$max);
            }

            
self::$_maxFileSize $min;
        }

        return 
self::$_maxFileSize;
    }

    
/**
     * Sets the maximum file size of the form
     *
     * @param  integer $size
     * @return integer
     */
    
public function setMaxFileSize($size)
    {
        
$ini $this->_convertIniToInteger(trim(ini_get('post_max_size')));
        
$max $this->_convertIniToInteger(trim(ini_get('upload_max_filesize')));

        if ((
$max > -1) && ($size $max)) {
            
trigger_error("Your 'upload_max_filesize' config setting limits the maximum filesize to '$max'. You tried to set '$size'."E_USER_NOTICE);
            
$size $max;
        }

        if ((
$ini > -1) && ($size $ini)) {
            
trigger_error("Your 'post_max_size' config setting limits the maximum filesize to '$ini'. You tried to set '$size'."E_USER_NOTICE);
            
$size $ini;
        }

        
self::$_maxFileSize $size;
        return 
$this;
    }

    
/**
     * Converts a ini setting to a integer value
     *
     * @param  string $setting
     * @return integer
     */
    
private function _convertIniToInteger($setting)
    {
        if (!
is_numeric($setting)) {
            
$type strtoupper(substr($setting, -1));
            
$setting = (integer) substr($setting0, -1);

            switch (
$type) {
                case 
'K' :
                    
$setting *= 1024;
                    break;

                case 
'M' :
                    
$setting *= 1024 1024;
                    break;

                case 
'G' :
                    
$setting *= 1024 1024 1024;
                    break;

                default :
                    break;
            }
        }

        return (integer) 
$setting;
    }

    
/**
     * Set if the file will be uploaded when getting the value
     * This defaults to false which will force receive() when calling getValues()
     *
     * @param boolean $flag Sets if the file is handled as the elements value
     * @return Zend_Form_Element_File
     */
    
public function setValueDisabled($flag)
    {
        
$this->_valueDisabled = (bool) $flag;
        return 
$this;
    }

    
/**
     * Returns if the file will be uploaded when calling getValues()
     *
     * @return boolean Receive the file on calling getValues()?
     */
    
public function isValueDisabled()
    {
        return 
$this->_valueDisabled;
    }

    
/**
     * Processes the file, returns null or the filename only
     * For the complete path, use getFileName
     *
     * @return null|string
     */
    
public function getValue()
    {
        if (
$this->_value !== null) {
            return 
$this->_value;
        }

        
$content $this->getTransferAdapter()->getFileName($this->getName());
        if (empty(
$content)) {
            return 
null;
        }

        if (!
$this->isValid(null)) {
            return 
null;
        }

        if (!
$this->_valueDisabled && !$this->receive()) {
            return 
null;
        }

        return 
$this->getFileName(nullfalse);
    }

    
/**
     * Disallow setting the value
     *
     * @param  mixed $value
     * @return Zend_Form_Element_File
     */
    
public function setValue($value)
    {
        return 
$this;
    }

    
/**
     * Set translator object for localization
     *
     * @param  Zend_Translate|null $translator
     * @return Zend_Form_Element_File
     */
    
public function setTranslator($translator null)
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->setTranslator($translator);
        
parent::setTranslator($translator);

        return 
$this;
    }

    
/**
     * Retrieve localization translator object
     *
     * @return Zend_Translate_Adapter|null
     */
    
public function getTranslator()
    {
        
$adapter $this->getTransferAdapter();
        return 
$adapter->getTranslator();
    }

    
/**
     * Indicate whether or not translation should be disabled
     *
     * @param  bool $flag
     * @return Zend_Form_Element_File
     */
    
public function setDisableTranslator($flag)
    {
        
$adapter $this->getTransferAdapter();
        
$adapter->setDisableTranslator($flag);
        
$this->_translatorDisabled = (bool) $flag;

        return 
$this;
    }

    
/**
     * Is translation disabled?
     *
     * @return bool
     */
    
public function translatorIsDisabled()
    {
        
$adapter $this->getTransferAdapter();
        return 
$adapter->translatorIsDisabled();
    }

    
/**
     * Was the file received?
     *
     * @return bool
     */
    
public function isReceived()
    {
        
$adapter $this->getTransferAdapter();
        return 
$adapter->isReceived($this->getName());
    }

    
/**
     * Was the file uploaded?
     *
     * @return bool
     */
    
public function isUploaded()
    {
        
$adapter $this->getTransferAdapter();
        return 
$adapter->isUploaded($this->getName());
    }

    
/**
     * Has the file been filtered?
     *
     * @return bool
     */
    
public function isFiltered()
    {
        
$adapter $this->getTransferAdapter();
        return 
$adapter->isFiltered($this->getName());
    }

    
/**
     * Returns the hash for this file element
     *
     * @param string $hash (Optional) Hash algorithm to use
     * @return string|array Hashstring
     */
    
public function getHash($hash 'crc32')
    {
        
$adapter $this->getTransferAdapter();
        return 
$adapter->getHash($hash$this->getName());
    }

    
/**
     * Returns the filesize for this file element
     *
     * @return string|array Filesize
     */
    
public function getFileSize()
    {
        
$adapter $this->getTransferAdapter();
        return 
$adapter->getFileSize($this->getName());
    }

    
/**
     * Returns the mimetype for this file element
     *
     * @return string|array Mimetype
     */
    
public function getMimeType()
    {
        
$adapter $this->getTransferAdapter();
        return 
$adapter->getMimeType($this->getName());
    }

    
/**
     * Render form element
     * Checks for decorator interface to prevent errors
     *
     * @param  Zend_View_Interface $view
     * @return string
     */
    
public function render(Zend_View_Interface $view null)
    {
        
$marker false;
        foreach (
$this->getDecorators() as $decorator) {
            if (
$decorator instanceof Zend_Form_Decorator_Marker_File_Interface) {
                
$marker true;
            }
        }

        if (!
$marker) {
            require_once 
'Zend/Form/Element/Exception.php';
            throw new 
Zend_Form_Element_Exception('No file decorator found... unable to render file element');
        }

        return 
parent::render($view);
    }

    
/**
     * Retrieve error messages and perform translation and value substitution
     *
     * @return array
     */
    
protected function _getErrorMessages()
    {
        
$translator $this->getTranslator();
        
$messages   $this->getErrorMessages();
        
$value      $this->getFileName();
        foreach (
$messages as $key => $message) {
            if (
null !== $translator) {
                
$message $translator->translate($message);
            }

            if (
$this->isArray() || is_array($value)) {
                
$aggregateMessages = array();
                foreach (
$value as $val) {
                    
$aggregateMessages[] = str_replace('%value%'$val$message);
                }

                if (!empty(
$aggregateMessages)) {
                    
$messages[$key] = $aggregateMessages;
                }
            } else {
                
$messages[$key] = str_replace('%value%'$value$message);
            }
        }

        return 
$messages;
    }
}

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