<?php /* * ****************************************** * LiteSpeed Web Server Cache Manager * @author: LiteSpeed Technologies, Inc. (https://www.litespeedtech.com) * @copyright: (c) 2018-2019 * ******************************************* */ namespace Lsc\Wp\View\Model; use \Lsc\Wp\Context\Context; use \Lsc\Wp\Logger; use \Lsc\Wp\LSCMException; use \Lsc\Wp\PluginVersion; use \Lsc\Wp\WPInstallStorage; class MassEnableDisableViewModel { const FLD_ICON = 'icon'; const FLD_ACTIVE_VER = 'activeVer'; const FLD_STATE = 'allowCacheOp'; const ST_INSTALLS_DISCOVERED = 2; const ST_NO_INSTALLS_DISCOVERED = 1; const ST_SCAN_NEEDED = 0; /** * @var WPInstallStorage */ protected $wpInstallStorage; /** * @var mixed[] */ protected $tplData = array(); /** * * @param WPInstallStorage $wpInstallStorage */ public function __construct( WPInstallStorage $wpInstallStorage ) { $this->wpInstallStorage = $wpInstallStorage; $this->init(); } protected function init() { $this->setIconPath(); $this->setActiveVerData(); $this->setStateData(); } /** * * @param string $field * @return null|mixed */ 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}/massEnableDisableCache.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() == 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_INSTALLS_DISCOVERED; } } else { $this->tplData[self::FLD_STATE] = self::ST_SCAN_NEEDED; } } public function getTpl() { return Context::getOption()->getSharedTplDir() . '/MassEnableDisable.tpl'; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Ajax | Folder | 0775 |
|
|
CacheRootNotSetViewModel.php | File | 605 B | 0664 |
|
DashNotifierViewModel.php | File | 2.57 KB | 0664 |
|
DataFileMsgViewModel.php | File | 1.96 KB | 0664 |
|
ManageViewModel.php | File | 14.15 KB | 0664 |
|
MassDashDisableProgressViewModel.php | File | 1.85 KB | 0664 |
|
MassDashNotifyProgressViewModel.php | File | 1.88 KB | 0664 |
|
MassEnableDisableProgressViewModel.php | File | 2.83 KB | 0664 |
|
MassEnableDisableViewModel.php | File | 2.78 KB | 0664 |
|
MissingTplViewModel.php | File | 1.01 KB | 0664 |
|
RefreshStatusProgressViewModel.php | File | 1.67 KB | 0664 |
|
ScanProgressStepViewModel.php | File | 3.62 KB | 0664 |
|
ScanProgressViewModel.php | File | 2.68 KB | 0664 |
|
UnflagAllProgressViewModel.php | File | 1.66 KB | 0664 |
|
VersionChangeViewModel.php | File | 1.74 KB | 0664 |
|
VersionManageViewModel.php | File | 5.29 KB | 0664 |
|