晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/google-analytics-premium/includes/admin/pages/ |
Upload File : |
<?php
/**
* Reports class.
*
* @since 6.0.0
*
* @package MonsterInsights
* @subpackage Reports
* @author Chris Christoff
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
function monsterinsights_reports_page_body_class( $classes ) {
if ( ! empty( $_REQUEST['page'] ) && $_REQUEST['page'] === 'monsterinsights_reports' ) {
$classes .= ' monsterinsights-reporting-page ';
}
return $classes;
}
add_filter( 'admin_body_class', 'monsterinsights_reports_page_body_class' );
/**
* Callback for getting all of the reports tabs for MonsterInsights.
*
* @since 6.0.0
* @access public
*
* @return array Array of tab information.
*/
function monsterinsights_get_reports() {
/**
* Developer Alert:
*
* Per the README, this is considered an internal hook and should
* not be used by other developers. This hook's behavior may be modified
* or the hook may be removed at any time, without warning.
*/
$reports = apply_filters( 'monsterinsights_get_reports', array() );
return $reports;
}
/**
* Callback to output the MonsterInsights reports page.
*
* @since 6.0.0
* @access public
*
* @return void
*/
function monsterinsights_reports_page() {
/**
* Developer Alert:
*
* Per the README, this is considered an internal hook and should
* not be used by other developers. This hook's behavior may be modified
* or the hook may be removed at any time, without warning.
*/
do_action( 'monsterinsights_head' );
echo monsterinsights_ublock_notice(); ?>
<!-- Tabs -->
<h1 id="monsterinsights-reports-page-main-nav" class="monsterinsights-main-nav-container monsterinsights-nav-container" data-container="#monsterinsights-reports-pages" data-update-hashbang="1">
<?php
$i = 0;
?>
<?php
foreach ( (array) MonsterInsights()->reporting->reports as $report ) {
?>
<a class="monsterinsights-main-nav-item monsterinsights-nav-item " href="#monsterinsights-main-tab-<?php echo esc_attr( $report->name ); ?>" title="<?php echo esc_attr( $report->title ); ?>"><?php echo esc_html( $report->title ); ?></a>
<?php
$i++;
}
?>
</h1>
<div id="monsterinsights-reports" class="wrap monsterinsights-bootstrap-container">
<div class="monsterinsights-clear">
<!-- Tab Panels -->
<div id="monsterinsights-reports-pages" class="monsterinsights-main-nav-tabs monsterinsights-nav-tabs" data-navigation="#monsterinsights-reports-page-main-nav">
<?php
$i = 0;
foreach ( (array) MonsterInsights()->reporting->reports as $report ) {
?>
<div id="monsterinsights-main-tab-<?php echo esc_attr( $report->name ); ?>" class="monsterinsights-main-nav-tab monsterinsights-nav-tab">
<div class="monsterinsights-reports-action-bar monsterinsights-clear">
<div class="monsterinsights-reports-action-bar-title">
<?php echo esc_html( sprintf( __( '%s Report', 'google-analytics-for-wordpress' ), $report->title ) ); ?>
</div>
<div class="monsterinsights-reports-action-bar-actions"><?php
/**
* Developer Alert:
*
* Per the README, this is considered an internal hook and should
* not be used by other developers. This hook's behavior may be modified
* or the hook may be removed at any time, without warning.
*/
do_action( 'monsterinsights_tab_reports_actions', $report->name );
?>
</div>
</div>
<div class="monsterinsights-reports-wrap container-fluid">
<?php
/**
* Developer Alert:
*
* Per the README, this is considered an internal hook and should
* not be used by other developers. This hook's behavior may be modified
* or the hook may be removed at any time, without warning.
*/
?>
<?php do_action( 'monsterinsights_tab_reports_notices' ); ?>
<?php //echo $report->show_report(); @todo we don't need to init output them. ?>
</div>
</div>
<?php
$i++;
}
?>
</div>
</div>
</div>
<?php
}
function monsterinsights_refresh_reports_data() {
check_ajax_referer( 'mi-admin-nonce', 'security' );
// Get variables
$start = ! empty( $_REQUEST['start'] ) ? $_REQUEST['start'] : '';
$end = ! empty( $_REQUEST['end'] ) ? $_REQUEST['end'] : '';
$name = ! empty( $_REQUEST['report'] ) ? $_REQUEST['report'] : '';
$isnetwork = ! empty( $_REQUEST['isnetwork'] ) ? $_REQUEST['isnetwork'] : '';
// Current user can authenticate
if ( ! current_user_can( 'monsterinsights_view_dashboard' ) ) {
wp_send_json_error( array( 'message' => __( "You don't have permission to view MonsterInsights reports.", 'google-analytics-for-wordpress' ) ) );
}
if ( ! empty( $_REQUEST['isnetwork'] ) && $_REQUEST['isnetwork'] ) {
define( 'WP_NETWORK_ADMIN', true );
}
// Only for Pro users, require a license key to be entered first so we can link to things.
if ( monsterinsights_is_pro_version() ) {
if ( ! MonsterInsights()->license->is_site_licensed() && ! MonsterInsights()->license->is_network_licensed() ) {
wp_send_json_error( array( 'message' => __( "You can't view MonsterInsights reports because you are not licensed.", 'google-analytics-for-wordpress' ) ) );
} else if ( MonsterInsights()->license->is_site_licensed() && ! MonsterInsights()->license->site_license_has_error() ) {
// good to go: site licensed
} else if ( MonsterInsights()->license->is_network_licensed() && ! MonsterInsights()->license->network_license_has_error() ) {
// good to go: network licensed
} else {
wp_send_json_error( array( 'message' => __( "You can't view MonsterInsights reports due to license key errors.", 'google-analytics-for-wordpress' ) ) );
}
}
// we do not have a current auth
$site_auth = MonsterInsights()->auth->get_viewname();
$ms_auth = is_multisite() && MonsterInsights()->auth->get_network_viewname();
if ( ! $site_auth && ! $ms_auth ) {
wp_send_json_error( array( 'message' => __( "You must authenticate with MonsterInsights before you can view reports.", 'google-analytics-for-wordpress' ) ) );
}
if ( empty( $name ) ) {
wp_send_json_error( array( 'message' => __( "Unknown report. Try refreshing and retrying. Contact support if this issue persists.", 'google-analytics-for-wordpress' ) ) );
}
$report = MonsterInsights()->reporting->get_report( $name );
if ( empty( $report ) ) {
wp_send_json_error( array( 'message' => __( "Unknown report. Try refreshing and retrying. Contact support if this issue persists.", 'google-analytics-for-wordpress' ) ) );
}
$args = array( 'start' => $start, 'end' => $end );
if ( $isnetwork ) {
$args['network'] = true;
}
$data = $report->get_data( $args );
if ( ! empty( $data['success'] ) ) {
$data = $report->show_report(
array( 'start' => $start,
'end' => $end,
'data' => $data['data'],
'success' => true
)
);
wp_send_json_success( array( 'html' => $data ) );
} else {
wp_send_json_error( array( 'message' => $data['error'], 'data' => $data['data'] ) );
}
}
add_action( 'wp_ajax_monsterinsights_refresh_reports', 'monsterinsights_refresh_reports_data' );