晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/public_html/setupTZh/betheme/functions/admin/ |
Upload File : |
<?php
if( ! defined( 'ABSPATH' ) ){
exit; // Exit if accessed directly
}
class Mfn_API {
public $version = '';
protected $url = array(
'changelog' => 'https://themes.muffingroup.com/betheme/documentation/changelog.html',
'register' => 'https://api.muffingroup.com/register.php',
'rate' => 'https://api.muffingroup.com/rate.php',
'theme_version' => 'https://api.muffingroup.com/theme/version.php',
'theme_download' => 'https://api.muffingroup.com/theme/download.php',
'plugins_version' => 'https://api.muffingroup.com/plugins/version.php',
'plugins_download' => 'https://api.muffingroup.com/plugins/download.php',
'websites_download' => 'https://api.muffingroup.com/websites/download.php',
'sections_download' => 'https://api.muffingroup.com/sections/download.php',
'pages_download' => 'https://api.muffingroup.com/pages/download.php',
'promo_version' => 'https://api.muffingroup.com/promo/version.php',
'promo_download' => 'https://api.muffingroup.com/promo/download.php',
);
/**
* Constructor
*/
public function __construct(){
$this->version = $this->get_update_version();
}
/**
* Return specified url
*
* @param string $key
* @return string
*/
protected function get_url( $key ){
return $this->url[ $key ];
}
/**
* Remote post with error handling
*
* @param string $target
* @param array $args
*/
protected function remote_post( $target, $args = array() ){
$response = wp_remote_post( $this->get_url( $target ), $args );
if( is_wp_error( $response ) ){
return $response;
}
$data = json_decode( wp_remote_retrieve_body( $response ), true );
if( isset( $data['error'] ) ){
return new WP_Error( 'invalid_response', $data['error'] );
}
return $data;
}
/**
* Remote get with error handling
*
* @param string $target
* @param array $args
*/
protected function remote_get( $target, $args = array(), $json = true ){
if( ! $args ){
$args = array(
'user-agent' => 'WordPress/'. get_bloginfo('version') .'; '. network_site_url(),
'timeout' => 30,
);
}
$response = wp_remote_get( $this->get_url( $target ), $args );
// debug
if( isset( $_GET['forcecheck'] ) && isset( $_GET['be-debug'] ) ){
print_r( $response );
exit;
}
if( is_wp_error( $response ) ){
return $response;
}
$data = wp_remote_retrieve_body( $response );
if( $json ){
$data = json_decode( $data, true );
}
if( isset( $data['error'] ) ){
return new WP_Error( 'invalid_response', $data['error'] );
}
return $data;
}
/**
* Get theme version
*/
function get_update_version(){
$this->force_check_version();
$version = get_site_transient( 'betheme_update' );
$version = apply_filters('betheme_disable_theme_update', $version);
if( ! $version ){
$version = $this->refresh_update_version();
}
return $version;
}
/**
* Refresh theme version
* Remote get version
* Set transient
*/
function refresh_update_version(){
if( ! $version = $this->remote_get_version() ){
// set nagative value for transient which do not like 0 and false
$version = -1;
}
// set transient
set_site_transient( 'betheme_update', $version, HOUR_IN_SECONDS );
// delete transient
delete_site_transient( 'betheme_update_plugins' );
return $version;
}
/**
* Remote get new theme version
*/
public function remote_get_version(){
$response = $this->remote_get( 'theme_version' );
if( is_wp_error( $response ) ){
return false;
}
if( empty( $response['version'] ) ){
return false;
}
return $response['version'];
}
/**
* Force connection check and redirect
*/
function force_check_version(){
if( isset( $_GET['forcecheck'] ) ){
$this->refresh_update_version();
wp_redirect( wp_get_referer() );
exit;
}
}
/**
* Check if current host is localhost
*/
function is_localhost(){
$whitelist = array( 'localhost', '127.0.0.1', '::1' );
return in_array( $_SERVER['REMOTE_ADDR'], $whitelist ); // context is safe and necessary
}
}