!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/ecom1.picotech.app/public_html_ecom1/Modules/Shop/Http/Models/   drwxr-xr-x
Free 26.31 GB of 117.98 GB (22.3%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

/**
 * @package Shop Model
 * @author TechVillage <support@techvill.org>
 * @contributor Al Mamun <[almamun.techvill@gmail.com]>
 * @created 28-09-2021
 */

namespace Modules\Shop\Http\Models;

use 
App\Models\Model;
use 
App\Traits\ModelTraits\hasFiles;

use 
App\Rules\{
    
CheckValidEmailCheckValidPhone
};
use 
Validator;

class 
Shop extends Model
{
    use 
hasFiles;
    
/**
     * timestamps
     * @var boolean
     */
    
public $timestamps false;

    
/**
     * Foreign key with Vendor model
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    
public function vendor()
    {
        return 
$this->belongsTo('App\Models\Vendor''vendor_id');
    }

    
/**
     * Relation with coupon model
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    
public function coupons()
    {
        return 
$this->hasMany('Modules\Coupon\Http\Models\Coupon''shop_id''id');
    }

    
/**
     * Foreign key with Product model
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    
public function products()
    {
        return 
$this->hasMany('App\Models\Product''shop_id');
    }

    
/**
     * Relation with Transaction model
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    
public function transactions()
    {
        return 
$this->hasMany(Transaction::class);
    }


    
/**
     * Foreign key with Country model
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    
public function geoLocalCountry()
    {
        return 
$this->belongsTo('Modules\GeoLocale\Entities\Country''country''code');
    }

    
/**
     * Foreign key with Division model
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    
public function geoLocalState()
    {
        return 
$this->belongsTo('Modules\GeoLocale\Entities\Division''state''code')->where('country_id'optional($this->geoLocalCountry)->id);
    }

    
/**
     * Store Validation
     *
     * @param array $data
     * @return mixed
     */
    
protected static function storeValidation($data = [])
    {
        
$validator Validator::make($data, [
            
'name' => 'required|min:3|max:99|unique:shops,name',
            
'vendor_id' => 'required|numeric',
            
'email' => ['required''max:99''unique:shops,email', new CheckValidEmail],
            
'website' => ['nullable''max:255''regex:/^(http[s]?:\/\/)?(www\.)?([\.]?[a-z]+[a-zA-Z0-9\-]{1,})?[\.]?[a-z]+[a-zA-Z0-9\-]+\.[a-zA-Z]{2,5}([\.]?[a-zA-Z]{2,5})?/i'],
            
'alias' => 'required|min:2|max:40|unique:shops,alias',
            
'address' => 'nullable|max:255',
            
'phone' => ['required''min:10''max:45', new CheckValidPhone],
            
'fax' => 'nullable|max:45',
            
'description' => 'nullable|max:5000',
            
'status' => 'in:Active,Inactive',
        ]);
        return 
$validator;
    }

    
/**
     * Update validation
     *
     * @param array $data
     * @param int $id
     * @return mixed
     */
    
protected static function updateValidation($data = [], $id null)
    {
        
$validator Validator::make($data, [
            
'name' => ['required''min:3''max:99''unique:shops,name,' $id],
            
'vendor_id' => 'required|numeric',
            
'email' => ['required''max:99''unique:shops,email,' $id, new CheckValidEmail],
            
'website' => ['nullable''max:255''regex:/^(http[s]?:\/\/)?(www\.)?([\.]?[a-z]+[a-zA-Z0-9\-]{1,})?[\.]?[a-z]+[a-zA-Z0-9\-]+\.[a-zA-Z]{2,5}([\.]?[a-zA-Z]{2,5})?/i'],
            
'alias' => 'required|min:2|max:40|unique:shops,alias,' $id,
            
'address' => 'nullable|max:255',
            
'phone' => ['required''min:10''max:45', new CheckValidPhone],
            
'fax' => 'nullable|max:45',
            
'description' => 'nullable|max:5000',
            
'status' => 'in:Active,Inactive',
        ]);
        return 
$validator;
    }

    
/**
     * Store Shop
     *
     * @param array $data
     * @return boolean
     */
    
public function store($data = [])
    {
        if (
parent::insert($data)) {
            
self::forgetCache();
            return 
true;
        }
        return 
false;
    }

    
/**
     * Update Shop
     *
     * @param array $request
     * @param  int $id
     * @return array $data
     */
    
public function updateShop($request = [], $id null)
    {
        
$data = ['status' => 'fail''message' => __('Something went wrong, please try again.')];
        
$result parent::where('id'$id);
        if (
$result->exists()) {
            
$result->update(array_intersect_key($requestarray_flip((array) ['vendor_id''name''email''website''alias''address''phone''fax''description''status'])));
            
$result->first()->updateFiles(['isUploaded' => false'isOriginalNameRequired' => true'thumbnail' => true]);
            
self::forgetCache();

            
$data['status'] = 'success';
            
$data['message'] = __('The :x has been successfully saved.', ['x' => __('Shop')]);
        }
        return 
$data;
    }

    
/**
     * Delete Shop
     *
     * @param int $id
     * @return object
     */
    
public function remove($id null)
    {
        
$data = ['status' => 'fail''message' => __('Something went wrong, please try again.')];
        
$record parent::find($id);
        if (!empty(
$record)) {
            
$record->delete();
            
$data['status'] = 'success';
            
$data['message'] = __('The :x has been successfully deleted.', ['x' => __('Shop')]);
        }
        return 
$data;
    }

    
/**
     * Shop Count
     *
     * @param  int $id
     * @return null|int
     */
    
public function shopCount($id null)
    {
        
$vendorId parent::find($id)->vendor_id;
        if (isset(
$vendorId)) {
            return 
parent::where('vendor_id'$vendorId)->count();
        }
        return 
null;
    }
}

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