!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/WebForm/src/Http/Requests/   drwxrwxrwx
Free 13.21 GB of 57.97 GB (22.79%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Webkul\WebForm\Http\Requests;

use 
Illuminate\Foundation\Http\FormRequest;
use 
Webkul\Attribute\Repositories\AttributeRepository;
use 
Webkul\Attribute\Repositories\AttributeValueRepository;
use 
Webkul\Core\Contracts\Validations\Decimal;
use 
Webkul\WebForm\Rules\PhoneNumber;

class 
WebForm extends FormRequest
{
    
/**
     * @var array
     */
    
protected $rules = [];

    
/**
     * Create a new form request instance.
     *
     * @return void
     */
    
public function __construct(
        protected 
AttributeRepository $attributeRepository,
        protected 
AttributeValueRepository $attributeValueRepository
    
) {}

    
/**
     * Determine if the product is authorized to make this request.
     *
     * @return bool
     */
    
public function authorize()
    {
        return 
true;
    }

    
/**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    
public function rules()
    {
        foreach ([
'leads''persons'] as $key => $entityType) {
            
$attributes $this->attributeRepository->scopeQuery(function ($query) use ($entityType) {
                
$attributeCodes $entityType == 'persons'
                    
array_keys(request('persons') ?? [])
                    : 
array_keys(request('leads') ?? []);

                
$query $query->whereIn('code'$attributeCodes)
                    ->
where('entity_type'$entityType);

                return 
$query;
            })->
get();

            foreach (
$attributes as $attribute) {
                
$attribute->code $entityType.'.'.$attribute->code;

                
$validations = [];

                if (
$attribute->type == 'boolean') {
                    continue;
                } elseif (
$attribute->type == 'address') {
                    if (! 
$attribute->is_required) {
                        continue;
                    }

                    
$validations = [
                        
$attribute->code.'.address'  => 'required',
                        
$attribute->code.'.country'  => 'required',
                        
$attribute->code.'.state'    => 'required',
                        
$attribute->code.'.city'     => 'required',
                        
$attribute->code.'.postcode' => 'required',
                    ];
                } elseif (
$attribute->type == 'email') {
                    
$validations = [
                        
$attribute->code              => [$attribute->is_required 'required' 'nullable'],
                        
$attribute->code.'.*.value'   => [$attribute->is_required 'required' 'nullable''email'],
                        
$attribute->code.'.*.label'   => $attribute->is_required 'required' 'nullable',
                    ];
                } elseif (
$attribute->type == 'phone') {
                    
$validations = [
                        
$attribute->code              => [$attribute->is_required 'required' 'nullable'],
                        
$attribute->code.'.*.value'   => [$attribute->is_required 'required' 'nullable', new PhoneNumber],
                        
$attribute->code.'.*.label'   => $attribute->is_required 'required' 'nullable',
                    ];
                } else {
                    
$validations[$attribute->code] = [$attribute->is_required 'required' 'nullable'];

                    if (
$attribute->type == 'text' && $attribute->validation) {
                        
array_push($validations[$attribute->code],
                            
$attribute->validation == 'decimal'
                            
? new Decimal
                            
$attribute->validation
                        
);
                    }

                    if (
$attribute->type == 'price') {
                        
array_push($validations[$attribute->code], new Decimal);
                    }
                }

                if (
$attribute->is_unique) {
                    
array_push($validations[in_array($attribute->type, ['email''phone'])
                        ? 
$attribute->code.'.*.value'
                        
$attribute->code
                    
], function ($field$value$fail) use ($attribute$entityType) {
                        if (! 
$this->attributeValueRepository->isValueUnique(
                            
$entityType == 'persons' request('persons.id') : null,
                            
$attribute->entity_type,
                            
$attribute,
                            
request($field)
                        )
                        ) {
                            
$fail('The value has already been taken.');
                        }
                    });
                }

                
$this->rules array_merge($this->rules$validations);
            }
        }

        return 
$this->rules;
    }
}

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