!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/local/lsws/admin/html.open/lib/   drwxr-xr-x
Free 13.25 GB of 57.97 GB (22.86%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     DMsg.php (8.01 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

class DMsg
{

    const 
LANG_DIR 'admin/html/res/lang/';
    const 
DEFAULT_LANG 'english';
    const 
LANG_ENGLISH 'english';
    const 
LANG_CHINESE 'chinese';
    const 
LANG_JAPANES 'japanes';
    const 
_COOKIE_LANG_ 'litespeed_admin_lang';

    private static 
$_supported = [
        
self::LANG_ENGLISH => ['English''en-US'],
        
self::LANG_CHINESE => ['中文''zh-CN'],
        
self::LANG_JAPANES => ['日本語''ja-JP'],
    ];
    private static 
$_curlang '';
    private static 
$_curtips '';

    private static function 
init()
    {
        
$lang DMsg::DEFAULT_LANG;

        if (isset(
$_SESSION[DMsg::_COOKIE_LANG_])) {
            
$lang $_SESSION[DMsg::_COOKIE_LANG_];
        } else {
            
$lang1 UIBase::GrabGoodInput('cookie'self::_COOKIE_LANG_);
            if (
$lang1 != null && $lang != $lang1 && array_key_exists($lang1,
                                                                      
self::$_supported)) {
                
$lang $lang1;
            }
            
DMsg::SetLang($lang);
        }

        
$filecode self::$_supported[$lang][1];
        
self::$_curlang $lang;

        
$msgfile SERVER_ROOT self::LANG_DIR 'en-US_msg.php';
        if (
file_exists($msgfile)) {
            
// maybe called from command line for converter tool
            
include $msgfile;

            if (
$lang != DMsg::DEFAULT_LANG) {
                include 
SERVER_ROOT self::LANG_DIR $filecode '_msg.php';
            }
        }
    }

    private static function 
init_tips()
    {
        if (
self::$_curlang == '') {
            
self::init();
        }

        if (
self::$_curlang != self::DEFAULT_LANG) {
            
$filecode self::$_supported[self::DEFAULT_LANG][1];
            include 
SERVER_ROOT self::LANG_DIR $filecode '_tips.php';
        }
        
$filecode self::$_supported[self::$_curlang][1];
        
self::$_curtips $filecode '_tips.php';
        include 
SERVER_ROOT self::LANG_DIR self::$_curtips;
    }

    public static function 
GetSupportedLang(&$cur_lang)
    {
        if (
self::$_curlang == '') {
            
self::init();
        }

        
$cur_lang self::$_curlang;
        return 
self::$_supported;
    }

    public static function 
SetLang($lang)
    {
        if (
PHP_SAPI !== 'cli' && array_key_exists($langself::$_supported)) {
            
$_SESSION[DMsg::_COOKIE_LANG_] = $lang;
            
self::$_curlang '';
            
self::$_curtips '';
            
$domain $_SERVER['HTTP_HOST'];
            if (
$pos strpos($domain':')) {
                
$domain substr($domain0$pos);
            }
            
$secure = !empty($_SERVER['HTTPS']);
            
$httponly true;

            
setcookie(DMsg::_COOKIE_LANG_$langstrtotime('+10 days'), '/',
                                                            
$domain$secure,
                                                            
$httponly);
        }
    }

    public static function 
GetAttrTip($label)
    {
        if (
$label == '') {
            return 
null;
        }

        global 
$_tipsdb;

        if (
self::$_curtips == '') {
            
self::init_tips();
        }

        if (isset(
$_tipsdb[$label])) {
            return 
$_tipsdb[$label];
        } else {
            
//error_log("DMsg:undefined attr tip $label"); allow null
            
return null;
        }
    }

    public static function 
GetEditTips($labels)
    {
        global 
$_tipsdb;

        if (
self::$_curtips == '') {
            
self::init_tips();
        }

        
$tips = [];
        foreach (
$labels as $label) {
            
$label 'EDTP:' $label;
            if (isset(
$_tipsdb[$label]))
                
$tips array_merge($tips$_tipsdb[$label]);
        }
        if (empty(
$tips)) {
            return 
null;
        } else {
            return 
$tips;
        }
    }

    public static function 
UIStr($tag$repl '')
    {
        if (
$tag == '') {
            return 
null;
        }

        global 
$_gmsg;
        if (
self::$_curlang == '') {
            
DMsg::init();
        }

        if (isset(
$_gmsg[$tag])) {
            if (
$repl == '') {
                return 
$_gmsg[$tag];
            }
            
$search array_keys($repl);
            
$replace array_values($repl);
            return 
str_replace($search$replace$_gmsg[$tag]);
        }
        
//error_log("DMsg:undefined UIStr tag $tag");
        
return 'Unknown';
    }

    public static function 
EchoUIStr($tag$repl '')
    {
        echo 
DMsg::UIStr($tag$repl);
    }

    public static function 
DocsUrl()
    {
        if (
self::$_curlang == '') {
            
DMsg::init();
        }

        
$url '/docs/';
        if (
self::$_curlang != self::DEFAULT_LANG) {
            
$url .= self::$_supported[self::$_curlang][1] . '/';
        }
        return 
$url;
    }

    public static function 
ALbl($tag)
    {
        if (
$tag == '') {
            return 
null;
        }

        global 
$_gmsg;
        if (
self::$_curlang == '') {
            
DMsg::init();
        }

        if (isset(
$_gmsg[$tag])) {
            return 
$_gmsg[$tag];
        }
        
//error_log("DMsg:undefined ALbl tag $tag");
        
return 'Unknown';
    }

    public static function 
Err($tag)
    {
        if (
$tag == '') {
            return 
null;
        }

        global 
$_gmsg;
        if (
self::$_curlang == '') {
            
DMsg::init();
        }

        if (isset(
$_gmsg[$tag])) {
            return 
$_gmsg[$tag] . ' '// add extra space
        
}
        
//error_log("DMsg:undefined Err tag $tag");
        
return 'Unknown';
    }

    private static function 
echo_sort_keys($lang_array$priority)
    {
        
$keys array_keys($lang_array);
        
$key2 = [];
        foreach (
$keys as $key) {
            
$pos strpos($key'_') + 1;
            
$key2[substr($key0$pos)][] = substr($key$pos);
        }

        foreach (
$priority as $pri) {
            if (isset(
$key2[$pri])) {
                
sort($key2[$pri]);
                foreach (
$key2[$pri] as $subid) {
                    
$id $pri $subid;
                    echo 
'$_gmsg[\'' $id '\'] = \'' addslashes($lang_array[$id]) . "'; \n";
                }
                echo 
"\n\n";
                unset(
$key2[$pri]);
            }
        }

        if (
count($key2) > 0) {
            echo 
"// *** Not in priority \n";
            
print_r($key2);
        }
    }

    public static function 
Util_SortMsg($lang$option)
    {
        if (!
array_key_exists($langself::$_supported)) {
            echo 
"language $lang not supported! \n" .
            
"Currently supported:" print_r(array_keys(self::$_supported), true);
            return;
        }

        global 
$_gmsg;

        
$filecode self::$_supported[$lang][1];
        include 
'en-US_msg.php';

        
$english $_gmsg;
        
$added null;
        
$_gmsg null;

        if (
$lang != DMsg::DEFAULT_LANG) {
            include 
$filecode '_msg.php';
            
$added $_gmsg;
        }

        
$header '<?php

/**
 * WebAdmin Language File
* ' 
self::$_supported[$lang][0] . '(' self::$_supported[$lang][1] . ')
*
* Please Note: These language files will be overwritten during software updates.
*
* @author     LiteSpeed Technoglogies
* @copyright  Copyright (c) LiteSpeed 2014-2021
* @link       https://www.litespeedtech.com/
*/

global $_gmsg;'
;

        echo 
$header "\n\n";

        
$priority = ['menu_''tab_''btn_''note_''err_''l_''o_''parse_',
            
'service_''buildphp_''mail_'];

        if (!
$added) {
            
// output sorted english
            
self::echo_sort_keys($english$priority);
        } else {

            if (
$option == 'mixed') {
                
$mixed array_merge($english$added);
                
self::echo_sort_keys($mixed$priority);
            } else {
                
self::echo_sort_keys($added$priority);

                echo 
"\n//***** Not in original lang file ***\n\n";

                foreach (
$added as $addedkey => $msg) {
                    unset(
$english[$addedkey]);
                }
                
self::echo_sort_keys($english$priority);
            }
        }
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0064 ]--