|
Server : LiteSpeed System : Linux srv104790275 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64 User : dewac4139 ( 1077) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/local/lsws/add-ons/webcachemgr/src/View/Model/ |
Upload File : |
<?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\Logger;
use \Lsc\Wp\LSCMException;
use \Lsc\Wp\WPDashMsgs;
use \Lsc\Wp\WPInstallStorage;
class DashNotifierViewModel
{
const STEP_CONFIRM = 0;
const STEP_DO_ACTION = 1;
const FLD_ICON_DIR = 'iconDir';
const FLD_DISCOVERED_COUNT = 'discoveredCount';
const FLD_RAP_MSG_IDS = 'rapMsgIds';
const FLD_BAM_MSG_IDS = 'bamMsgIds';
/**
* @var WPInstallStorage
*/
protected $wpInstallStorage;
/**
* @var WPDashMsgs
*/
protected $wpDashMsgs;
/**
* @var mixed[]
*/
protected $tplData = array();
/**
*
* @param WPInstallStorage $wpInstallStorage
* @param WPDashMsgs $wpDashMsgs
*/
public function __construct( WPInstallStorage $wpInstallStorage,
WPDashMsgs $wpDashMsgs )
{
$this->wpInstallStorage = $wpInstallStorage;
$this->wpDashMsgs = $wpDashMsgs;
$this->init();
}
protected function init()
{
$this->setIconDir();
$this->setStoredMsgIds();
$this->setDiscoveredCount();
}
/**
*
* @param string $field
* @return null|string
*/
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 setStoredMsgIds()
{
$msgs = $this->wpDashMsgs->getMsgData();
$this->tplData[self::FLD_RAP_MSG_IDS] =
array_keys($msgs[WPDashMsgs::KEY_RAP_MSGS]);
$this->tplData[self::FLD_BAM_MSG_IDS] =
array_keys($msgs[WPDashMsgs::KEY_BAM_MSGS]);
}
protected function setDiscoveredCount()
{
$this->tplData[self::FLD_DISCOVERED_COUNT] =
$this->wpInstallStorage->getCount();
}
/**
*
* @return string
*/
public function getTpl()
{
return realpath(__DIR__ . '/../Tpl') . '/DashNotifier.tpl';
}
}