晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system 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) 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 __construct( WPInstallStorage $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() == 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.
*/
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';
}
}