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

/usr/local/lsws/add-ons/webcachemgr/src/View/Model/   drwxr-xr-x
Free 13.16 GB of 57.97 GB (22.71%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

/** ******************************************
 * LiteSpeed Web Server Cache Manager
 * @author: LiteSpeed Technologies, Inc. (https://www.litespeedtech.com)
 * @copyright: (c) 2018-2020
 * ******************************************* */

namespace Lsc\Wp\View\Model;

use 
\Lsc\Wp\WPInstallStorage;
use 
\Lsc\Wp\Context\Context;
use 
\Lsc\Wp\PluginVersion;
use 
\Lsc\Wp\Logger;
use 
\Lsc\Wp\LSCMException;

class 
VersionManageViewModel
{

    
/**
     * @var string
     */
    
const FLD_ICON 'icon';

    
/**
     * @var string
     */
    
const FLD_VERSION_LIST 'versionList';

    
/**
     * @var string
     */
    
const FLD_ALLOWED_VER_LIST 'allowedList';

    
/**
     * @var string
     */
    
const FLD_ACTIVE_VER 'activeVer';

    
/**
     * @var string
     */
    
const FLD_ERR_MSGS 'errMsgs';

    
/**
     * @var string
     */
    
const FLD_STATE 'state';

    
/**
     * @var int
     */
    
const ST_INSTALLS_DISCOVERED 2;

    
/**
     * @deprecated 1.13.4.1  Added back as a deprecated constant after accidental
     *                       removal in v1.13.4. Use
     *                       self::ST_NO_NON_ERROR_INSTALLS_DISCOVERED instead.
     * @var int
     */
    
const ST_NO_INSTALLS_DISCOVERED 1;

    
/**
     * @var int
     */
    
const ST_NO_NON_ERROR_INSTALLS_DISCOVERED 1;

    
/**
     * @var int
     */
    
const ST_SCAN_NEEDED 0;

    
/**
     * @var WPInstallStorage
     */
    
protected $wpInstallStorage;

    
/**
     * @var (boolean|string|string[])[]
     */
    
protected $tplData = array();

    
/**
     *
     * @param WPInstallStorage  $wpInstallStorage
     * @throws LSCMException  Thrown indirectly.
     */
    
public function __constructWPInstallStorage $wpInstallStorage )
    {
        
$this->wpInstallStorage $wpInstallStorage;

        
$this->init();
    }

    
/**
     *
     * @throws LSCMException  Thrown indirectly.
     */
    
protected function init()
    {
        
$this->setIconPath();
        
$this->setActiveVerData();
        
$this->setVerListData();
        
$this->setStateData();
        
$this->setMsgData();
    }

    
/**
     *
     * @param string  $field
     * @return null|boolean|string|string[]
     */
    
public function getTplData$field )
    {
        if ( !isset(
$this->tplData[$field]) ) {
            return 
null;
        }

        return 
$this->tplData[$field];

    }

    protected function 
setIconPath()
    {
        
$iconPath '';

        try
        {
            
$iconDir Context::getOption()->getIconDir();
            
$iconPath "{$iconDir}/lscwpCurrentVersion.svg";
        }
        catch ( 
LSCMException $e )
        {
            
Logger::debug($e->getMessage() . ' Could not get icon directory.');
        }

        
$this->tplData[self::FLD_ICON] = $iconPath;
    }

    protected function 
setActiveVerData()
    {
        try
        {
            
$currVer PluginVersion::getCurrentVersion();
        }
        catch ( 
LSCMException $e )
        {
            
Logger::debug(
                
$e->getMessage() . ' Could not get active LSCWP version.'
            
);

            
$currVer false;
        }

        
$this->tplData[self::FLD_ACTIVE_VER] = $currVer;
    }

    protected function 
setStateData()
    {
        if ( 
$this->wpInstallStorage->getError() == ) {

            if ( 
$this->wpInstallStorage->getCount(true) > ) {
                
$this->tplData[self::FLD_STATE] = self::ST_INSTALLS_DISCOVERED;
            }
            else {
                
$this->tplData[self::FLD_STATE] =
                    
self::ST_NO_NON_ERROR_INSTALLS_DISCOVERED;
            }
        }
        else {
            
$this->tplData[self::FLD_STATE] = self::ST_SCAN_NEEDED;
        }
    }

    
/**
     *
     * @throws LSCMException  Thrown indirectly.
     */
    
protected function setVerListData()
    {
        
$vermgr PluginVersion::getInstance();

        try
        {
            
$verList $vermgr->getShortVersions();
            
$allowedList $vermgr->getAllowedVersions();
        }
        catch ( 
LSCMException $e )
        {
            
Logger::debug(
                
$e->getMessage() . ' Could not retrieve version list.'
            
);

            
$verList $allowedList = array();
        }

        
$this->tplData[self::FLD_VERSION_LIST] = $verList;
        
$this->tplData[self::FLD_ALLOWED_VER_LIST] = $allowedList;
    }

    protected function 
setMsgData()
    {
        
$this->tplData[self::FLD_ERR_MSGS] = Logger::getUiMsgs(Logger::UI_ERR);
    }

    public function 
getTpl()
    {
        return 
Context::getOption()->getSharedTplDir() . '/VersionManage.tpl';
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0158 ]--