晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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 : /proc/self/root/home/stando/www/wp-content/plugins/wpseo-local/classes/ |
Upload File : |
<?php
/**
* Yoast SEO: Local plugin file.
*
* @package WPSEO_Local\Main
*/
if ( ! class_exists( 'WPSEO_Local_Opening_Hours_Repository' ) ) {
/**
* Class WPSEO_Local_Opening_Hours_Repository
*
* This class handles the querying of all locations
*/
class WPSEO_Local_Opening_Hours_Repository {
/**
* Contains array for days with its translations and notations.
*
* @var LimitIterator
*/
protected $days;
/**
* WPSEO_Local_Opening_Hours_Repository constructor.
*/
public function __construct() {
$this->run();
}
/**
* Runs default actions when instantiating the class.
*/
public function run() {
$this->set_days();
}
/**
* Set property Days.
*/
private
function set_days() {
$day_labels = array(
'sunday' => __( 'Sunday', 'yoast-local-seo' ),
'monday' => __( 'Monday', 'yoast-local-seo' ),
'tuesday' => __( 'Tuesday', 'yoast-local-seo' ),
'wednesday' => __( 'Wednesday', 'yoast-local-seo' ),
'thursday' => __( 'Thursday', 'yoast-local-seo' ),
'friday' => __( 'Friday', 'yoast-local-seo' ),
'saturday' => __( 'Saturday', 'yoast-local-seo' ),
);
$days = new ArrayIterator( $day_labels );
$days = new InfiniteIterator( $days );
$this->days = new LimitIterator( $days, get_option( 'start_of_week' ), 7 );
}
/**
* Returns an array of days.
*
* @return array
*/
public
function get_days() {
return iterator_to_array( $this->days );
}
/**
* @TODO: passing through the $post_id should be solved in a nicer way, since when using a single-location setup, it doesn't need a post ID.
*
* @param string $day Lowercase key of the day (in english).
* @param null|int|string $post_id Use 'option' when using single-location setup.
* Use the Post ID (int) when using multiple locations setup.
* @param array $options Optional options array.
* @param bool|null $format_24h Whether or not 24-hour time format should be used.
*
* @return array Array of opening hours in all needed formats.
*/
public
function get_opening_hours(
$day, $post_id = null, $options = array(), $format_24h = null
) {
if ( wpseo_has_multiple_locations() ) {
if ( null === $post_id ) {
$post_id = get_the_ID();
}
$field_name = '_wpseo_opening_hours_' . $day;
$value_from = get_post_meta( $post_id, $field_name . '_from', true );
$value_to = get_post_meta( $post_id, $field_name . '_to', true );
$value_second_from = get_post_meta( $post_id, $field_name . '_second_from', true );
$value_second_to = get_post_meta( $post_id, $field_name . '_second_to', true );
$open_24h = get_post_meta( $post_id, $field_name . '_24h', true );
}
else {
$field_name = 'opening_hours_' . $day;
$value_from = isset( $options[ $field_name . '_from' ] ) ? esc_attr( $options[ $field_name . '_from' ] ) : '';
$value_to = isset( $options[ $field_name . '_to' ] ) ? esc_attr( $options[ $field_name . '_to' ] ) : '';
$value_second_from = isset( $options[ $field_name . '_second_from' ] ) ? esc_attr( $options[ $field_name . '_second_from' ] ) : '';
$value_second_to = isset( $options[ $field_name . '_second_to' ] ) ? esc_attr( $options[ $field_name . '_second_to' ] ) : '';
$open_24h = isset( $options[ $field_name . '_24h' ] ) ? esc_attr( $options[ $field_name . '_24h' ] ) : '';
}
$value_from_formatted = $value_from;
$value_to_formatted = $value_to;
$value_second_from_formatted = $value_second_from;
$value_second_to_formatted = $value_second_to;
if ( true !== $format_24h ) {
$value_from_formatted = gmdate( 'g:i A', strtotime( $value_from ) );
$value_to_formatted = gmdate( 'g:i A', strtotime( $value_to ) );
$value_second_from_formatted = gmdate( 'g:i A', strtotime( $value_second_from ) );
$value_second_to_formatted = gmdate( 'g:i A', strtotime( $value_second_to ) );
}
if ( true === wpseo_has_multiple_locations() ) {
$multiple_opening_hours = get_post_meta( $post_id, '_wpseo_multiple_opening_hours', true );
$use_multiple_times = ! empty( $multiple_opening_hours );
}
else {
$use_multiple_times = isset( $options['multiple_opening_hours'] ) && $options['multiple_opening_hours'] === 'on';
}
if ( $open_24h ) {
$value_from_formatted = '00:00';
$value_to_formatted = '23:59';
$value_second_from_formatted = false;
$value_second_to_formatted = false;
}
return array(
'value_abbr' => ucfirst( substr( $day, 0, 2 ) ),
'value_from' => $value_from,
'value_to' => $value_to,
'value_second_from' => $value_second_from,
'value_second_to' => $value_second_to,
'value_from_formatted' => $value_from_formatted,
'value_to_formatted' => $value_to_formatted,
'value_second_from_formatted' => $value_second_from_formatted,
'value_second_to_formatted' => $value_second_to_formatted,
'use_multiple_times' => $use_multiple_times,
'open_24h' => $open_24h,
);
}
}
}