晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/public_html/wp-content/plugins/pretty-link/app/models/ |
Upload File : |
<?php
if(!defined('ABSPATH'))
die('You are not allowed to call this page directly.');
class PrliGroup
{
var $table_name;
public function __construct()
{
global $wpdb;
$this->table_name = "{$wpdb->prefix}prli_groups";
}
public function create( $values )
{
global $wpdb;
$query = "INSERT INTO {$this->table_name} (name,description,created_at) VALUES (%s, %s, NOW())";
$query = $wpdb->prepare( $query, $values['name'], $values['description'] );
$query_results = $wpdb->query($query);
return $wpdb->insert_id;
}
public function update( $id, $values )
{
global $wpdb;
$query = "UPDATE {$this->table_name} SET name = %s, description = %s WHERE id = %d";
$query = $wpdb->prepare($query, $values['name'], $values['description'], $id);
$query_results = $wpdb->query($query);
return $query_results;
}
public function destroy( $id )
{
global $wpdb, $prli_link;
// Disconnect the links from this group
$query = $wpdb->prepare("UPDATE {$prli_link->table_name} SET group_id = NULL WHERE group_id = %d", $id);
$wpdb->query($query);
$destroy = $wpdb->prepare("DELETE FROM {$this->table_name} WHERE id = %d", $id);
return $wpdb->query($destroy);
}
public function getOne( $id, $include_stats = false )
{
global $wpdb, $prli_link, $prli_click;
if($include_stats)
$query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr WHERE id=' . $id;
else
$query = 'SELECT gr.* FROM ' . $this->table_name . ' gr WHERE id=' . $id;
return $wpdb->get_row($query);
}
public function getAll( $where = '', $order_by = '', $return_type = OBJECT, $include_stats = false )
{
global $wpdb, $prli_utils, $prli_link, $prli_click;
if($include_stats)
$query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr' . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
else
$query = 'SELECT gr.* FROM ' . $this->table_name . " gr" . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by;
return $wpdb->get_results($query, $return_type);
}
// Pagination Methods
public function getRecordCount($where="")
{
global $wpdb, $prli_utils;
$query = 'SELECT COUNT(*) FROM ' . $this->table_name . $prli_utils->prepend_and_or_where(' WHERE', $where);
return $wpdb->get_var($query);
}
public function getPageCount($p_size, $where="")
{
return ceil((int)$this->getRecordCount($where) / (int)$p_size);
}
public function getPage($current_p,$p_size, $where = "", $order_by = '')
{
global $wpdb, $prli_link, $prli_utils, $prli_click;
$end_index = $current_p * $p_size;
$start_index = $end_index - $p_size;
$query = 'SELECT gr.*, (SELECT COUNT(*) FROM ' . $prli_link->table_name . ' li WHERE li.group_id = gr.id) as link_count FROM ' . $this->table_name . ' gr' . $prli_utils->prepend_and_or_where(' WHERE', $where) . $order_by .' LIMIT ' . $start_index . ',' . $p_size;
$results = $wpdb->get_results($query);
return $results;
}
// Set defaults and grab get or post of each possible param
public function get_params_array()
{
$values = array(
'action' => sanitize_key(stripslashes(isset($_GET['action'])?$_GET['action']:(isset($_POST['action'])?$_POST['action']:'list'))),
'id' => (isset($_GET['id'])?(int)$_GET['id']:(isset($_POST['id'])?(int)$_POST['id']:'')),
'paged' => (isset($_GET['paged'])?(int)$_GET['paged']:(isset($_POST['paged'])?(int)$_POST['paged']:1)),
'group' => (isset($_GET['group'])?(int)$_GET['group']:(isset($_POST['group'])?(int)$_POST['group']:'')),
'search' => sanitize_text_field(stripslashes(isset($_GET['search'])?$_GET['search']:(isset($_POST['search'])?$_POST['search']:''))),
'sort' => sanitize_key(stripslashes(isset($_GET['sort'])?$_GET['sort']:(isset($_POST['sort'])?$_POST['sort']:''))),
'sdir' => sanitize_key(stripslashes(isset($_GET['sdir'])?$_GET['sdir']:(isset($_POST['sdir'])?$_POST['sdir']:'')))
);
return $values;
}
public function validate( $values )
{
global $wpdb, $prli_utils;
$errors = array();
if( empty($values['name']) )
$errors[] = __('Group must have a name.', 'pretty-link');
return $errors;
}
}