晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/www/oldTZh/wp-content/plugins/wp-rocket/inc/Engine/License/API/ |
Upload File : |
<?php
namespace WP_Rocket\Engine\License\API;
class Pricing {
/**
* The pricing data object
*
* @var object
*/
private $pricing;
/**
* Instantiate the class
*
* @param object $pricing The pricing object.
*/
public function __construct( $pricing ) {
$this->pricing = $pricing;
}
/**
* Gets the single license pricing data
*
* @return null|object
*/
public function get_single_pricing() {
if (
! isset( $this->pricing->licenses->single )
||
! is_object( $this->pricing->licenses->single )
) {
return null;
}
return $this->pricing->licenses->single;
}
/**
* Gets the plus license pricing data
*
* @return null|object
*/
public function get_plus_pricing() {
if (
! isset( $this->pricing->licenses->plus )
||
! is_object( $this->pricing->licenses->plus )
) {
return null;
}
return $this->pricing->licenses->plus;
}
/**
* Gets the infinite license pricing data
*
* @return null|object
*/
public function get_infinite_pricing() {
if (
! isset( $this->pricing->licenses->infinite )
||
! is_object( $this->pricing->licenses->infinite )
) {
return null;
}
return $this->pricing->licenses->infinite;
}
/**
* Gets the license renewal pricing data
*
* @return null|object
*/
public function get_renewals_data() {
if (
! isset( $this->pricing->renewals )
||
! is_object( $this->pricing->renewals )
) {
return null;
}
return $this->pricing->renewals;
}
/**
* Gets the promotion data
*
* @return null|object
*/
public function get_promo_data() {
if (
! isset( $this->pricing->promo )
||
! is_object( $this->pricing->promo )
) {
return null;
}
return $this->pricing->promo;
}
/**
* Checks if a promotion is currently active
*
* @return boolean
*/
public function is_promo_active() {
$promo_data = $this->get_promo_data();
if ( is_null( $promo_data ) ) {
return false;
}
if ( ! isset( $promo_data->start_date, $promo_data->end_date ) ) {
return false;
}
$current_time = time();
return (
absint( $promo_data->start_date ) < $current_time
&&
absint( $promo_data->end_date ) > $current_time
);
}
/**
* Gets promotion end date
*
* @return int
*/
public function get_promo_end() {
$promo = $this->get_promo_data();
if (
is_null( $promo )
||
! isset( $promo->end_date )
) {
return 0;
}
return absint( $promo->end_date );
}
/**
* Gets the regular upgrade price from single to plus
*
* @return int
*/
public function get_regular_single_to_plus_price() {
$plus_pricing = $this->get_plus_pricing();
if (
is_null( $plus_pricing )
||
! isset( $plus_pricing->prices->from_single->regular )
) {
return 0;
}
return $plus_pricing->prices->from_single->regular;
}
/**
* Gets the current upgrade price from single to plus
*
* @return int
*/
public function get_single_to_plus_price() {
$plus_pricing = $this->get_plus_pricing();
$regular = $this->get_regular_single_to_plus_price();
if (
is_null( $plus_pricing )
||
! isset( $plus_pricing->prices->from_single->sale )
) {
return $regular;
}
return $this->is_promo_active() ? $plus_pricing->prices->from_single->sale : $regular;
}
/**
* Gets the regular upgrade price from single to infinite
*
* @return int
*/
public function get_regular_single_to_infinite_price() {
$infinite_pricing = $this->get_infinite_pricing();
if (
is_null( $infinite_pricing )
||
! isset( $infinite_pricing->prices->from_single->regular )
) {
return 0;
}
return $infinite_pricing->prices->from_single->regular;
}
/**
* Gets the current upgrade price from single to plus
*
* @return int
*/
public function get_single_to_infinite_price() {
$infinite_pricing = $this->get_infinite_pricing();
$regular = $this->get_regular_single_to_infinite_price();
if (
is_null( $infinite_pricing )
||
! isset( $infinite_pricing->prices->from_single->sale )
) {
return $regular;
}
return $this->is_promo_active() ? $infinite_pricing->prices->from_single->sale : $regular;
}
/**
* Gets the regular upgrade price from plus to infinite
*
* @return int
*/
public function get_regular_plus_to_infinite_price() {
$infinite_pricing = $this->get_infinite_pricing();
if (
is_null( $infinite_pricing )
||
! isset( $infinite_pricing->prices->from_plus->regular )
) {
return 0;
}
return $infinite_pricing->prices->from_plus->regular;
}
/**
* Gets the current upgrade price from plus to infinite
*
* @return int
*/
public function get_plus_to_infinite_price() {
$infinite_pricing = $this->get_infinite_pricing();
$regular = $this->get_regular_plus_to_infinite_price();
if (
is_null( $infinite_pricing )
||
! isset( $infinite_pricing->prices->from_plus->sale )
) {
return $regular;
}
return $this->is_promo_active() ? $infinite_pricing->prices->from_plus->sale : $regular;
}
/**
* Gets the number of websites allowed for the single license
*
* @return int
*/
public function get_single_websites_count() {
$single_pricing = $this->get_single_pricing();
if (
is_null( $single_pricing )
||
! isset( $single_pricing->websites )
) {
return 0;
}
return (int) $single_pricing->websites;
}
/**
* Gets the number of websites allowed for the plus license
*
* @return int
*/
public function get_plus_websites_count() {
$plus_pricing = $this->get_plus_pricing();
if (
is_null( $plus_pricing )
||
! isset( $plus_pricing->websites )
) {
return 0;
}
return (int) $plus_pricing->websites;
}
/**
* Gets the number of websites allowed for the infinite license
*
* @return int
*/
public function get_infinite_websites_count() {
$infinite_pricing = $this->get_infinite_pricing();
if (
is_null( $infinite_pricing )
||
! isset( $infinite_pricing->websites )
) {
return 0;
}
return (int) $infinite_pricing->websites;
}
}