!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)

C:\dmz\php\pear\Translation2\   drwxrwxrwx
Free 4.11 GB of 39.52 GB (10.4%)
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:     Container.php (10.02 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */

/**
 * Contains the Translation2_Container base class
 *
 * PHP versions 4 and 5
 *
 * LICENSE: Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. The name of the author may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * @category  Internationalization
 * @package   Translation2
 * @author    Lorenzo Alberton <l.alberton@quipo.it>
 * @copyright 2004-2005 Lorenzo Alberton
 * @license   http://www.debian.org/misc/bsd.license  BSD License (3 Clause)
 * @version   CVS: $Id: Container.php 305985 2010-12-05 22:55:33Z clockwerx $
 * @link      http://pear.php.net/package/Translation2
 */

/**
 * Base class for Translation2 drivers/containers
 *
 * Extend this class to provide custom containers.
 * Some containers are already bundled with the package.
 *
 * @category  Internationalization
 * @package   Translation2
 * @author    Lorenzo Alberton <l.alberton@quipo.it>
 * @copyright 2004-2005 Lorenzo Alberton
 * @license   http://www.debian.org/misc/bsd.license  BSD License (3 Clause)
 * @link      http://pear.php.net/package/Translation2
 */
class Translation2_Container
{
    
// {{{ Class vars

    /**
     * Additional options for the storage container
     * @var array
     */
    
var $options = array();

    
/**
     * @var array
     * @access private
     */
    
var $currentLang = array();

    
/**
     * @var array
     * @access private
     */
    
var $langs = array();

    
// }}}
    // {{{ Constructor

    /**
     * Constructor
     * Has to be overwritten by each storage class
     *
     * @access public
     */
    
function Translation2_Container()
    {
    }

    
// }}}
    // {{{ _parseOptions()

    /**
     * Parse options passed to the container class
     *
     * @param array $array options
     *
     * @return void
     * @access protected
     */
    
function _parseOptions($array)
    {
        if (!
is_array($array)) {
            return;
        }
        foreach (
$array as $key => $value) {
            if (isset(
$this->options[$key])) {
                
$this->options[$key] = $value;
            }
        }
    }

    
// }}}
    // {{{ _getLangID()

    /**
     * Get a valid langID or raise an error when no valid language is set
     *
     * @param string $langID language ID
     *
     * @return string language ID or PEAR_Error on error
     * @access private
     */
    
function _getLangID($langID)
    {
        if (!empty(
$langID) || (=== $langID)) {
            return 
$langID;
        }
        if (!empty(
$this->currentLang['id']) || (=== $this->currentLang['id'])) {
            return 
$this->currentLang['id'];
        }
        
$msg 'No valid language set. Use Translation2::setLang().';
        return 
$this->raiseError($msgTRANSLATION2_ERROR_UNKNOWN_LANG);
    }

    
// }}}
    // {{{ setCharset()

    /**
     * Set charset used to read/store the translations
     *
     * @param string $charset character set (encoding)
     *
     * @return PEAR_Error on error
     */
    
function setCharset($charset)
    {
        if (
method_exists($this->storage'setCharset')) {
            return 
$this->storage->setCharset($charset);
        }
        return 
$this->raiseError(TRANSLATION2_ERROR_UNSUPPORTEDnullnull,
            
'method not implemented'__FUNCTION__);
    }

    
// }}}
    // {{{ setLang()

    /**
     * Sets the current language
     *
     * @param string $langID language ID
     *
     * @return array|PEAR_Error language information
     */
    
function setLang($langID)
    {
        
$res $this->getLangs(); //load available languages, if not loaded yet
        
if (PEAR::isError($res)) {
            return 
$res;
        }
        if (!
array_key_exists($langID$this->langs)) {
            return 
$this->raiseError('unknown language: "'.$langID.'"',
                                    
TRANSLATION2_ERROR_UNKNOWN_LANG,
                                    
PEAR_ERROR_RETURN,
                                    
E_USER_WARNING);
        }
        
$this->currentLang $this->langs[$langID];
        return 
$this->langs[$langID];
    }

    
// }}}
    // {{{ getLang()

    /**
     * Gets the current lang
     *
     * @param string $format what must be returned
     *
     * @return mixed array with current lang data or null if not set yet
     */
    
function getLang($format 'id')
    {
        return isset(
$this->currentLang['id']) ? $this->currentLang null;
    }

    
// }}}
    // {{{ getLangData()

    /**
     * Gets the array data for the lang
     *
     * @param string $langID language ID
     * @param string $format what must be returned
     *
     * @return mixed array with lang data or null if not available
     */
    
function getLangData($langID$format 'id')
    {
        
$langs $this->getLangs('array');
        return isset(
$langs[$langID]) ? $langs[$langID] : null;
    }

    
// }}}
    // {{{ getLangs()

    /**
     * Gets the available languages
     *
     * @param string $format ['array' | 'ids' | 'names' | 'encodings']
     *
     * @return array|PEAR_Error
     */
    
function getLangs($format 'array')
    {
        
//if not cached yet, fetch langs data from the container
        
if (empty($this->langs) || !count($this->langs)) {
            
$res $this->fetchLangs(); //container-specific method
            
if (PEAR::isError($res)) {
                return 
$res;
            }
        }

        
$tmp = array();
        switch (
$format) {
        case 
'array':
            foreach (
$this->langs as $aLang) {
                
$aLang['lang_id']  = $aLang['id'];
                
$tmp[$aLang['id']] = $aLang;
            }
            break;
        case 
'id':
        case 
'ids':
            foreach (
$this->langs as $aLang) {
                
$tmp[] = $aLang['id'];
            }
            break;
        case 
'encoding':
        case 
'encodings':
            foreach (
$this->langs as $aLang) {
                
$tmp[] = $aLang['encoding'];
            }
            break;
        case 
'name':
        case 
'names':
        default:
            foreach (
$this->langs as $aLang) {
                
$tmp[$aLang['id']] = $aLang['name'];
            }
        }
        return 
$tmp;
    }

    
// }}}
    // {{{ fetchLangs()

    /**
     * Fetch the available langs if they're not cached yet.
     * Containers should implement this method.
     *
     * @return PEAR_Error on error
     */
    
function fetchLangs()
    {
        return 
$this->raiseError('method "fetchLangs" not supported',
                                 
TRANSLATION_ERROR_METHOD_NOT_SUPPORTED);
    }

    
// }}}
    // {{{ getPage()

    /**
     * Returns an array of the strings in the selected page
     * Containers should implement this method.
     *
     * @param string $pageID page/group ID
     * @param string $langID language ID
     *
     * @return array
     */
    
function getPage($pageID null$langID null)
    {
        return 
$this->raiseError('method "getPage" not supported',
                                 
TRANSLATION_ERROR_METHOD_NOT_SUPPORTED);
    }

    
// }}}
    // {{{ getOne()

    /**
     * Get a single item from the container, without caching the whole page
     * Containers should implement this method.
     *
     * @param string $stringID string ID
     * @param string $pageID   page/group ID
     * @param string $langID   language ID
     *
     * @return string
     */
    
function getOne($stringID$pageID null$langID null)
    {
        return 
$this->raiseError('method "getOne" not supported',
                                 
TRANSLATION_ERROR_METHOD_NOT_SUPPORTED);
    }

    
// }}}
    // {{{ getStringID()

    /**
     * Get the stringID for the given string
     *
     * @param string $string string
     * @param string $pageID page/group ID
     *
     * @return string
     */
    
function getStringID($string$pageID null)
    {
        return 
$this->raiseError('method "getStringID" not supported',
                                 
TRANSLATION_ERROR_METHOD_NOT_SUPPORTED);
    }

    
// }}}
    // {{{ raiseError()

    /**
     * Trigger a PEAR error
     *
     * @param string $msg    error message
     * @param int    $code   error code
     * @param int    $mode   PEAR error mode
     * @param int    $option error severity
     *
     * @return void|PEAR_Error
     * @access public
     */
    
function raiseError($msg$code$mode PEAR_ERROR_TRIGGER$option E_USER_WARNING)
    {
        if (isset(
$GLOBALS['_PEAR_default_error_mode'])) {
            
$mode $GLOBALS['_PEAR_default_error_mode'];
        }
        if (isset(
$GLOBALS['_PEAR_default_error_options'])) {
            
$option $GLOBALS['_PEAR_default_error_options'];
        }
        if (
$mode == PEAR_ERROR_RETURN) {
            return 
PEAR::raiseError($msg$code$mode$option);
        } else {
            
PEAR::raiseError($msg$code$mode$option);
        }
    }

    
// }}}
}
?>

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