晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/public_html/oldTZh/wp-content/plugins/wp-rocket/inc/common/ |
Upload File : |
<?php
defined( 'ABSPATH' ) || exit;
/**
* Add menu in admin bar.
* From this menu, you can preload the cache files, clear entire domain cache or post cache (front & back-end).
*
* @since 1.3.5 Compatibility with qTranslate
* @since 1.3.0 Compatibility with WPML
* @since 1.0
*
* @param Object $wp_admin_bar Admin bar object.
*/
function rocket_admin_bar( $wp_admin_bar ) {
global $pagenow, $post;
if ( ! empty( $_SERVER['REQUEST_URI'] ) ) {
$referer = filter_var( wp_unslash( $_SERVER['REQUEST_URI'] ), FILTER_SANITIZE_URL );
$referer = '&_wp_http_referer=' . rawurlencode( remove_query_arg( 'fl_builder', $referer ) );
} else {
$referer = '';
}
$has_cap = false;
$capabilities = [
'rocket_manage_options',
'rocket_purge_cache',
'rocket_preload_cache',
'rocket_regenerate_critical_css',
'rocket_remove_unused_css',
];
foreach ( $capabilities as $cap ) {
if ( current_user_can( $cap ) ) {
$has_cap = true;
break;
}
}
if ( $has_cap ) {
/**
* Parent.
*/
$wp_admin_bar->add_menu(
[
'id' => 'wp-rocket',
'title' => WP_ROCKET_PLUGIN_NAME,
'href' => current_user_can( 'rocket_manage_options' ) ? admin_url( 'options-general.php?page=' . WP_ROCKET_PLUGIN_SLUG ) : false,
]
);
}
if ( current_user_can( 'rocket_manage_options' ) ) {
/**
* Settings.
*/
$wp_admin_bar->add_menu(
[
'parent' => 'wp-rocket',
'id' => 'rocket-settings',
'title' => __( 'Settings', 'rocket' ),
'href' => admin_url( 'options-general.php?page=' . WP_ROCKET_PLUGIN_SLUG ),
]
);
}
if ( current_user_can( 'rocket_purge_cache' ) ) {
/**
* Purge Cache.
*/
$action = 'purge_cache';
if ( rocket_valid_key() ) {
$i18n_plugin = rocket_has_i18n();
if ( $i18n_plugin ) {
// Parent.
$wp_admin_bar->add_menu(
[
'parent' => 'wp-rocket',
'id' => 'purge-all',
'title' => (bool) get_rocket_option( 'manual_preload', false ) ? __( 'Clear and preload cache', 'rocket' ) : __( 'Clear cache', 'rocket' ),
]
);
$langlinks_default = [];
// Add submenu for each active langs.
switch ( $i18n_plugin ) {
case 'wpml':
$langlinks = get_rocket_wpml_langs_for_admin_bar();
break;
case 'qtranslate':
$langlinks = get_rocket_qtranslate_langs_for_admin_bar();
break;
case 'qtranslate-x':
$langlinks = get_rocket_qtranslate_langs_for_admin_bar( 'x' );
break;
case 'polylang':
$langlinks = get_rocket_polylang_langs_for_admin_bar();
break;
default:
/**
* Filters the value of the lang links menu
*
* @param array $langlinks Array of languages.
*/
$langlinks = apply_filters( 'rocket_i18n_admin_bar_menu', [] );
if ( ! is_array( $langlinks ) ) {
$langlinks = $langlinks_default;
}
}
if ( $langlinks ) {
foreach ( $langlinks as $lang ) {
$wp_admin_bar->add_menu(
[
'parent' => 'purge-all',
'id' => 'purge-all-' . $lang['code'],
'title' => $lang['flag'] . ' ' . $lang['anchor'],
'href' => wp_nonce_url( admin_url( 'admin-post.php?action=' . $action . '&type=all&lang=' . $lang['code'] . $referer ), $action . '_all' ),
]
);
}
if ( 'wpml' !== $i18n_plugin ) {
// Add subemnu "All langs" (the one for WPML is already printed).
$wp_admin_bar->add_menu(
[
'parent' => 'purge-all',
'id' => 'purge-all-all',
'title' => '<div class="dashicons-before dashicons-admin-site" style="line-height:1.5"> ' . __( 'All languages', 'rocket' ) . '</div>',
'href' => wp_nonce_url( admin_url( 'admin-post.php?action=' . $action . '&type=all&lang=all' . $referer ), $action . '_all' ),
]
);
}
}
} else {
// Purge All.
$wp_admin_bar->add_menu(
[
'parent' => 'wp-rocket',
'id' => 'purge-all',
'title' => (bool) get_rocket_option( 'manual_preload', false ) ? __( 'Clear and preload cache', 'rocket' ) : __( 'Clear cache', 'rocket' ),
'href' => wp_nonce_url( admin_url( 'admin-post.php?action=' . $action . '&type=all' . $referer ), $action . '_all' ),
]
);
}
/**
* Filters the rocket clear post admin bar menu.
*
* @since 3.11.4
*
* @param bool $should_skip Should skip adding clear post to rocket option in admin bar.
* @param type $post Post object.
*/
if ( ! apply_filters( 'rocket_skip_admin_bar_cache_purge_option', false, $post ) && rocket_can_display_options() ) {
if ( is_admin() ) {
/**
* Purge a post.
*/
if ( $post && 'post.php' === $pagenow && isset( $_GET['action'], $_GET['post'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
$wp_admin_bar->add_menu(
[
'parent' => 'wp-rocket',
'id' => 'purge-post',
'title' => __( 'Clear this post', 'rocket' ),
'href' => wp_nonce_url( admin_url( 'admin-post.php?action=' . $action . '&type=post-' . $post->ID . $referer ), $action . '_post-' . $post->ID ),
]
);
}
} else {
/**
* Purge this URL (frontend).
*/
$wp_admin_bar->add_menu(
[
'parent' => 'wp-rocket',
'id' => 'purge-url',
'title' => __( 'Purge this URL', 'rocket' ),
'href' => wp_nonce_url( admin_url( 'admin-post.php?action=' . $action . '&type=url' . $referer ), $action . '_url' ),
]
);
}
}
}
}
if ( current_user_can( 'rocket_purge_sucuri_cache' ) ) {
/**
* Purge Sucuri cache if Sucuri is active.
*/
if ( get_rocket_option( 'sucury_waf_cache_sync', 0 ) ) {
$action = 'rocket_purge_sucuri';
$wp_admin_bar->add_menu(
[
'parent' => 'wp-rocket',
'id' => 'purge-sucuri',
'title' => __( 'Purge Sucuri cache', 'rocket' ),
'href' => wp_nonce_url( admin_url( 'admin-post.php?action=' . $action . $referer ), $action ),
]
);
}
}
/**
* Fires when adding WP Rocket admin bar items
*
* @since 3.6
*
* @param WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance, passed by reference.
*/
do_action( 'rocket_admin_bar_items', $wp_admin_bar );
if ( current_user_can( 'rocket_manage_options' ) ) {
$rocketcdn_status = get_transient( 'rocketcdn_status' );
if ( isset( $rocketcdn_status['subscription_active'] ) && 'running' === $rocketcdn_status['subscription_active'] ) {
$wp_admin_bar->add_menu(
[
'parent' => 'wp-rocket',
'id' => 'purge-cdn-cache',
'title' => __( 'Purge RocketCDN cache', 'rocket' ),
'href' => wp_nonce_url( admin_url( 'admin-post.php?action=rocket_purge_rocketcdn' . $referer ), 'rocket_purge_rocketcdn' ),
]
);
}
/**
* Go to WP Rocket Documentation.
*/
$wp_admin_bar->add_menu(
[
'parent' => 'wp-rocket',
'id' => 'docs',
'title' => __( 'Documentation', 'rocket' ),
'href' => get_rocket_documentation_url(),
]
);
/**
* Go to WP Rocket FAQ.
*/
$wp_admin_bar->add_menu(
[
'parent' => 'wp-rocket',
'id' => 'faq',
'title' => __( 'FAQ', 'rocket' ),
'href' => get_rocket_faq_url(),
]
);
/**
* Go to WP Rocket Support.
*/
$wp_admin_bar->add_menu(
[
'parent' => 'wp-rocket',
'id' => 'support',
'title' => __( 'Support', 'rocket' ),
'href' => rocket_get_external_url(
'support',
[
'utm_source' => 'wp_plugin',
'utm_medium' => 'wp_rocket',
]
),
]
);
}
}
add_action( 'admin_bar_menu', 'rocket_admin_bar', PHP_INT_MAX - 10 );