!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/smabpro.picotech.app/public_html/vendor/whichbrowser/parser/src/Model/   drwxr-xr-x
Free 28.51 GB of 117.98 GB (24.17%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace WhichBrowser\Model;

use 
WhichBrowser\Constants;
use 
WhichBrowser\Data;
use 
WhichBrowser\Model\Primitive\Base;

class 
Device extends Base
{
    
/** @var string */
    
public $manufacturer;

    
/** @var string */
    
public $model;

    
/** @var string */
    
public $series;

    
/** @var string */
    
public $carrier;

    
/** @var int */
    
public $identifier;

    
/** @var mixed */
    
public $flag;


    
/** @var string */
    
public $type '';

    
/** @var string */
    
public $subtype '';

    
/** @var int */
    
public $identified Constants\Id::NONE;

    
/** @var boolean */
    
public $generic true;

    
/** @var boolean */
    
public $hidden false;


    
/**
     * Set the properties to the default values
     *
     * @param   array|null  $properties  An optional array of properties to set after setting it to the default values
     *
     * @internal
     */

    
public function reset($properties null)
    {
        unset(
$this->manufacturer);
        unset(
$this->model);
        unset(
$this->series);
        unset(
$this->carrier);
        unset(
$this->identifier);

        
$this->type '';
        
$this->subtype '';
        
$this->identified Constants\Id::NONE;
        
$this->generic true;
        
$this->hidden false;

        if (
is_array($properties)) {
            
$this->set($properties);
        }
    }


    
/**
     * Identify the manufacturer and model based on a pattern
     *
     * @param   string      $pattern   The regular expression that defines the group that matches the model
     * @param   string      $subject   The string the regular expression is matched with
     * @param   array|null  $defaults  An optional array of properties to set together
     *
     * @return string
     */

    
public function identifyModel($pattern$subject$defaults = [])
    {
        if (
preg_match($pattern$subject$match)) {
            
$this->manufacturer = !empty($defaults['manufacturer']) ? $defaults['manufacturer'] : null;
            
$this->model Data\DeviceModels::cleanup($match[1]);
            
$this->identifier preg_replace('/ (Mozilla|Opera|Obigo|AU.Browser|UP.Browser|Build|Java|PPC|AU-MIC.*)$/iu'''$match[0]);
            
$this->identifier preg_replace('/_(TD|GPRS|LTE|BLEU|CMCC|CUCC)$/iu'''$match[0]);

            if (isset(
$defaults['model'])) {
                if (
is_callable($defaults['model'])) {
                    
$this->model call_user_func($defaults['model'], $this->model);
                } else {
                    
$this->model $defaults['model'];
                }
            }

            
$this->generic false;
            
$this->identified |= Constants\Id::PATTERN;

            if (!empty(
$defaults['carrier'])) {
                
$this->carrier $defaults['carrier'];
            }

            if (!empty(
$defaults['type'])) {
                
$this->type $defaults['type'];
            }
        }
    }


    
/**
     * Declare an positive identification
     *
     * @param  array  $properties  An array, the key of an element determines the name of the property
     *
     * @return string
     */

    
public function setIdentification($properties)
    {
        
$this->reset($properties);

        if (!empty(
$this->model)) {
            
$this->generic false;
        }
        
        
$this->identified |= Constants\Id::MATCH_UA;
    }


    
/**
     * Get the name of the carrier in a human readable format
     *
     * @return string
     */

    
public function getCarrier()
    {
        return 
$this->identified && !empty($this->carrier) ? $this->carrier '';
    }


    
/**
     * Get the name of the manufacturer in a human readable format
     *
     * @return string
     */

    
public function getManufacturer()
    {
        return 
$this->identified && !empty($this->manufacturer) ? $this->manufacturer '';
    }


    
/**
     * Get the name of the model in a human readable format
     *
     * @return string
     */

    
public function getModel()
    {
        if (
$this->identified) {
            return 
trim((!empty($this->model) ? $this->model ' ' '') . (!empty($this->series) ? $this->series ''));
        }

        return !empty(
$this->model) ? $this->model '';
    }


    
/**
     * Get the combined name of the manufacturer and model in a human readable format
     *
     * @return string
     */

    
public function toString()
    {
        if (
$this->hidden) {
            return 
'';
        }
        
        if (
$this->identified) {
            
$model $this->getModel();
            
$manufacturer $this->getManufacturer();

            if (
$manufacturer != '' && strpos($model$manufacturer) === 0) {
                
$manufacturer '';
            }

            return 
trim($manufacturer ' ' $model);
        }

        return !empty(
$this->model) ? 'unrecognized device (' $this->model ')' '';
    }


    
/**
     * Check if device information is detected
     *
     * @return boolean
     */

    
public function isDetected()
    {
        return !empty(
$this->type) || !empty($this->model) || !empty($this->manufacturer);
    }


    
/**
     * Get an array of all defined properties
     *
     * @internal
     *
     * @return array
     */

    
public function toArray()
    {
        
$result = [];

        if (!empty(
$this->type)) {
            
$result['type'] = $this->type;
        }
        
        if (!empty(
$this->subtype)) {
            
$result['subtype'] = $this->subtype;
        }

        if (!empty(
$this->manufacturer)) {
            
$result['manufacturer'] = $this->manufacturer;
        }

        if (!empty(
$this->model)) {
            
$result['model'] = $this->model;
        }

        if (!empty(
$this->series)) {
            
$result['series'] = $this->series;
        }

        if (!empty(
$this->carrier)) {
            
$result['carrier'] = $this->carrier;
        }

        return 
$result;
    }
}

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