晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/w3-total-cache/ |
Upload File : |
<?php
namespace W3TC;
class Extension_CloudFlare_SettingsForUi {
static public function api() {
$c = Dispatcher::config();
$api = new Extension_CloudFlare_Api( array(
'email' => $c->get_string( array( 'cloudflare', 'email' ) ),
'key' => $c->get_string( array( 'cloudflare', 'key' ) ),
'zone_id' => $c->get_string( array( 'cloudflare', 'zone_id' ) ),
'timelimit_api_request' => $c->get_integer(
array( 'cloudflare', 'timelimit.api_request' ) )
)
);
return $api;
}
static public function settings_get( $api ) {
$settings = $api->zone_settings();
// adjust settings that are out of regular presentation
if ( isset( $settings['security_header'] ) ) {
$v = $settings['security_header']['value'];
$settings['security_header']['editable'] = false;
$settings['security_header']['value'] = 'off';
if ( isset( $v['strict_transport_security']['enabled'] ) ) {
$settings['security_header']['value'] =
$v['strict_transport_security']['enabled'] ?
'on' : 'off';
}
}
if ( isset( $settings['mobile_redirect'] ) ) {
$v = $settings['mobile_redirect']['value'];
$settings['mobile_redirect']['editable'] = false;
$settings['mobile_redirect']['value'] = 'off';
if ( isset( $v['status'] ) ) {
$settings['mobile_redirect']['value'] =
$v['status'] ? 'on' : 'off';
}
}
if ( isset( $settings['minify'] ) ) {
$v = $settings['minify']['value'];
$editable = $settings['minify']['editable'];
$settings['minify_js'] = array(
'editable' => $editable,
'value' => $v['js']
);
$settings['minify_css'] = array(
'editable' => $editable,
'value' => $v['css']
);
$settings['minify_html'] = array(
'editable' => $editable,
'value' => $v['html']
);
}
return $settings;
}
/**
* Updates settings passed by $_REQUEST
*/
static public function settings_set( $api ) {
$errors = array();
$settings = self::settings_get( $api );
$to_update = array();
$prefix = 'cloudflare_api_';
foreach ( $_REQUEST as $key => $value ) {
if ( substr( $key, 0, strlen( $prefix ) ) != $prefix )
continue;
if ( $value == '' )
continue;
$settings_key = substr( $key, strlen( $prefix ) );
if ( !isset( $settings[$settings_key] ) ) {
$errors[] = 'Option ' . $settings_key . ' is not available';
continue;
}
$current_value = $settings[$settings_key]['value'];
// convert checkbox value to on/off
// exception: rocket loader, ssl is not checkbox so contains real value
if ( $settings_key != 'rocket_loader' && $settings_key != 'ssl' ) {
if ( $current_value == 'on' || $current_value == 'off' ) {
// it's boolean, so control is checkbox - convert it
$value = ( $value == '0' ? 'off' : 'on' );
}
}
if ( $current_value == $value )
continue; // no update required
if ( !$settings[$settings_key]['editable'] ) {
$errors[] = 'Option ' . $settings_key . ' is read-only';
continue;
}
$to_update[$settings_key] = $value;
}
// mutate settings back to the format of API
if ( isset( $to_update['minify_js'] ) ||
isset( $to_update['minify_css'] ) ||
isset( $to_update['minify_html'] ) ) {
$v = $settings['minify']['value'];
if ( isset( $to_update['minify_js'] ) ) {
$v['js'] = $to_update['minify_js'];
unset( $to_update['minify_js'] );
}
if ( isset( $to_update['minify_css'] ) ) {
$v['css'] = $to_update['minify_css'];
unset( $to_update['minify_css'] );
}
if ( isset( $to_update['minify_html'] ) ) {
$v['html'] = $to_update['minify_html'];
unset( $to_update['minify_html'] );
}
$to_update['minify'] = $v;
}
// do the settings update via API
foreach ( $to_update as $key => $value ) {
try {
$api->zone_setting_set( $key, $value );
} catch ( \Exception $ex ) {
$errors[] = 'Failed to update option ' . $key . ': ' .
$ex->getMessage();
}
}
return $errors;
}
}