晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/rainic/www/oldTZh/wp-content/plugins/wp-rocket/inc/ThirdParty/Plugins/ |
Upload File : |
<?php
namespace WP_Rocket\ThirdParty\Plugins;
use WP_Rocket\Event_Management\Subscriber_Interface;
use WP_Rocket\ThirdParty\ReturnTypesTrait;
class WPGeotargeting implements Subscriber_Interface {
use ReturnTypesTrait;
/**
* Returns an array of events that this subscriber wants to listen to.
*
* @return array
*/
public static function get_subscribed_events() {
$events = [
'geotWP/activated' => [ 'activate_geotargetingwp', 11 ],
'geotWP/deactivated' => [ 'deactivate_geotargetingwp', 11 ],
];
if ( ! class_exists( '\GeotWP\GeotargetingWP' ) ) {
return $events;
}
$events['rocket_htaccess_mod_rewrite'] = [ 'return_false', 72 ];
$events['rocket_cache_dynamic_cookies'] = 'add_geot_cookies';
$events['rocket_cache_mandatory_cookies'] = 'add_geot_cookies';
$events['geot/pass_basic_rules'] = [ 'maybe_disable_rules', 10, 3 ];
if ( ! get_option( 'geotWP-deactivated' ) ) {
return $events;
}
// Update the WP Rocket rules on the .htaccess file.
$events['admin_init'] = [
[ 'flush_rocket_htaccess' ],
[ 'rocket_generate_config_file' ],
];
delete_option( 'geotWP-deactivated' );
return $events;
}
/**
* Disable rules on nowprocket parameter.
*
* @param bool $bool Is Disabled.
* @param array $opts Options.
* @param string $current_url Current URL.
* @return bool
*/
public function maybe_disable_rules( $bool, $opts, $current_url ) {
$query = wp_parse_url( $current_url, PHP_URL_QUERY );
return ! str_contains( $query ? $query : '', 'nowprocket' );
}
/**
* Add cookies when we activate any goetargetingWP plugin.
*
* @author Damian Logghe
*/
public function activate_geotargetingwp() {
add_filter( 'rocket_htaccess_mod_rewrite', [ $this, 'return_false' ], 72 );
add_filter( 'rocket_cache_dynamic_cookies', [ $this, 'add_geot_cookies' ] );
add_filter( 'rocket_cache_mandatory_cookies', [ $this, 'add_geot_cookies' ] );
// Update the WP Rocket rules on the .htaccess file.
flush_rocket_htaccess();
// Regenerate the config file.
rocket_generate_config_file();
}
/**
* Remove cookies when we deactivate the plugin.
*
* @author Damian Logghe
*/
public function deactivate_geotargetingwp() {
// add into db a record saying we deactivated one of the family plugins.
update_option( 'geotWP-deactivated', true );
remove_filter( 'rocket_htaccess_mod_rewrite', [ $this, 'return_false' ], 72 );
remove_filter( 'rocket_cache_dynamic_cookies', [ $this, 'add_geot_cookies' ] );
remove_filter( 'rocket_cache_mandatory_cookies', [ $this, 'add_geot_cookies' ] );
// Update the WP Rocket rules on the .htaccess file.
flush_rocket_htaccess();
// Regenerate the config file.
rocket_generate_config_file();
}
/**
* Let users modify cache level by default set to country.
*
* @author Damian Logghe
*
* @param array $cookies An array of cookies.
* @return array Updated array of cookies
*/
public function add_geot_cookies( $cookies ) {
/**
* Geotargeting cookies.
*
* @param array $types Types from cookies (country, state, city).
* @return array
*/
$enabled_cookies = apply_filters( 'rocket_geotargetingwp_enabled_cookies', [ 'country' ] );
foreach ( $enabled_cookies as $enabled_cookie ) {
if ( ! in_array( 'geot_rocket_' . $enabled_cookie, $cookies, true ) ) {
$cookies[] = 'geot_rocket_' . $enabled_cookie;
}
}
return $cookies;
}
}