晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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 : /home/stando/www/wp-content/plugins/duplicator/ctrls/ |
Upload File : |
<?php
defined('ABSPATH') || defined('DUPXABSPATH') || exit;
// Exit if accessed directly
if (! defined('DUPLICATOR_VERSION')) exit;
require_once(DUPLICATOR_PLUGIN_PATH . '/ctrls/ctrl.base.php');
require_once(DUPLICATOR_PLUGIN_PATH . '/classes/ui/class.ui.viewstate.php');
/**
* Controller for Tools
* @package Duplicator\ctrls
*/
class DUP_CTRL_UI extends DUP_CTRL_Base
{
function __construct()
{
add_action('wp_ajax_DUP_CTRL_UI_SaveViewState', array($this, 'SaveViewState'));
}
/**
* Calls the SaveViewState and returns a JSON result
*
* @param string $_POST['key'] A unique key that identifies the state of the UI element
* @param bool $_POST['value'] The value to store for the state of the UI element
*
* @notes: Testing: See Testing Interface
* URL = /wp-admin/admin-ajax.php?action=DUP_CTRL_UI_SaveViewState
*
* <code>
* //JavaScript Ajax Request
* Duplicator.UI.SaveViewState('dup-pack-archive-panel', 1);
*
* //Call PHP Code
* $view_state = DUP_UI_ViewState::getValue('dup-pack-archive-panel');
* $ui_css_archive = ($view_state == 1) ? 'display:block' : 'display:none';
* </code>
*/
public function SaveViewState()
{
DUP_Handler::init_error_handler();
check_ajax_referer('DUP_CTRL_UI_SaveViewState', 'nonce');
DUP_Util::hasCapability('export');
$payload = array(
'success' => false,
'message' => '',
'key' => '',
'value' => ''
);
$isValid = true;
$inputData = filter_input_array(INPUT_POST, array(
'states' => array(
'filter' => FILTER_SANITIZE_STRING,
'flags' => FILTER_FORCE_ARRAY,
'options' => array(
'default' => array()
)
),
'key' => array(
'filter' => FILTER_SANITIZE_STRING,
'options' => array(
'default' => false
)
),
'value' => array(
'filter' => FILTER_SANITIZE_STRING,
'options' => array(
'default' => false
)
)
));
foreach ($inputData['states'] as $index => $state) {
$filteredState = filter_var_array($state, array(
'key' => array(
'filter' => FILTER_SANITIZE_STRING,
'options' => array(
'default' => false
)
),
'value' => array(
'filter' => FILTER_SANITIZE_STRING,
'options' => array(
'default' => false
)
)
));
if ($filteredState['key'] === false && $filteredState['value']) {
$isValid = false;
break;
}
$inputData['states'][$index] = $filteredState;
}
if ($inputData['key'] === false || $inputData['value'] === false) {
$isValid = false;
}
$result = new DUP_CTRL_Result($this);
try {
if (!$isValid) {
throw new Exception(__('Invalid Request.', 'duplicator'));
}
if (!empty($inputData['states'])) {
$view_state = DUP_UI_ViewState::getArray();
$last_key = '';
foreach ($inputData['states'] as $state) {
$view_state[$state['key']] = $state['value'];
$last_key = $state['key'];
}
$payload['success'] = DUP_UI_ViewState::setArray($view_state);
$payload['key'] = esc_html($last_key);
$payload['value'] = esc_html($view_state[$last_key]);
} else {
$payload['success'] = DUP_UI_ViewState::save($inputData['key'], $inputData['value']);
$payload['key'] = esc_html($inputData['key']);
$payload['value'] = esc_html($inputData['value']);
}
//RETURN RESULT
$test = ($payload['success'])
? DUP_CTRL_Status::SUCCESS
: DUP_CTRL_Status::FAILED;
return $result->process($payload, $test);
} catch (Exception $exc) {
$result->processError($exc);
}
}
/**
* Returns a JSON list of all saved view state items
*
*
* <code>
* See SaveViewState()
* </code>
*/
public function GetViewStateList()
{
$result = new DUP_CTRL_Result($this);
try
{
//CONTROLLER LOGIC
$payload = DUP_UI_ViewState::getArray();
//RETURN RESULT
$test = (is_array($payload) && count($payload))
? DUP_CTRL_Status::SUCCESS
: DUP_CTRL_Status::FAILED;
return $result->process($payload, $test);
}
catch (Exception $exc)
{
$result->processError($exc);
}
}
}