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

/var/www/html/laravel-crm/packages/Webkul/Core/src/SystemConfig/   drwxrwxrwx
Free 13.19 GB of 57.97 GB (22.75%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Webkul\Core\SystemConfig;

use 
Illuminate\Support\Str;

class 
ItemField
{
    
/**
     * Laravel to Vee Validation mappings.
     *
     * @var array
     */
    
protected $veeValidateMappings = [
        
'min'=> 'min_value',
    ];

    
/**
     * Create a new ItemField instance.
     */
    
public function __construct(
        public 
string $item_key,
        public 
string $name,
        public 
string $title,
        public ?
string $info,
        public 
string $type,
        public ?
string $path,
        public ?
string $validation,
        public ?
string $depends,
        public ?
string $default,
        public ?
bool $channel_based,
        public ?
bool $locale_based,
        public array|
string $options,
        public 
bool $is_visible true,
        public 
bool $tinymce false,
    ) {
        
$this->options $this->getOptions();
    }

    
/**
     * Get name of config item.
     */
    
public function getName(): ?string
    
{
        return 
$this->name;
    }

    
/**
     * Get info of config item.
     */
    
public function getInfo(): ?string
    
{
        return 
$this->info ?? '';
    }

    
/**
     * Get title of config item.
     */
    
public function getTitle(): ?string
    
{
        return 
$this->title ?? '';
    }

    
/**
     * Determine if the field should use TinyMCE.
     */
    
public function getTinymce(): bool
    
{
        return 
$this->tinymce;
    }

    
/**
     * Get type of config item.
     */
    
public function getType(): string
    
{
        return 
$this->type;
    }

    
/**
     * Get path of config item.
     */
    
public function getPath(): ?string
    
{
        return 
$this->path;
    }

    
/**
     * Get item key of config item.
     */
    
public function getItemKey(): string
    
{
        return 
$this->item_key;
    }

    
/**
     * Get validation of config item.
     */
    
public function getValidations(): ?string
    
{
        if (empty(
$this->validation)) {
            return 
'';
        }

        foreach (
$this->veeValidateMappings as $laravelRule => $veeValidateRule) {
            
$this->validation str_replace($laravelRule$veeValidateRule$this->validation);
        }

        return 
$this->validation;
    }

    
/**
     * Get depends of config item.
     */
    
public function getDepends(): ?string
    
{
        return 
$this->depends;
    }

    
/**
     * Get default value of config item.
     */
    
public function getDefault(): ?string
    
{
        return 
$this->default;
    }

    
/**
     * Get channel based of config item.
     */
    
public function getChannelBased(): ?bool
    
{
        return 
$this->channel_based;
    }

    
/**
     * Get locale based of config item.
     */
    
public function getLocaleBased(): ?bool
    
{
        return 
$this->locale_based;
    }

    
/**
     * Get name field for forms in configuration page.
     */
    
public function getNameKey(): string
    
{
        return 
$this->item_key.'.'.$this->name;
    }

    
/**
     * Check if the field is required.
     */
    
public function isRequired(): string
    
{
        return 
Str::contains($this->getValidations(), 'required') ? 'required' '';
    }

    
/**
     * Get options of config item.
     */
    
public function getOptions(): array
    {
        if (
is_array($this->options)) {
            return 
collect($this->options)->map(fn ($option) => [
                
'title' => trans($option['title']),
                
'value' => $option['value'],
            ])->
toArray();
        }

        return 
collect($this->getFieldOptions($this->options))->map(fn ($option) => [
            
'title' => trans($option['title']),
            
'value' => $option['value'],
        ])->
toArray();
    }

    
/**
     * Convert the field to an array.
     */
    
public function toArray()
    {
        return [
            
'name'          => $this->getName(),
            
'title'         => $this->getTitle(),
            
'info'          => $this->getInfo(),
            
'type'          => $this->getType(),
            
'path'          => $this->getPath(),
            
'depends'       => $this->getDepends(),
            
'validation'    => $this->getValidations(),
            
'default'       => $this->getDefault(),
            
'channel_based' => $this->getChannelBased(),
            
'locale_based'  => $this->getLocaleBased(),
            
'options'       => $this->getOptions(),
            
'item_key'      => $this->getItemKey(),
            
'tinymce'       => $this->getTinymce(),
        ];
    }

    
/**
     * Get name field for forms in configuration page.
     *
     * @param  string  $key
     * @return string
     */
    
public function getNameField($key null)
    {
        if (! 
$key) {
            
$key $this->item_key.'.'.$this->name;
        }

        
$nameField '';

        foreach (
explode('.'$key) as $key => $field) {
            
$nameField .= $key === $field '['.$field.']';
        }

        return 
$nameField;
    }

    
/**
     * Get depend the field name.
     */
    
public function getDependFieldName(): string
    
{
        if (empty(
$depends $this->getDepends())) {
            return 
'';
        }

        
$dependNameKey $this->getItemKey().'.'.collect(explode(':'$depends))->first();

        return 
$this->getNameField($dependNameKey);
    }

    
/**
     * Returns the select options for the field.
     */
    
protected function getFieldOptions(string $options): array
    {
        [
$class$method] = Str::parseCallback($options);

        return 
app($class)->$method();
    }
}

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