晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/oldTZh/wp-content/plugins/digits/includes/ |
Upload File : |
<?php
if (!defined('ABSPATH')) {
exit;
}
/*
* migrate fields
* hide country code
* @since v7.0.1.5
*
* */
add_action('digits_activation_hooks', 'digits_create_db');
function digits_create_db()
{
_digits_create_db(false);
}
function _digits_create_db($load_dep = true)
{
if ($load_dep) {
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
}
$db_version = get_option('digits_db_version', 0);
update_option('digits_db_version', 3);
global $wpdb;
$tb = $wpdb->prefix . 'digits_otp';
if ($wpdb->get_var("SHOW TABLES LIKE '$tb'") != $tb) {
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $tb (
id BIGINT UNSIGNED NOT NULL auto_increment,
user_id BIGINT DEFAULT NULL,
ref_id BIGINT DEFAULT NULL,
step_no TINYINT DEFAULT NULL,
email VARCHAR (100) DEFAULT NULL,
countrycode VARCHAR(30) DEFAULT NULL,
phone VARCHAR(30) DEFAULT NULL,
otp VARCHAR(255) NOT NULL,
time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
action_type VARCHAR(32) NULL,
ip VARCHAR(200) NOT NULL,
INDEX idx_email (email),
INDEX idx_user_id (user_id),
INDEX idx_phone (countrycode,phone),
primary key (id)
) $charset_collate;";
dbDelta(array($sql));
}
$tb2 = $wpdb->prefix . 'digits_login_logs';
if ($wpdb->get_var("SHOW TABLES LIKE '$tb2'") != $tb2) {
$charset_collate = $wpdb->get_charset_collate();
$sql2 = "CREATE TABLE $tb2 (
id BIGINT UNSIGNED NOT NULL auto_increment,
user_id BIGINT DEFAULT NULL,
login_steps VARCHAR (100) DEFAULT NULL,
login_methods VARCHAR (100) DEFAULT NULL,
request_source VARCHAR (100) DEFAULT NULL,
request_type VARCHAR (100) DEFAULT NULL,
user_token LONGTEXT DEFAULT NULL,
user_agent TEXT DEFAULT NULL,
password_less TINYINT DEFAULT NULL,
time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
ip VARCHAR(200) NOT NULL,
primary key (id),
INDEX idx_user_id (user_id),
INDEX idx_request_source (request_source)
) $charset_collate;";
dbDelta(array($sql2));
}
$charset_collate = $wpdb->get_charset_collate();
$auth_table = $wpdb->prefix . 'digits_auth_devices';
$auth_sql = "CREATE TABLE $auth_table (
id BIGINT UNSIGNED NOT NULL auto_increment,
uniqid TEXT DEFAULT NULL,
user_id BIGINT DEFAULT NULL,
device_name TEXT DEFAULT NULL,
device_type TEXT DEFAULT NULL,
device_info TEXT DEFAULT NULL,
key_id TEXT DEFAULT NULL,
cred_source LONGTEXT DEFAULT NULL,
is_mobile TINYINT DEFAULT NULL,
user_agent TEXT DEFAULT NULL,
last_used datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
ip VARCHAR(200) NOT NULL,
primary key (id),
INDEX idx_user_id (user_id)
) $charset_collate;";
maybe_create_table($auth_table, $auth_sql);
do_action('digits_create_database');
if ($db_version == 2) {
digits_migrate_fields_db_ip_field();
}
}
add_action('digits_activation_hooks', 'digits_migrate_fields_db');
function digits_migrate_fields_db()
{
}
/*
* for v2 to v3 migration
* */
function digits_migrate_fields_db_ip_field()
{
global $wpdb;
$tb = $wpdb->prefix . 'digits_otp';
$tb2 = $wpdb->prefix . 'digits_login_logs';
$auth_table = $wpdb->prefix . 'digits_auth_devices';
$wpdb->query("ALTER TABLE $tb MODIFY ip VARCHAR (200) NOT NULL;");
$wpdb->query("ALTER TABLE $tb2 MODIFY ip VARCHAR (200) NOT NULL;");
$wpdb->query("ALTER TABLE $auth_table MODIFY ip VARCHAR (200) NOT NULL;");
}