晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/wordpress-seo-premium/admin/ryte/ |
Upload File : |
<?php
/**
* WPSEO plugin file.
*
* @package WPSEO\Admin
*/
/**
* This class handles the data for the option where the Ryte data is stored.
*/
class WPSEO_Ryte_Option {
/**
* Indicates the data is not fetched.
*
* @var int
*/
const NOT_FETCHED = 99;
/**
* Indicates the option is indexable.
*
* @var int
*/
const IS_INDEXABLE = 1;
/**
* Indicates the option is not indexable.
*
* @var int
*/
const IS_NOT_INDEXABLE = 0;
/**
* Indicates the data could not be fetched.
*
* @var int
*/
const CANNOT_FETCH = -1;
/**
* The name of the option where data will be stored.
*
* @var string
*/
const OPTION_NAME = 'wpseo_ryte';
/**
* The key of the status in the option.
*
* @var string
*/
const STATUS = 'status';
/**
* The key of the last fetch date in the option.
*
* @var string
*/
const LAST_FETCH = 'last_fetch';
/**
* The limit for fetching the status manually.
*
* @var int
*/
const FETCH_LIMIT = 15;
/**
* The Ryte option stored in the database.
*
* @var array
*/
private $ryte_option;
/**
* Setting the object by setting the properties.
*/
public function __construct() {
$this->ryte_option = $this->get_option();
}
/**
* Getting the status from the option.
*
* @return string
*/
public function get_status() {
if ( array_key_exists( self::STATUS, $this->ryte_option ) ) {
return $this->ryte_option[ self::STATUS ];
}
return self::CANNOT_FETCH;
}
/**
* Saving the status to the options.
*
* @param string $status The status to save.
*/
public function set_status( $status ) {
$this->ryte_option[ self::STATUS ] = $status;
}
/**
* Saving the last fetch timestamp to the options.
*
* @param integer $timestamp Timestamp with the new value.
*/
public function set_last_fetch( $timestamp ) {
$this->ryte_option[ self::LAST_FETCH ] = $timestamp;
}
/**
* Determines whether the indexability status should be fetched.
*
* If LAST_FETCH isn't set, we assume the indexability status hasn't been fetched
* yet and return true. Then, we check whether the last fetch is within the
* FETCH_LIMIT time interval (15 seconds) to avoid too many consecutive API calls.
*
* @return bool Whether the indexability status should be fetched.
*/
public function should_be_fetched() {
if ( ! isset( $this->ryte_option[ self::LAST_FETCH ] ) ) {
return true;
}
return ( ( time() - $this->ryte_option[ self::LAST_FETCH ] ) > self::FETCH_LIMIT );
}
/**
* Saving the option with the current data.
*/
public function save_option() {
update_option( self::OPTION_NAME, $this->ryte_option );
}
/**
* Returns the value of the onpage_enabled status.
*
* @return bool
*/
public function is_enabled() {
return WPSEO_Options::get( 'ryte_indexability' );
}
/**
* Getting the option with the Ryte data.
*
* @return array
*/
private function get_option() {
$default = [
self::STATUS => self::NOT_FETCHED,
self::LAST_FETCH => 0,
];
return get_option( self::OPTION_NAME, $default );
}
}