晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/public_html/wp-content/plugins/pretty-link/app/controllers/ |
Upload File : |
<?php if(!defined('ABSPATH')) { die('You are not allowed to call this page directly.'); }
/**
* Pretty Link WordPress Plugin API export via XML-RPC
*
* The first 2 arguments to each of these methods are username and password.
*/
require_once(ABSPATH . '/wp-includes/class-IXR.php');
class PrliXmlRpcController extends PrliBaseController {
public function load_hooks() {
add_filter('xmlrpc_methods', array($this, 'export_api'));
}
/********* EXPORT PRETTY LINK API VIA XML-RPC ***********/
public function export_api($api_methods) {
$api_methods['prli.create_pretty_link'] = array($this,'create_pretty_link');
$api_methods['prli.get_all_groups'] = array($this,'get_all_groups');
$api_methods['prli.get_all_links'] = array($this,'get_all_links');
$api_methods['prli.get_link'] = array($this,'get_link');
$api_methods['prli.get_link_from_slug'] = array($this,'get_link_from_slug');
$api_methods['prli.get_pretty_link_url'] = array($this,'get_pretty_link_url');
$api_methods['prli.api_version'] = array($this,'api_version');
return $api_methods;
}
/**
* Returns the API Version as a string.
*/
public function api_version($args) {
$username = $args[0];
$password = $args[1];
if ( !get_option( 'enable_xmlrpc' ) )
return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
if (!user_pass_ok($username, $password))
return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
// make sure user is an admin
$userdata = get_userdatabylogin( $username );
if( !isset($userdata->user_level) or
(int)$userdata->user_level < 8 )
return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
return prli_api_version();
}
/**
* Get a Pretty Link for a long, ugly URL.
*
* @param string $username Required, an admin user of this blog
*
* @param string $password Required, the password for this user
*
* @param string $target_url Required, it is the value of the Target URL you
* want the Pretty Link to redirect to
*
* @param string $slug Optional, slug for the Pretty Link (string that comes
* after the Pretty Link's slash) if this value isn't set
* then a random slug will be automatically generated.
*
* @param string $name Optional, name for the Pretty Link. If this value isn't
* set then the name will be the slug.
*
* @param string $description Optional, description for the Pretty Link.
*
* @param integer $group_id Optional, the group that this link will be placed in.
* If this value isn't set then the link will not be
* placed in a group.
*
* @param boolean $link_track_me Optional, If true the link will be tracked,
* if not set the default value (from the pretty
* link option page) will be used
*
* @param boolean $link_nofollow Optional, If true the nofollow attribute will
* be set for the link, if not set the default
* value (from the pretty link option page) will
* be used
*
* @param boolean $link_sponsored Optional, If true the sponsored attribute will
* be set for the link, if not set the default
* value (from the pretty link option page) will
* be used
*
* @param string $link_redirect_type Optional, valid values include '307', '302', or '301',
* if not set the default value (from the pretty
* link option page) will be used
*
* @return boolean / string The Full Pretty Link if Successful and false for Failure.
* This function will also set a global variable named
* $prli_pretty_slug which gives the slug of the link
* created if the link is successfully created -- it will
* set a variable named $prli_error_messages if the link
* was not successfully created.
*/
public function create_pretty_link( $args ) {
$username = $args[0];
$password = $args[1];
if ( !get_option( 'enable_xmlrpc' ) )
return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
if (!user_pass_ok($username, $password))
return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
// make sure user is an admin
$userdata = get_userdatabylogin( $username );
if( !isset($userdata->user_level) or
(int)$userdata->user_level < 8 )
return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
// Target URL Required
if(!isset($args[2]))
return new IXR_Error( 401, __( 'You must provide a target URL' , 'pretty-link') );
$target_url = $args[2];
$slug = (isset($args[3])?$args[3]:'');
$name = (isset($args[4])?$args[4]:'');
$description = (isset($args[5])?$args[5]:'');
$group_id = (isset($args[6])?$args[6]:'');
$track_me = (isset($args[7])?$args[7]:'');
$nofollow = (isset($args[8])?$args[8]:'');
$sponsored = (isset($args[9])?$args[9]:'');
$redirect_type = (isset($args[10])?$args[10]:'');
$param_forwarding = (isset($args[11]) && !empty($args[11]) && $args[11] != 'off');
$param_struct = (isset($args[12])?$args[12]:'');
if( $link = prli_create_pretty_link( $target_url,
$slug,
$name,
$description,
$group_id,
$track_me,
$nofollow,
$sponsored,
$redirect_type,
$param_forwarding,
$param_struct ) )
return $link;
else
return new IXR_Error( 401, __( 'There was an error creating your Pretty Link' , 'pretty-link') );
}
public function update_pretty_link( $args ) {
$username = $args[0];
$password = $args[1];
if ( !get_option( 'enable_xmlrpc' ) )
return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
if (!user_pass_ok($username, $password))
return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
// make sure user is an admin
$userdata = get_userdatabylogin( $username );
if( !isset($userdata->user_level) or
(int)$userdata->user_level < 8 )
return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
// Target URL Required
if(!isset($args[2]))
return new IXR_Error( 401, __( 'You must provide the id of the link you want to update' , 'pretty-link') );
$id = $args[2];
$target_url = (isset($args[3])?$args[3]:'');
$slug = (isset($args[4])?$args[4]:'');
$name = (isset($args[5])?$args[5]:'');
$description = (isset($args[6])?$args[6]:'');
$group_id = (isset($args[7])?$args[7]:'');
$track_me = (isset($args[8])?$args[8]:'');
$nofollow = (isset($args[9])?$args[9]:'');
$sponsored = (isset($args[10])?$args[10]:'');
$redirect_type = (isset($args[11])?$args[11]:'');
$param_forwarding = (isset($args[12])?$args[12]:'');
$param_struct = (isset($args[13])?$args[13]:'');
if( $link = prli_update_pretty_link( $id,
$target_url,
$slug,
$name,
$description,
$group_id,
$track_me,
$nofollow,
$sponsored,
$redirect_type,
$param_forwarding,
$param_struct ) )
return $link;
else
return new IXR_Error( 401, __( 'There was an error creating your Pretty Link' , 'pretty-link') );
}
/**
* Get all the pretty link groups in an array suitable for creating a select box.
*
* @return bool (false if failure) | array A numerical array of associative arrays
* containing all the data about the pretty
* link groups.
*/
public function get_all_groups($args) {
$username = $args[0];
$password = $args[1];
if ( !get_option( 'enable_xmlrpc' ) )
return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
if (!user_pass_ok($username, $password))
return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
// make sure user is an admin
$userdata = get_userdatabylogin( $username );
if( !isset($userdata->user_level) or
(int)$userdata->user_level < 8 )
return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
if( $groups = prli_get_all_groups())
return $groups;
else
return new IXR_Error( 401, __( 'There was an error fetching the Pretty Link Groups' , 'pretty-link') );
}
/**
* Get all the pretty links in an array suitable for creating a select box.
*
* @return bool (false if failure) | array A numerical array of associative arrays
* containing all the data about the pretty
* links.
*/
public function get_all_links($args) {
$username = $args[0];
$password = $args[1];
if ( !get_option( 'enable_xmlrpc' ) )
return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
if (!user_pass_ok($username, $password))
return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
// make sure user is an admin
$userdata = get_userdatabylogin( $username );
if( !isset($userdata->user_level) or
(int)$userdata->user_level < 8 )
return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
if( $links = prli_get_all_links())
return $links;
else
return new IXR_Error( 401, __( 'There was an error fetching the Pretty Links' , 'pretty-link') );
}
/**
* Gets a specific link from a slug and returns info about it in an array
*
* @return bool (false if failure) | array An associative array with all the
* data about the given pretty link.
*/
public function get_link_from_slug($args) {
$username = $args[0];
$password = $args[1];
if ( !get_option( 'enable_xmlrpc' ) )
return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
if (!user_pass_ok($username, $password))
return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
// make sure user is an admin
$userdata = get_userdatabylogin( $username );
if( !isset($userdata->user_level) or
(int)$userdata->user_level < 8 )
return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
if(!isset($args[2]))
return new IXR_Error( 401, __( 'Sorry, you must provide a slug to lookup' , 'pretty-link') );
$slug = $args[2];
if( $link = prli_get_link_from_slug($slug) )
return $link;
else
return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link' , 'pretty-link') );
}
/**
* Gets a specific link from an id and returns info about it in an array
*
* @return bool (false if failure) | array An associative array with all the
* data about the given pretty link.
*/
public function get_link($args) {
$username = $args[0];
$password = $args[1];
if ( !get_option( 'enable_xmlrpc' ) )
return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
if (!user_pass_ok($username, $password))
return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
// make sure user is an admin
$userdata = get_userdatabylogin( $username );
if( !isset($userdata->user_level) or
(int)$userdata->user_level < 8 )
return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
if(!isset($args[2]))
return new IXR_Error( 401, __( 'Sorry, you must provide an id to lookup' , 'pretty-link') );
$id = $args[2];
if( $link = prli_get_link($id) )
return $link;
else
return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link' , 'pretty-link') );
}
/**
* Gets the full Pretty Link URL from a link id
*
* @return bool (false if failure) | string containing the pretty link url
*/
public function get_pretty_link_url($args) {
$username = $args[0];
$password = $args[1];
if ( !get_option( 'enable_xmlrpc' ) )
return new IXR_Error( 401, __( 'Sorry, XML-RPC Not enabled for this website' , 'pretty-link') );
if (!user_pass_ok($username, $password))
return new IXR_Error( 401, __( 'Sorry, Login failed' , 'pretty-link') );
// make sure user is an admin
$userdata = get_userdatabylogin( $username );
if( !isset($userdata->user_level) or
(int)$userdata->user_level < 8 )
return new IXR_Error( 401, __( 'Sorry, you must be an administrator to access this resource' , 'pretty-link') );
if(!isset($args[2]))
return new IXR_Error( 401, __( 'Sorry, you must provide an id to lookup' , 'pretty-link') );
$id = $args[2];
if( $url = prli_get_pretty_link_url($id) )
return $url;
else
return new IXR_Error( 401, __( 'There was an error fetching your Pretty Link URL' , 'pretty-link') );
}
}