!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\I18N\   drwxrwxrwx
Free 4.08 GB of 39.52 GB (10.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:     Negotiator.php (8.64 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | PHP version 4.0                                                      |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003 The PHP Group       |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available at through the world-wide-web at                           |
// | http://www.php.net/license/2_02.txt.                                 |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Naoki Shima <murahachibu@php.net>                           |
// |                                                                      |
// +----------------------------------------------------------------------+//
// $Id: Negotiator.php 110339 2003-01-04 11:55:29Z mj $

/**
*
* //instantiate Locale_Negotiator
* $negotiator       = & new I18N_Negotiator();

* //define which language[s] your site supports :: optional
* $supportLangs     = array('fr','jp');
*
* //find first matched language
* $lang             =  $negotiator->getLanguageMatch($supportedLangs);
*
* //define which countries your site supports :: optional
* $supportCountries = array('gb','us');
*
* //find first matched Country
* $countryCode      = $negotiator->getCountryMatch($lang,$supportCountries);
*
* echo 'Language Code: '.$lang.'
* Language Name: '.$negotiator->getLanguageName($lang).'
* Country Code: '.$countryCode.'
* Country Name: '.$negotiator->getCountryName($countryCode);
*/

class I18N_Negotiator{

    
// {{{ properties

    /**
     * Save default country code.
     *
     * @type  : string
     * @access: private
     */
    
var $_defaultCountry;

    
/**
     * Save default language code.
     *
     * @type  : string
     * @access: private
     */
    
var $_defaultLanguage;

    
/**
     * Save default charset code.
     *
     * @type  : string
     * @access: private
     */
    
var $_defaultCharset;

    
// }}}
    // {{{ constructor

    /**
     * Find language code, country code, charset code, and dialect or variant
     * of Locale setting in user's browser from $HTTP_ACCEPT_LANGUAGE,
     * $LANGUAGE_ACCEPT_CHARSET
     *
     * @param : string   Default Language
     * @param : string   Default Charset
     * @param : string   Default Country
     */
    
function I18N_Negotiator($defaultLanguage "en"$defaultCharset "ISO-8859-1"$defaultCountry "")
    {
        if(
$_SERVER) {
            
$HTTP_ACCEPT_LANGUAGE = ( in_array("HTTP_ACCEPT_LANGUAGE",
                
array_keys($_SERVER)) ) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : "";
            
$HTTP_ACCEPT_CHARSET = ( in_array("HTTP_ACCEPT_CHARSET",
                
array_keys($_SERVER)) ) ? $_SERVER['HTTP_ACCEPT_CHARSET'] : "";
        } else {
            global 
$HTTP_ACCEPT_LANGUAGE,$HTTP_ACCEPT_CHARSET;
        }
        
$this->_defaultCountry $defaultCountry;
        
$this->_defaultLanguage $defaultLanguage;
        
$this->_defaultCharset $defaultCharset;
        
$langs explode(',',$HTTP_ACCEPT_LANGUAGE);
        foreach(
$langs AS $lang_tag) {
            
// Cut off any q-value that might come after a semi-colon
            
if($pos strpos($lang_tag';')) {
                
$lang_tag trim(substr($lang_tag,0,$pos));
            }
            
$lang $lang_tag;
            if(
$pos strpos($lang_tag'-')) {
                
$primary_tag substr($lang_tag,0,$pos);
                
$sub_tag substr($lang_tag,($pos+1));
                if(
$primary_tag == 'i') {
                    
/**
                     * Language not listed in ISO 639 that are not variants
                     * of any listed language, which can be registerd with the
                     * i-prefix, such as i-cherokee
                     */
                    
$lang $sub_tag;
                } else {
                    
$lang $primary_tag;
                    
$this->_prepareI18NCountry();
                    if(
$this->_lc->isValidCode($sub_tag)) {
                        
$this->_country[$lang][] = $sub_tag;
                    } else { 
                        
/**
                         * Dialect or variant information such as no-nynorsk or
                         * en-cockney.
                         * Script variations, such as az-arabic and az-cyrillic
                         */ 
                        
$this->_lang_variation[$lang][] = $sub_tag;
                    }
                }
            }
            
$this->_acceptLanguage[] = $lang;
        }
        
$this->_acceptCharset explode(',',$HTTP_ACCEPT_CHARSET);
    }

    
// }}}
    // {{{ _constructor();

    /**
     * Dummy constructor
     * call actual constructor
     */
    
function _constructor()
    {
        
$this->I18N_Negotiator();
    }

    
// }}}
    // {{{ destructor

    /**
     * It does nothing right now
     */
    
function _I18N_Negotiater()
    {
    }

    
// }}}
    // {{{ getCountryMatch()

    /**
     * Find Country Match 
     *
     * @param : string
     * @param : array 
     *
     * @return: array
     * @access: public
     */
    
function getCountryMatch($lang='',$countries '')
    {
        if(!
$lang) {
            return 
FALSE;
        }
        return 
$this->_getMatch($countries,$this->_country[$lang],
                   
$this->_defaultCountry);
    }
 
    
// }}}
    // {{{ getVariantInfo()

    /**
     * Return variant info for passed parameter.
     *
     * @param : string
     *
     * @return: string
     * @access: public
     */
    
function getVariantInfo($lang)
    {
        return 
$this->_lang_variation[$lang];
    }

    
// }}}
    // {{{ getCharsetMatch()

    /**
     * Find Charset match
     *
     * @param : array 
     * 
     * @return: string
     * @access: public
     */
    
function getCharsetMatch($chasets '')
    {
        return 
$this->_getMatch($charsets,$this->_acceptCharset,
                   
$this->_defaultCharset);
    }

    
// }}}
    // {{{ getLanguageMatch()

    /**
     * Find Language match
     *
     * @param : array 
     * 
     * @return: string
     * @access: public
     */
    
function getLanguageMatch($langs '')
    {
        return 
$this->_getMatch($langs,$this->_acceptLanguage,
                   
$this->_defaultLanguage);
    }
    
    
// }}}
    // {{{ _getMatch()

    /**
     * Return first matched value from first and second parameter.
     * If there is no match found, then return third parameter.
     * 
     * @param : array
     * @param : array
     * @param : string
     * 
     * @return: string
     * @access: private
     */
    
function _getMatch($needle,$heystack,$default '')
    {
        if(!
$heystack) {
            return 
$default;
        }
        if(!
$needle) {
            return 
array_shift($heystack);
        }
        if(
$result array_shift(array_intersect($heystack,$needle))) {
            return 
$result;
        }
        return 
$default;
    }
    
    
/**
     * Find Country name for country code passed 
     * 
     * @param : string   country code
     *
     * @return: void
     * @access: private
     */
    
function getCountryName($code)
    {
        
$this->_prepareI18NCountry();
        return 
$this->_lc->getName($code);
    }

    
/**
     * Find Country name for country code passed 
     * 
     * @param : string   country code
     *
     * @return: void
     * @access: private
     */
    
function getLanguageName($code)
    {
        
$this->_prepareI18NLanguage();
        return 
$this->_ll->getName($code);
    }

    
/**
     * Check if I18N_Language class has been instantiated and set to $this->_ll
     * If it's not, it will load the script and instantiate I18N_Language class
     * 
     * @return: void
     * @access: private
     */
    
function _prepareI18NLanguage()
    {
        if(!isset(
$this->_ll)) {
            include_once(
'I18N/Language.php');
            
$this->_ll =& new I18N_Language();
        }
    }

    
/**
     * Check if I18N_Country class has been instantiated and set to $this->_lc
     * If it's not, it will load the script and instantiate I18N_Country class
     * 
     * @return: void
     * @access: private
     */
    
function _prepareI18NCountry()
    {
        if(!isset(
$this->_lc)) {
            include_once(
'I18N/Country.php');
            
$this->_lc =& new I18N_Country();
        }
    }
}
?>

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