!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/smm.picotech.app/public_html/vendor/barryvdh/laravel-translation-manager/src/   drwxr-xr-x
Free 28.55 GB of 117.98 GB (24.2%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Controller.php (6.83 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php namespace Barryvdh\TranslationManager;

use 
Illuminate\Http\Request;
use 
Illuminate\Routing\Controller as BaseController;
use 
Barryvdh\TranslationManager\Models\Translation;
use 
Illuminate\Support\Collection;
use 
Illuminate\Support\Str;

class 
Controller extends BaseController
{
    
/** @var \Barryvdh\TranslationManager\Manager  */
    
protected $manager;

    public function 
__construct(Manager $manager)
    {
        
$this->manager $manager;
    }

    public function 
getIndex($group null)
    {
        
$locales $this->manager->getLocales();
        
$groups Translation::groupBy('group');
        
$excludedGroups $this->manager->getConfig('exclude_groups');
        if(
$excludedGroups){
            
$groups->whereNotIn('group'$excludedGroups);
        }

        
$groups $groups->select('group')->orderBy('group')->get()->pluck('group''group');
        if (
$groups instanceof Collection) {
            
$groups $groups->all();
        }
        
$groups = [''=>'Choose a group'] + $groups;
        
$numChanged Translation::where('group'$group)->where('status'Translation::STATUS_CHANGED)->count();


        
$allTranslations Translation::where('group'$group)->orderBy('key''asc')->get();
        
$numTranslations count($allTranslations);
        
$translations = [];
        foreach(
$allTranslations as $translation){
            
$translations[$translation->key][$translation->locale] = $translation;
        }

         return 
view('translation-manager::index')
            ->
with('translations'$translations)
            ->
with('locales'$locales)
            ->
with('groups'$groups)
            ->
with('group'$group)
            ->
with('numTranslations'$numTranslations)
            ->
with('numChanged'$numChanged)
            ->
with('editUrl'$group action('\Barryvdh\TranslationManager\Controller@postEdit', [$group]) : null)
            ->
with('deleteEnabled'$this->manager->getConfig('delete_enabled'));
    }

    public function 
getView($group null)
    {
        return 
$this->getIndex($group);
    }

    protected function 
loadLocales()
    {
        
//Set the default locale as the first one.
        
$locales Translation::groupBy('locale')
            ->
select('locale')
            ->
get()
            ->
pluck('locale');

        if (
$locales instanceof Collection) {
            
$locales $locales->all();
        }
        
$locales array_merge([config('app.locale')], $locales);
        return 
array_unique($locales);
    }

    public function 
postAdd($group null)
    {
        
$keys explode("\n"request()->get('keys'));

        foreach(
$keys as $key){
            
$key trim($key);
            if(
$group && $key){
                
$this->manager->missingKey('*'$group$key);
            }
        }
        return 
redirect()->back();
    }

    public function 
postEdit($group null)
    {
        if(!
in_array($group$this->manager->getConfig('exclude_groups'))) {
            
$name request()->get('name');
            
$value request()->get('value');

            list(
$locale$key) = explode('|'$name2);
            
$translation Translation::firstOrNew([
                
'locale' => $locale,
                
'group' => $group,
                
'key' => $key,
            ]);
            
$translation->value = (string) $value ?: null;
            
$translation->status Translation::STATUS_CHANGED;
            
$translation->save();
            return array(
'status' => 'ok');
        }
    }

    public function 
postDelete($group$key)
    {
        if(!
in_array($group$this->manager->getConfig('exclude_groups')) && $this->manager->getConfig('delete_enabled')) {
            
Translation::where('group'$group)->where('key'$key)->delete();
            return [
'status' => 'ok'];
        }
    }

    public function 
postImport(Request $request)
    {
        
$replace $request->get('replace'false);
        
$counter $this->manager->importTranslations($replace);

        return [
'status' => 'ok''counter' => $counter];
    }

    public function 
postFind()
    {
        
$numFound $this->manager->findTranslations();

        return [
'status' => 'ok''counter' => (int) $numFound];
    }

    public function 
postPublish($group null)
    {
         
$json false;

        if(
$group === '_json'){
            
$json true;
        }

        
$this->manager->exportTranslations($group$json);

        return [
'status' => 'ok'];
    }

    public function 
postAddGroup(Request $request)
    {
        
$group str_replace("."''$request->input('new-group'));
        if (
$group)
        {
            return 
redirect()->action('\Barryvdh\TranslationManager\Controller@getView',$group);
        }
        else
        {
            return 
redirect()->back();
        }
    }

    public function 
postAddLocale(Request $request)
    {
        
$locales $this->manager->getLocales();
        
$newLocale str_replace([], '-'trim($request->input('new-locale')));
        if (!
$newLocale || in_array($newLocale$locales)) {
            return 
redirect()->back();
        }
        
$this->manager->addLocale($newLocale);
        return 
redirect()->back();
    }

    public function 
postRemoveLocale(Request $request)
    {
        foreach (
$request->input('remove-locale', []) as $locale => $val) {
            
$this->manager->removeLocale($locale);
        }
        return 
redirect()->back();
    }

    public function 
postTranslateMissing(Request $request){
        
$locales $this->manager->getLocales();
        
$newLocale str_replace([], '-'trim($request->input('new-locale')));
        if(
$request->has('with-translations') && $request->has('base-locale') && in_array($request->input('base-locale'),$locales) && $request->has('file') && in_array($newLocale$locales)){
            
$base_locale $request->get('base-locale');
            
$group $request->get('file');
            
$base_strings Translation::where('group'$group)->where('locale'$base_locale)->get();
            foreach (
$base_strings as $base_string) {
                
$base_query Translation::where('group'$group)->where('locale'$newLocale)->where('key'$base_string->key);
                if (
$base_query->exists() && $base_query->whereNotNull('value')->exists()) {
                    
// Translation already exists. Skip
                    
continue;
                }
                
$translated_text Str::apiTranslateWithAttributes($base_string->value$newLocale$base_locale);
                
request()->replace([
                    
'value' => $translated_text,
                    
'name' => $newLocale '|' $base_string->key,
                ]);
                
app()->call(
                    
'Barryvdh\TranslationManager\Controller@postEdit',
                    [
                        
'group' => $group
                    
]
                );
            }
            return 
redirect()->back();
        }
        return 
redirect()->back();
    }
}

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