晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/wpseo-local/widgets/ |
Upload File : |
<?php
/**
* Yoast SEO: Local plugin file.
*
* @package WPSEO_Local\Frontend
*/
/**
* Class WPSEO_Show_Map.
*
* Creates widget for showing the map.
*/
class WPSEO_Show_Map extends WP_Widget {
/**
* WPSEO_Show_Map constructor.
*/
public function __construct() {
$widget_options = array(
'classname' => 'WPSEO_Show_Map',
'description' => __( 'Shows Google Map of your location', 'yoast-local-seo' ),
);
parent::__construct( false, __( 'WP SEO - Show Map', 'yoast-local-seo' ), $widget_options );
}
/**
* Displays the store locator form.
*
* @see WP_Widget::widget
*
* @param array $args Array of options for this widget.
* @param array $instance Instance of the widget.
*
* @return void
*/
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', isset( $instance['title'] ) ? $instance['title'] : '' );
$location_id = ! empty( $instance['location_id'] ) ? $instance['location_id'] : '';
$show_all_locations = ! empty( $instance['show_all_locations'] ) && $instance['show_all_locations'] == '1';
$width = ! empty( $instance['width'] ) ? $instance['width'] : 200;
$height = ! empty( $instance['height'] ) ? $instance['height'] : 150;
$zoom = ( ! empty( $instance['zoom'] ) || '0' == $instance['zoom'] ) ? $instance['zoom'] : 10;
$show_route = ! empty( $instance['show_route'] ) && $instance['show_route'] == '1';
$show_state = ! empty( $instance['show_state'] ) && $instance['show_state'] == '1';
$show_country = ! empty( $instance['show_country'] ) && $instance['show_country'] == '1';
$show_url = ! empty( $instance['show_url'] ) && $instance['show_url'] == '1';
$show_category_filter = ! empty( $instance['show_category_filter'] ) && $instance['show_category_filter'] == 1;
$default_show_infowindow = ! empty( $instance['default_show_infowindow'] ) && $instance['default_show_infowindow'] == '1';
$marker_clustering = ! empty( $instance['marker_clustering'] ) && $instance['marker_clustering'] == 1;
// Set location ID, since get_post_status() needs an integer as parameter.
if ( 'current' === $location_id ) {
$location_id = get_queried_object_id();
}
if ( wpseo_has_multiple_locations() && ( 'publish' !== get_post_status( $location_id ) && ! current_user_can( 'edit_posts' ) ) ) {
return;
}
if ( ( $location_id == '' && wpseo_has_multiple_locations() && $show_all_locations != '1' ) || ( $location_id === 'current' && ! is_singular( 'wpseo_locations' ) ) ) {
return;
}
if ( isset( $args['before_widget'] ) ) {
echo $args['before_widget'];
}
if ( ! empty( $title ) ) {
echo $args['before_title'] . $title . $args['after_title'];
}
$map_args = array(
'width' => $width,
'height' => $height,
'zoom' => $zoom,
'id' => ( $show_all_locations ) ? 'all' : $location_id,
'show_route' => $show_route,
'show_state' => $show_state,
'show_country' => $show_country,
'show_url' => $show_url,
'show_category_filter' => $show_category_filter,
'default_show_infowindow' => $default_show_infowindow,
'marker_clustering' => $marker_clustering,
);
echo wpseo_local_show_map( $map_args );
if ( isset( $args['after_widget'] ) ) {
echo $args['after_widget'];
}
}
/**
* Updates a particular instance of a widget.
*
* @see WP_Widget::update
*
* @param array $new_instance New option values for this widget.
* @param array $old_instance Old, current option values for this widget.
*
* @return array
*/
public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = ! empty( $new_instance['title'] ) ? esc_attr( $new_instance['title'] ) : '';
$instance['location_id'] = ! empty( $new_instance['location_id'] ) ? esc_attr( $new_instance['location_id'] ) : '';
$instance['show_all_locations'] = ! empty( $new_instance['show_all_locations'] ) && esc_attr( $new_instance['show_all_locations'] ) == '1';
$instance['width'] = ! empty( $new_instance['width'] ) ? $new_instance['width'] : 400;
$instance['height'] = ! empty( $new_instance['height'] ) ? $new_instance['height'] : 300;
$instance['zoom'] = ( ! empty( $new_instance['zoom'] ) || '0' == $new_instance['zoom'] ) ? $new_instance['zoom'] : 10;
$instance['show_route'] = ! empty( $new_instance['show_route'] ) && esc_attr( $new_instance['show_route'] ) == '1';
$instance['show_state'] = ! empty( $new_instance['show_state'] ) && esc_attr( $new_instance['show_state'] ) == '1';
$instance['show_country'] = ! empty( $new_instance['show_country'] ) && esc_attr( $new_instance['show_country'] ) == '1';
$instance['show_url'] = ! empty( $new_instance['show_url'] ) && esc_attr( $new_instance['show_url'] ) == '1';
$instance['show_category_filter'] = ! empty( $new_instance['show_category_filter'] ) && esc_attr( $new_instance['show_category_filter'] ) == '1';
$instance['default_show_infowindow'] = ! empty( $new_instance['default_show_infowindow'] ) && esc_attr( $new_instance['default_show_infowindow'] ) == '1';
$instance['marker_clustering'] = ! empty( $new_instance['marker_clustering'] ) && esc_attr( $new_instance['marker_clustering'] ) == '1';
return $instance;
}
/**
* Displays the form for the widget options.
*
* @see WP_Widget::form
*
* @param array $instance Array with all the (saved) option values.
*
* @return string
*/
public function form( $instance ) {
$title = ! empty( $instance['title'] ) ? esc_attr( $instance['title'] ) : '';
$location_id = ! empty( $instance['location_id'] ) ? esc_attr( $instance['location_id'] ) : '';
$show_all_locations = ! empty( $instance['show_all_locations'] ) && esc_attr( $instance['show_all_locations'] ) == '1';
$width = ! empty( $instance['width'] ) ? $instance['width'] : 400;
$height = ! empty( $instance['height'] ) ? $instance['height'] : 300;
$zoom = ( ! empty( $instance['zoom'] ) || ( isset( $instance['zoom'] ) && '0' == $instance['zoom'] ) ) ? $instance['zoom'] : 10;
$show_route = ! empty( $instance['show_route'] ) && esc_attr( $instance['show_route'] ) == '1';
$show_state = ! empty( $instance['show_state'] ) && esc_attr( $instance['show_state'] ) == '1';
$show_country = ! empty( $instance['show_country'] ) && esc_attr( $instance['show_country'] ) == '1';
$show_url = ! empty( $instance['show_url'] ) && esc_attr( $instance['show_url'] ) == '1';
$show_category_filter = ! empty( $instance['show_category_filter'] ) && esc_attr( $instance['show_category_filter'] ) == '1';
$default_show_infowindow = ! empty( $instance['default_show_infowindow'] ) && esc_attr( $instance['default_show_infowindow'] ) == '1';
$marker_clustering = ! empty( $instance['marker_clustering'] ) && esc_attr( $instance['marker_clustering'] ) == '1';
?>
<p>
<label
for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'yoast-local-seo' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>"
name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>" />
</p>
<?php
if ( wpseo_has_multiple_locations() ) {
?>
<p><?php _e( 'Choose to show all your locations in the map, otherwise just pick one in the selectbox below', 'yoast-local-seo' ); ?></p>
<p id="wpseo-checkbox-multiple-locations-wrapper">
<label for="<?php echo $this->get_field_id( 'show_all_locations' ); ?>">
<input id="<?php echo $this->get_field_id( 'show_all_locations' ); ?>"
name="<?php echo $this->get_field_name( 'show_all_locations' ); ?>" type="checkbox"
class="wpseo_widget_show_locations_checkbox"
value="1" <?php echo ! empty( $show_all_locations ) ? ' checked="checked"' : ''; ?> />
<?php _e( 'Show all locations', 'yoast-local-seo' ); ?>
</label>
</p>
<p id="wpseo-locations-wrapper" <?php echo ( $show_all_locations ) ? 'style="display: none;"' : ''; ?>>
<label
for="<?php echo $this->get_field_id( 'location_id' ); ?>"><?php _e( 'Location:', 'yoast-local-seo' ); ?></label>
<?php
$repo = new WPSEO_Local_Locations_Repository();
$locations = $repo->get( array(), false );
?>
<select name="<?php echo $this->get_field_name( 'location_id' ); ?>"
id="<?php echo $this->get_field_id( 'location_id' ); ?>">
<option value=""><?php _e( 'Select a location', 'yoast-local-seo' ); ?></option>
<option value="current" <?php selected( $location_id, 'current' ); ?>><?php _e( 'Use current location', 'yoast-local-seo' ); ?></option>
<?php foreach ( $locations as $loc_id ) { ?>
<option
value="<?php echo $loc_id; ?>" <?php selected( $location_id, $loc_id ); ?>><?php echo get_the_title( $loc_id ); ?></option>
<?php } ?>
</select>
</p>
<script>
// Add click event to slectbox. Moved to HTML in widget, since the javascript events are gone, when adding the events in external JS
</script>
<?php
}
?>
<h4><?php _e( 'Maps settings', 'yoast-local-seo' ); ?></h4>
<p>
<label
for="<?php echo $this->get_field_id( 'width' ); ?>"><?php _e( 'Width:', 'yoast-local-seo' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id( 'width' ); ?>"
name="<?php echo $this->get_field_name( 'width' ); ?>" type="text" value="<?php echo $width; ?>" />
</p>
<p>
<label
for="<?php echo $this->get_field_id( 'height' ); ?>"><?php _e( 'Height:', 'yoast-local-seo' ); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id( 'height' ); ?>"
name="<?php echo $this->get_field_name( 'height' ); ?>" type="text" value="<?php echo $height; ?>" />
</p>
<p>
<?php
$nr_zoom_levels = 20;
?>
<label
for="<?php echo $this->get_field_id( 'zoom' ); ?>"><?php _e( 'Zoom level:', 'yoast-local-seo' ); ?></label>
<select class="" id="<?php echo $this->get_field_id( 'zoom' ); ?>"
name="<?php echo $this->get_field_name( 'zoom' ); ?>">
<?php for ( $i = 1; $i <= $nr_zoom_levels; $i++ ) { ?>
<option value="<?php echo $i; ?>"<?php echo ( $zoom == $i ) ? ' selected="selected"' : ''; ?>><?php echo $i; ?></option>
<?php } ?>
</select>
</p>
<p>
<label for="<?php echo $this->get_field_id( 'show_state' ); ?>">
<input id="<?php echo $this->get_field_id( 'show_state' ); ?>" name="<?php echo $this->get_field_name( 'show_state' ); ?>" type="checkbox" value="1" <?php echo ! empty( $show_state ) ? ' checked="checked"' : ''; ?> />
<?php _e( 'Show state in info-window', 'yoast-local-seo' ); ?>
</label>
</p>
<p>
<label for="<?php echo $this->get_field_id( 'show_country' ); ?>">
<input id="<?php echo $this->get_field_id( 'show_country' ); ?>" name="<?php echo $this->get_field_name( 'show_country' ); ?>" type="checkbox" value="1" <?php echo ! empty( $show_country ) ? ' checked="checked"' : ''; ?> />
<?php _e( 'Show country in info-window', 'yoast-local-seo' ); ?>
</label>
</p>
<p>
<label for="<?php echo $this->get_field_id( 'show_url' ); ?>">
<input id="<?php echo $this->get_field_id( 'show_url' ); ?>" name="<?php echo $this->get_field_name( 'show_url' ); ?>" type="checkbox" value="1" <?php echo ! empty( $show_url ) ? ' checked="checked"' : ''; ?> />
<?php _e( 'Show URL in info-window', 'yoast-local-seo' ); ?>
</label>
</p>
<p>
<label for="<?php echo $this->get_field_id( 'show_route' ); ?>">
<input id="<?php echo $this->get_field_id( 'show_route' ); ?>" name="<?php echo $this->get_field_name( 'show_route' ); ?>" type="checkbox" value="1" <?php echo ! empty( $show_route ) ? ' checked="checked"' : ''; ?> />
<?php _e( 'Show route planner', 'yoast-local-seo' ); ?>
</label>
</p>
<p>
<label for="<?php echo $this->get_field_id( 'show_category_filter' ); ?>">
<input id="<?php echo $this->get_field_id( 'show_category_filter' ); ?>" name="<?php echo $this->get_field_name( 'show_category_filter' ); ?>" type="checkbox" value="1" <?php echo ! empty( $show_category_filter ) ? ' checked="checked"' : ''; ?> />
<?php _e( 'Show category filter', 'yoast-local-seo' ); ?>
</label>
</p>
<p>
<label for="<?php echo $this->get_field_id( 'default_show_infowindow' ); ?>">
<input id="<?php echo $this->get_field_id( 'default_show_infowindow' ); ?>" name="<?php echo $this->get_field_name( 'default_show_infowindow' ); ?>" type="checkbox" value="1" <?php echo ! empty( $default_show_infowindow ) ? ' checked="checked"' : ''; ?> />
<?php _e( 'Show infowindow by default', 'yoast-local-seo' ); ?>
</label>
</p>
<?php if ( wpseo_has_multiple_locations() ) { ?>
<p>
<label for="<?php echo $this->get_field_id( 'marker_clustering' ); ?>">
<input id="<?php echo $this->get_field_id( 'marker_clustering' ); ?>" name="<?php echo $this->get_field_name( 'marker_clustering' ); ?>" type="checkbox" value="1" <?php echo ! empty( $marker_clustering ) ? ' checked="checked"' : ''; ?> />
<?php _e( 'Marker clustering', 'yoast-local-seo' ); ?>
</label>
</p>
<?php } ?>
<?php
return '';
}
}