File manager - Edit - /home/newsbmcs.com/public_html/static/img/logo/Model.zip
Back
PK ��ZW�] ] CacheRootNotSetViewModel.phpnu �[��� <?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; class CacheRootNotSetViewModel { public function __construct() { /** * Nothing to do */ } /** * * @return string */ public function getTpl() { return Context::getOption()->getSharedTplDir() . '/CacheRootNotSet.tpl'; } } PK ��Z{ �@� � # MassDashNotifyProgressViewModel.phpnu �[��� <?php /* * ****************************************** * LiteSpeed Web Server Cache Manager * @author: LiteSpeed Technologies, Inc. (https://www.litespeedtech.com) * @copyright: (c) 2019 * ******************************************* */ namespace Lsc\Wp\View\Model; use \Lsc\Wp\Context\Context; use \Lsc\Wp\LSCMException; use \Lsc\Wp\Logger; class MassDashNotifyProgressViewModel { const FLD_ICON = 'icon'; const FLD_INSTALLS_COUNT = 'installsCount'; const FLD_ACTIVE_VER = 'activeVer'; /** * @var string */ protected $sessionKey = 'massDashNotifyInfo'; /** * @var mixed[] */ protected $tplData = array(); /** * * @param string $action */ public function __construct() { $this->init(); } protected function init() { $this->setIconPath(); $this->grabSessionData(); } /** * * @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}/wpNotifier.svg"; } catch ( LSCMException $e ) { Logger::debug($e->getMessage() . ' Could not get icon directory.'); } $this->tplData[self::FLD_ICON] = $iconPath; } protected function grabSessionData() { $info = $_SESSION[$this->sessionKey]; $this->tplData[self::FLD_INSTALLS_COUNT] = count($info['installs']); } /** * * @return string */ public function getTpl() { return Context::getOption()->getSharedTplDir() . '/MassDashNotifyProgress.tpl'; } } PK ��Z�D��6 �6 ManageViewModel.phpnu �[��� <?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\Context\Context; use \Lsc\Wp\WPInstallStorage; use \Lsc\Wp\WPInstall; use \Lsc\Wp\PluginVersion; use \Lsc\Wp\Logger; use \Lsc\Wp\LSCMException; class ManageViewModel { const FLD_ICON_DIR = 'iconDir'; const FLD_SCAN_BTN_NAME = 'scanBtnName'; const FLD_BTN_STATE = 'btnState'; const FLD_ACTIVE_VER = 'activeVer'; const FLD_SHOW_LIST = 'showList'; const FLD_LIST_DATA = 'listData'; const FLD_COUNT_DATA = 'countData'; const FLD_INFO_MSGS = 'infoMsgs'; const FLD_SUCC_MSGS = 'succMsgs'; const FLD_ERR_MSGS = 'errMsgs'; const FLD_WARN_MSGS = 'warnMsgs'; const COUNT_DATA_INSTALLS = 'installs'; const COUNT_DATA_ENABLED = 'enabled'; const COUNT_DATA_DISABLED = 'disabled'; const COUNT_DATA_WARN = 'warn'; const COUNT_DATA_ERROR = 'err'; const COUNT_DATA_FLAGGED = 'flagged'; const COUNT_DATA_UNFLAGGED = 'unflagged'; /** * @var WPInstallStorage */ protected $wpInstallStorage; /** * @var mixed[] */ protected $tplData = array(); /** * @var string */ protected $iconDir = ''; /** * @since 1.13.3 * @var string[][] */ protected $statusInfo = array( 'disabled' => array( 'sort' => 'disabled', 'state' => '<span ' . 'class="glyphicon glyphicon-flash status-disabled" ' . 'data-uk-tooltip title="LSCWP is disabled."></span>', 'btn_content' => '<span class="enable_btn"></span>', 'btn_title' => 'Click to enable LSCache', 'onclick' => 'onclick="javascript:lscwpEnableSingle(this);"', 'btn_attributes' => 'data-uk-tooltip', 'btn_state' => '' ), 'enabled' => array( 'sort' => 'enabled', 'state' => '<span ' . 'class="glyphicon glyphicon-flash status-enabled" ' . 'data-uk-tooltip title="LSCWP is enabled."></span>', 'btn_content' => '<span class="disable_btn"></span>', 'btn_title' => 'Click to disable LSCache', 'onclick' => 'onclick="javascript:lscwpDisableSingle(this);"', 'btn_attributes' => 'data-uk-tooltip', 'btn_state' => '' ), 'adv_cache' => array( 'sort' => 'warning', 'state' => '<span class="status-warning" data-uk-tooltip ' . 'title="LSCache is enabled but not caching. Please visit the ' . 'WordPress Dashboard for more information."></span>', 'btn_content' => '<span class="disable_btn"></span>', 'btn_title' => 'Click to disable LSCache', 'onclick' => 'onclick="javascript:lscwpDisableSingle(this);"', 'btn_attributes' => 'data-uk-tooltip', 'btn_state' => '' ), 'disabled_no_active_ver' => array( 'sort' => 'disabled', 'state' => '<span ' . 'class="glyphicon glyphicon-flash status-disabled" ' . 'data-uk-tooltip title="LSCWP is disabled."></span>', 'btn_content' => '<span class="inactive-action-btn" ' . 'data-uk-tooltip ' . 'title="No active LSCWP version set! Cannot enable LSCache.">' . '</span>', 'onclick' => '', 'btn_attributes' => '', 'btn_state' => 'disabled', ), 'error' => array( 'sort' => 'error', /** * 'state' added individually later. */ 'btn_title' => '', 'btn_content' => '<span class="inactive-action-btn"></span>', 'onclick' => '', 'btn_attributes' => '', 'btn_state' => 'disabled' ) ); /** * @since 1.13.3 * @var string[][] */ protected $flagInfo = array( 'unflagged' => array( 'sort' => 'unflagged', 'icon' => '<span ' . 'class="glyphicon glyphicon-flag ls-flag ls-flag-unset">' . '</span>', 'btn_title' => 'Click to set flag', 'onclick' => 'onclick="javascript:lscwpFlagSingle(this);"', 'btn_attributes' => 'data-uk-tooltip' ), 'flagged' => array( 'sort' => 'flagged', 'icon' => '<span ' . 'class="glyphicon glyphicon-flag ls-flag ls-flag-set">' . '</span>', 'btn_title' => 'Click to unset flag', 'onclick' => 'onclick="javascript:lscwpUnflagSingle(this);"', 'btn_attributes' => 'data-uk-tooltip' ), ); /** * * @param WPInstallStorage $wpInstallStorage */ public function __construct( WPInstallStorage $wpInstallStorage ) { $this->wpInstallStorage = $wpInstallStorage; $this->init(); } protected function init() { $this->setIconDir(); $this->setBtnDataAndListVisibility(); $this->setActiveVerData(); $this->setListAndCountData(); $this->setMsgData(); } /** * * @param string $field * @return null|mixed */ public function getTplData( $field ) { if ( !isset($this->tplData[$field]) ) { return null; } return $this->tplData[$field]; } protected function setIconDir() { $iconDir = ''; try { $iconDir = Context::getOption()->getIconDir(); } catch ( LSCMException $e ) { Logger::debug($e->getMessage() . ' Could not get icon directory.'); } $this->tplData[self::FLD_ICON_DIR] = $iconDir; } protected function setBtnDataAndListVisibility() { $scanBtnName = 'Re-scan'; $btnState = 'disabled'; if ( ($errStatus = $this->wpInstallStorage->getError()) !== 0 ) { $this->tplData[self::FLD_SHOW_LIST] = false; if ( $errStatus == WPInstallStorage::ERR_NOT_EXIST ) { $scanBtnName = 'Scan'; $msg = 'Start by clicking Scan. This will discover all active ' . 'WordPress installations and add them to a list below.'; } elseif ( $errStatus == WPInstallStorage::ERR_VERSION_LOW ) { $scanBtnName = 'Scan'; $msg = 'To further improve Cache Management features in this ' . 'version, current installations must be re-discovered. ' . 'Please perform a Scan now.'; } else { $msg = 'Scan data could not be read. Please perform a Re-scan.'; } Logger::uiInfo($msg); } else { $this->tplData[self::FLD_SHOW_LIST] = true; $discoveredCount = $this->wpInstallStorage->getCount(); if ( $discoveredCount > 0 ) { $btnState = ''; } } $this->tplData[self::FLD_SCAN_BTN_NAME] = $scanBtnName; $this->tplData[self::FLD_BTN_STATE] = $btnState; } protected function setListAndCountData() { $listData = array(); $countData = array( self::COUNT_DATA_INSTALLS => 0, self::COUNT_DATA_ENABLED => 0, self::COUNT_DATA_DISABLED => 0, self::COUNT_DATA_WARN => 0, self::COUNT_DATA_ERROR => 0, self::COUNT_DATA_FLAGGED => 0, self::COUNT_DATA_UNFLAGGED => 0 ); $wpInstalls = $this->wpInstallStorage->getAllWPInstalls(); if ( $wpInstalls !== null ) { $countData[self::COUNT_DATA_INSTALLS] = count($wpInstalls); foreach ( $wpInstalls as $wpInstall ) { $info = array( 'statusData' => $this->getStatusDisplayData($wpInstall, $countData), 'flagData' => $this->getFlagDisplayData($wpInstall, $countData), 'siteUrl' => $wpInstall->getData(WPInstall::FLD_SITEURL) ); $listData[$wpInstall->getPath()] = $info; } } $this->tplData[self::FLD_LIST_DATA] = $listData; $this->tplData[self::FLD_COUNT_DATA] = $countData; } /** * * @param WPInstall $wpInstall * @param int[] $countData * @return string[] */ protected function getStatusDisplayData( WPInstall $wpInstall, &$countData ) { $wpStatus = $wpInstall->getStatus(); if ( $wpInstall->hasFatalError($wpStatus) ) { $countData[self::COUNT_DATA_ERROR]++; $link = 'https://docs.litespeedtech.com/cp/cpanel' . '/wp-cache-management/#whm-plugin-cache-manager-error-status'; $stateMsg = ''; if ( $wpStatus & WPInstall::ST_ERR_EXECMD ) { $stateMsg = 'WordPress fatal error encountered during action ' . 'execution. This is most likely caused by custom code in ' . 'this WordPress installation.'; $link .= '#fatal_error_encountered_during_action_execution'; } if ( $wpStatus & WPInstall::ST_ERR_EXECMD_DB ) { $stateMsg = 'Error establishing WordPress database connection.'; $link .= '#'; } elseif ( $wpStatus & WPInstall::ST_ERR_TIMEOUT ) { $stateMsg = 'Timeout occurred during action execution.'; $link .= '#timeout_occurred_during_action_execution'; } elseif ( $wpStatus & WPInstall::ST_ERR_SITEURL ) { $stateMsg = 'Could not retrieve WordPress siteURL.'; $link .= '#could_not_retrieve_wordpress_siteurl'; } elseif ( $wpStatus & WPInstall::ST_ERR_DOCROOT ) { $stateMsg = 'Could not match WordPress siteURL to a known ' . 'control panel docroot.'; $link .= '#could_not_match_wordpress_siteurl_to_a_known_' . 'cpanel_docroot'; } elseif ( $wpStatus & WPInstall::ST_ERR_WPCONFIG ) { $stateMsg = 'Could not find a valid wp-config.php file.'; $link .= '#could_not_find_a_valid_wp-configphp_file'; } $stateMsg .= ' Click for more information.'; $currStatusData = $this->statusInfo['error']; $currStatusData['state'] = "<a href=\"{$link}\" target=\"_blank\" " . "rel=\"noopener\" data-uk-tooltip title =\"{$stateMsg}\" " . 'class="status-error"></a>'; } elseif ( ($wpStatus & WPInstall::ST_PLUGIN_INACTIVE ) ) { $countData[self::COUNT_DATA_DISABLED]++; $currVer = $this->getTplData(self::FLD_ACTIVE_VER); if ( $currVer == false ) { $currStatusData = $this->statusInfo['disabled_no_active_ver']; } else { $currStatusData = $this->statusInfo['disabled']; } } elseif ( !($wpStatus & WPInstall::ST_LSC_ADVCACHE_DEFINED) ) { $countData[self::COUNT_DATA_WARN]++; $currStatusData = $this->statusInfo['adv_cache']; } else { $countData[self::COUNT_DATA_ENABLED]++; $currStatusData = $this->statusInfo['enabled']; } return $currStatusData; } /** * * @param WPInstall $wpInstall * @param int[] $countData * @return string[] */ protected function getFlagDisplayData( WPInstall $wpInstall, &$countData ) { $wpStatus = $wpInstall->getStatus(); if ( ($wpStatus & WPInstall::ST_FLAGGED ) ) { $countData[self::COUNT_DATA_FLAGGED]++; $currFlagData = $this->flagInfo['flagged']; } else { $countData[self::COUNT_DATA_UNFLAGGED]++; $currFlagData = $this->flagInfo['unflagged']; } return $currFlagData; } protected function setActiveVerData() { try { $currVer = PluginVersion::getCurrentVersion(); } catch ( LSCMException $e ) { Logger::debug( $e->getMessage() . ' Could not get active LSCWP version.' ); Logger::uiWarning( 'Active LiteSpeed Cache Plugin version is not set. Enable ' . 'operations cannot be performed. Please go to ' . '<a href="?do=lscwpVersionManager" ' . 'title="Go to Version Manager">Version Manager</a> to ' . 'select a version.' ); $currVer = false; } $this->tplData[self::FLD_ACTIVE_VER] = $currVer; } protected function setMsgData() { $msgs = $this->wpInstallStorage->getAllCmdMsgs(); $infoMsgs = Logger::getUiMsgs(Logger::UI_INFO); $succMsgs = array_merge( $msgs['succ'], Logger::getUiMsgs(Logger::UI_SUCC) ); $errMsgs = array_merge( $msgs['fail'], $msgs['err'], Logger::getUiMsgs(Logger::UI_ERR) ); $warnMsgs = Logger::getUiMsgs(Logger::UI_WARN); $this->tplData[self::FLD_INFO_MSGS] = $infoMsgs; $this->tplData[self::FLD_SUCC_MSGS] = $succMsgs; $this->tplData[self::FLD_ERR_MSGS] = $errMsgs; $this->tplData[self::FLD_WARN_MSGS] = $warnMsgs; } public function getTpl() { return Context::getOption()->getSharedTplDir() . '/Manage.tpl'; } } PK ��Z���?� � UnflagAllProgressViewModel.phpnu �[��� <?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; class UnflagAllProgressViewModel { const FLD_ICON = 'icon'; const FLD_INSTALLS_COUNT = 'installsCount'; /** * @var (int|string)[] */ protected $tplData = array(); public function __construct() { $this->init(); } protected function init() { $this->setIconPath(); $this->grabSessionData(); } /** * * @param string $field * @return null|int|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}/manageCacheInstallations.svg"; } catch ( LSCMException $e ) { Logger::debug($e->getMessage() . ' Could not get icon directory.'); } $this->tplData[self::FLD_ICON] = $iconPath; } protected function grabSessionData() { $info = $_SESSION['unflagInfo']; $this->tplData[self::FLD_INSTALLS_COUNT] = count($info['installs']); } public function getTpl() { return Context::getOption()->getSharedTplDir() . '/UnflagAllProgress.tpl'; } } PK ��Zzv��!( !( Ajax/CacheMgrRowViewModel.phpnu �[��� <?php /* * ****************************************** * LiteSpeed Web Server Cache Manager * @author: LiteSpeed Technologies, Inc. (https://www.litespeedtech.com) * @copyright: (c) 2018-2019 * ******************************************* */ namespace Lsc\Wp\View\Model\Ajax; use \Lsc\Wp\Context\Context; use \Lsc\Wp\LSCMException; use \Lsc\Wp\PluginVersion; use \Lsc\Wp\WPInstall; class CacheMgrRowViewModel { const FLD_LIST_DATA = 'listData'; /** * @var WPInstall */ protected $wpInstall; /** * @var mixed[] */ protected $tplData = array(); /** * * @param WPInstall $wpInstall */ public function __construct( WPInstall $wpInstall ) { $this->wpInstall = $wpInstall; $this->init(); } protected function init() { $this->getActiveVerData(); $this->setListRowData(); } /** * * @param string $field * @return null|mixed */ public function getTplData( $field ) { if ( !isset($this->tplData[$field]) ) { return null; } return $this->tplData[$field]; } /** * * @param string $type * @return string */ public function getSortVal( $type ) { $listData = $this->getTplData(self::FLD_LIST_DATA); return $listData[$this->wpInstall->getPath()]["{$type}Data"]['sort']; } protected function setListRowData() { $listData = array(); $info = array( 'statusData' => $this->getStatusDisplayData(), 'flagData' => $this->getFlagDisplayData(), 'siteUrl' => $this->wpInstall->getData(WPInstall::FLD_SITEURL) ); $listData[$this->wpInstall->getPath()] = $info; $this->tplData[self::FLD_LIST_DATA] = $listData; } /** * * @return string[] */ protected function getStatusDisplayData() { $statusInfo = array( 'disabled' => array( 'sort' => 'disabled', 'state' => '<span class="glyphicon glyphicon-flash status-disabled" data-uk-tooltip ' . 'title="LSCWP is disabled."></span>', 'btn_content' => '<span class="enable_btn"></span>', 'btn_title' => 'Click to enable LSCache', 'onclick' => 'onclick="javascript:lscwpEnableSingle(this);"', 'btn_attributes' => 'data-uk-tooltip', 'btn_state' => '' ), 'enabled' => array( 'sort' => 'enabled', 'state' => '<span class="glyphicon glyphicon-flash status-enabled" data-uk-tooltip ' . 'title="LSCWP is enabled."></span>', 'btn_content' => '<span class="disable_btn"></span>', 'btn_title' => 'Click to disable LSCache', 'onclick' => 'onclick="javascript:lscwpDisableSingle(this);"', 'btn_attributes' => 'data-uk-tooltip', 'btn_state' => '' ), 'adv_cache' => array( 'sort' => 'warning', 'state' => '<span class="status-warning" data-uk-tooltip ' . 'title="LSCache is enabled but not caching. Please visit the ' . 'WordPress Dashboard for more information."></span>', 'btn_content' => '<span class="disable_btn"></span>', 'btn_title' => 'Click to disable LSCache', 'onclick' => 'onclick="javascript:lscwpDisableSingle(this);"', 'btn_attributes' => 'data-uk-tooltip', 'btn_state' => '' ), 'disabled_no_active_ver' => array( 'sort' => 'disabled', 'state' => '<span class="glyphicon glyphicon-flash status-disabled" data-uk-tooltip ' . 'title="LSCWP is disabled."></span>', 'btn_content' => '<span class="inactive-action-btn" data-uk-tooltip ' . 'title="No active LSCWP version set! Cannot enable LSCache."></span>', 'onclick' => '', 'btn_attributes' => '', 'btn_state' => 'disabled', ), 'error' => array( 'sort' => 'error', /** * 'state' added individually later. */ 'btn_title' => '', 'btn_content' => '<span class="inactive-action-btn"></span>', 'onclick' => '', 'btn_attributes' => '', 'btn_state' => 'disabled' ), 'removed' => array( 'sort' => 'removed', 'state' => '<span class="status-removed" data-uk-tooltip ' . 'title="Installation could not be found and has been removed."></span>', 'btn_content' => '<span class="inactive-action-btn"></span>', 'onclick' => '', 'btn_attributes' => '', 'btn_state' => 'disabled', ) ); $wpStatus = $this->wpInstall->getStatus(); if ( $wpStatus & WPInstall::ST_ERR_REMOVE ) { $currStatusData = $statusInfo['removed']; } elseif ( $this->wpInstall->hasFatalError($wpStatus) ) { $link = 'https://docs.litespeedtech.com/cp/cpanel' . '/wp-cache-management/#whm-plugin-cache-manager-error-status'; if ( $wpStatus & WPInstall::ST_ERR_EXECMD ) { $stateMsg = 'WordPress fatal error encountered during action execution. This is ' . 'most likely caused by custom code in this WordPress installation.'; $link .= '#fatal_error_encountered_during_action_execution'; } if ( $wpStatus & WPInstall::ST_ERR_EXECMD_DB ) { $stateMsg = 'Error establishing WordPress database connection.'; $link .= '#'; } elseif ( $wpStatus & WPInstall::ST_ERR_TIMEOUT ) { $stateMsg = 'Timeout occurred during action execution.'; $link .= '#timeout_occurred_during_action_execution'; } elseif ( $wpStatus & WPInstall::ST_ERR_SITEURL ) { $stateMsg = 'Could not retrieve WordPress siteURL.'; $link .= '#could_not_retrieve_wordpress_siteurl'; } elseif ( $wpStatus & WPInstall::ST_ERR_DOCROOT ) { $stateMsg = 'Could not match WordPress siteURL to a known control panel ' . 'docroot.'; $link .= '#could_not_match_wordpress_siteurl_to_a_known_cpanel_docroot'; } elseif ( $wpStatus & WPInstall::ST_ERR_WPCONFIG ) { $stateMsg = 'Could not find a valid wp-config.php file.'; $link .= '#could_not_find_a_valid_wp-configphp_file'; } $stateMsg .= ' Click for more info.'; $currStatusData = $statusInfo['error']; $currStatusData['state'] = "<a href=\"{$link}\" target=\"_blank\" rel=\"noopener\" " . "data-uk-tooltip title =\"{$stateMsg}\" class=\"status-error\"></a>"; } elseif ( ($wpStatus & WPInstall::ST_PLUGIN_INACTIVE ) ) { if ( $this->getActiveVerData() == false ) { $currStatusData = $statusInfo['disabled_no_active_ver']; } else { $currStatusData = $statusInfo['disabled']; } } elseif ( !($wpStatus & WPInstall::ST_LSC_ADVCACHE_DEFINED) ) { $currStatusData = $statusInfo['adv_cache']; } else { $currStatusData = $statusInfo['enabled']; } return $currStatusData; } /** * * @return string[] */ protected function getFlagDisplayData() { $flagInfo = array( 0 => array( 'sort' => 'unflagged', 'icon' => '<span class="glyphicon glyphicon-flag ls-flag ls-flag-unset"></span>', 'btn_title' => 'Click to set flag', 'onclick' => 'onclick="javascript:lscwpFlagSingle(this);"', 'btn_attributes' => 'data-uk-tooltip' ), 1 => array( 'sort' => 'flagged', 'icon' => '<span class="glyphicon glyphicon-flag ls-flag ls-flag-set"></span>', 'btn_title' => 'Click to unset flag', 'onclick' => 'onclick="javascript:lscwpUnflagSingle(this);"', 'btn_attributes' => 'data-uk-tooltip' ), 2 => array ( 'sort' => 'removed', 'icon' => '<span class="glyphicon glyphicon-flag ls-flag ls-flag-removed"></span>', 'btn_title' => '', 'onclick' => '', 'btn_attributes' => '' ) ); $wpStatus = $this->wpInstall->getStatus(); if ( $wpStatus & WPInstall::ST_ERR_REMOVE ) { $currFlagData = $flagInfo[2]; } elseif ( ($wpStatus & WPInstall::ST_FLAGGED ) ) { $currFlagData = $flagInfo[1]; } else { $currFlagData = $flagInfo[0]; } return $currFlagData; } /** * * @return boolean|string */ protected function getActiveVerData() { try { $currVer = PluginVersion::getCurrentVersion(); } catch ( LSCMException $e ) { //don't care about the exception in ajax load. $currVer = false; } return $currVer; } /** * * @param string $tplID * @return null|string */ public function getTpl( $tplID ) { $sharedTplDir = Context::getOption()->getSharedTplDir(); switch ($tplID) { case 'actions_td': return "{$sharedTplDir}/Ajax/CacheMgrActionsCol.tpl"; case 'status_td': return "{$sharedTplDir}/Ajax/CacheMgrStatusCol.tpl"; case 'flag_td': return "{$sharedTplDir}/Ajax/CacheMgrFlagCol.tpl"; //no default } } } PK ��Z��3� � VersionChangeViewModel.phpnu �[��� <?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\LSCMException; use \Lsc\Wp\Logger; class VersionChangeViewModel { const FLD_ICON = 'icon'; const FLD_INSTALLS_COUNT = 'installsCount'; const FLD_VER_NUM = 'verNum'; /** * @var (int|string)[] */ protected $tplData = array(); public function __construct() { $this->init(); } protected function init() { $this->setIconPath(); $this->grabSessionData(); } /** * * @param string $field * @return null|int|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 grabSessionData() { $info = $_SESSION['verInfo']; $this->tplData[self::FLD_INSTALLS_COUNT] = count($info['installs']); $this->tplData[self::FLD_VER_NUM] = $info['verNum']; } public function getTpl() { return Context::getOption()->getSharedTplDir() . '/VersionChange.tpl'; } } PK ��Z]�B" " MassEnableDisableViewModel.phpnu �[��� <?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'; } } PK ��Z�e�i� � DataFileMsgViewModel.phpnu �[��� <?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\WPInstallStorage; class DataFileMsgViewModel { const FLD_TITLE = 'title'; const FLD_DISCOVER = 'discover'; /** * @var WPInstallStorage */ private $wpInstallStorage; /** * @var string[] */ private $tplData = array(); /** * * @param WPInstallStorage $wpInstallStorage */ public function __construct( WPInstallStorage $wpInstallStorage ) { $this->wpInstallStorage = $wpInstallStorage; $this->init(); } private function init() { $this->setTitleAndDiscover(); } /** * * @param string $field * @return null|string */ public function getTplData( $field ) { if ( !isset($this->tplData[$field]) ) { return null; } return $this->tplData[$field]; } private function setTitleAndDiscover() { $err = $this->wpInstallStorage->getError(); switch ($err) { case WPInstallStorage::ERR_NOT_EXIST: $title = 'No Scan Data Found'; $discover = 'discover'; break; case WPInstallStorage::ERR_CORRUPTED: $title = 'Scan Data Corrupted'; $discover = 're-discover'; break; default: $title = 'Scan Data Needs To Be Updated'; $discover = 're-discover'; } $this->tplData[self::FLD_TITLE] = $title; $this->tplData[self::FLD_DISCOVER] = $discover; } /** * * @return string */ public function getTpl() { return Context::getOption()->getSharedTplDir() . '/DataFileMsg.tpl'; } } PK ��Z�`-� MissingTplViewModel.phpnu �[��� <?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; class MissingTplViewModel { const FLD_MSG = 'msg'; /** * @var string[] */ private $tplData = array(); /** * * @param string $msg */ public function __construct( $msg ) { $this->init($msg); } private function init( $msg ) { $this->tplData[self::FLD_MSG] = $msg; } /** * * @param string $field * @return null|string */ public function getTplData( $field ) { if ( !isset($this->tplData[$field]) ) { return null; } return $this->tplData[$field]; } public function getTpl() { return Context::getOption()->getSharedTplDir() . '/MissingTpl.tpl'; } } PK ��Z�E{ { ScanProgressStepViewModel.phpnu �[��� <?php /** ****************************************** * LiteSpeed Web Server Cache Manager * @author: LiteSpeed Technologies, Inc. (https://www.litespeedtech.com) * @copyright: (c) 2020 * @since 1.13.3 * ******************************************* */ namespace Lsc\Wp\View\Model; use \Lsc\Wp\Context\Context; use \Lsc\Wp\LSCMException; use \Lsc\Wp\Logger; /** * * @since 1.13.3 */ class ScanProgressStepViewModel { /** * @since 1.13.3 * @var string */ const FLD_TITLE = 'title'; /** * @since 1.13.3 * @var string */ const FLD_ICON = 'icon'; /** * @since 1.13.3 * @var string */ const FLD_MGR_STEP = 'mgrStep'; /** * @since 1.13.3 * @var string */ const FLD_TOTAL_COUNT = 'totalCount'; /** * @since 1.13.3 * @var string */ const FLD_INSTALLS_COUNT = 'installsCount'; /** * @since 1.13.3 * @var int */ const OP_SCAN = 1; /** * @since 1.13.3 * @var int */ protected $mgrStep; /** * @since 1.13.3 * @var (int|string)[] */ protected $tplData = array(); /** * * @since 1.13.3 * * @param int $mgrStep * @throws LSCMException Thrown indirectly. */ public function __construct( $mgrStep ) { $this->mgrStep = $this->tplData[self::FLD_MGR_STEP] = $mgrStep; $this->init(); } /** * * @since 1.13.3 * * @throws LSCMException Thrown indirectly. */ protected function init() { $this->setTitle(); $this->setIconPath(); $this->grabSessionData(); } /** * * @since 1.13.3 * * @param string $field * @return null|int|string */ public function getTplData( $field ) { if ( !isset($this->tplData[$field]) ) { return null; } return $this->tplData[$field]; } /** * * @since 1.13.3 */ protected function setTitle() { if ( $this->mgrStep == self::OP_SCAN ) { $title = 'Scanning/Re-scanning For All WordPress Installations...'; } else { $title = 'Discovering New WordPress Installations...'; } $this->tplData[self::FLD_TITLE] = $title; } /** * * @since 1.13.3 * * @throws LSCMException Thrown indirectly. */ protected function setIconPath() { $iconPath = ''; try { $iconDir = Context::getOption()->getIconDir(); $iconPath = "{$iconDir}/manageCacheInstallations.svg"; } catch ( LSCMException $e ) { Logger::debug($e->getMessage() . ' Could not get icon directory.'); } $this->tplData[self::FLD_ICON] = $iconPath; } /** * * @since 1.13.3 */ protected function grabSessionData() { $info = $_SESSION['scanInfo']; if ( !empty($info['homeDirs']) ) { $total = count($info['homeDirs']); } else { $total = count($info['installs']); } $this->tplData[self::FLD_TOTAL_COUNT] = $total; } /** * * @since 1.13.3 * * @return string * @throws LSCMException Thrown indirectly. */ public function getTpl() { $info = $_SESSION['scanInfo']; if ( !empty($info['homeDirs']) ) { return Context::getOption()->getSharedTplDir() . '/ScanProgressStep1.tpl'; } else { return Context::getOption()->getSharedTplDir() . '/ScanProgressStep2.tpl'; } } } PK ��Z80��b b $ MassDashDisableProgressViewModel.phpnu �[��� <?php /* * ****************************************** * LiteSpeed Web Server Cache Manager * @author: LiteSpeed Technologies, Inc. (https://www.litespeedtech.com) * @copyright: (c) 2019 * ******************************************* */ namespace Lsc\Wp\View\Model; use \Lsc\Wp\Context\Context; use \Lsc\Wp\LSCMException; use \Lsc\Wp\Logger; class MassDashDisableProgressViewModel { const FLD_ICON = 'icon'; const FLD_INSTALLS_COUNT = 'installsCount'; /** * @var string */ protected $sessionKey = 'massDashDisableInfo'; /** * @var mixed[] */ protected $tplData = array(); /** * * @param string $action */ public function __construct() { $this->init(); } protected function init() { $this->setIconPath(); $this->grabSessionData(); } /** * * @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}/wpNotifier.svg"; } catch ( LSCMException $e ) { Logger::debug($e->getMessage() . ' Could not get icon directory.'); } $this->tplData[self::FLD_ICON] = $iconPath; } protected function grabSessionData() { $info = $_SESSION[$this->sessionKey]; $this->tplData[self::FLD_INSTALLS_COUNT] = count($info['installs']); } /** * * @return string */ public function getTpl() { return Context::getOption()->getSharedTplDir() . '/MassDashDisableProgress.tpl'; } } PK ��Z�G�� � "