晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/digits/admin/includes/tabs/ |
Upload File : |
<?php
if (!defined('ABSPATH')) {
exit;
}
function digits_settings_basic()
{
$countryList = getCountryList();
$currentCountry = get_option("dig_default_ccode", 'United States');
$whiteListCountryCodes = get_option("whitelistcountrycodes");
$blacklistcountrycodes = get_option("dig_blacklistcountrycodes");
$dig_hide_countrycode = get_option('dig_hide_countrycode', 0);
$dig_send_otp_together = get_digits_otp_immediately_methods();
$dig_otp_size = get_option("dig_otp_size", 6);
?>
<div class="dig_admin_head"><span><?php _e('Basic Settings', 'digits'); ?></span></div>
<div class="dig_admin_tab_grid">
<div class="dig_admin_tab_grid_elem">
<table class="form-table" style="overflow: hidden">
<tr>
<th scope="row" style="vertical-align:top;">
<label class="dig_label_top_18" for="dig_otp_size">
<?php _e('Immediately send OTP on', 'digits'); ?>
</label></th>
<td>
<?php
digits_input_checkbox('dig_send_otp_together', 'sms_otp', $dig_send_otp_together, __('SMS', 'digits'));
digits_input_checkbox('dig_send_otp_together', 'email_otp', $dig_send_otp_together, __('Email', 'digits'));
?>
<p class="dig_ecr_desc">
<?php esc_attr_e('At the time of Login, the OTP will be sent automatically after clicking on "Continue" button on login form on all the routes selected above.', 'digits'); ?>
</p>
</td>
</tr>
<tr class="disotp">
<th scope="row" style="vertical-align:top;"><label
for="dig_otp_size"><?php _e('OTP size', 'digits'); ?>
</label></th>
<td>
<div class="dig_gs_nmb_ovr_spn">
<input dig-min="4" type="number" name="dig_otp_size"
value="<?php echo esc_attr($dig_otp_size); ?>"
id="dig_otp_size"
placeholder="<?php _e('0', 'digits'); ?>" class="dig_inp_wid3" min="4" max="12"
step="1" required/>
<span style="left:51px;"><?php _e('characters', 'digits'); ?></span>
</div>
</td>
</tr>
<tr>
<th scope="row"><label><?php _e('Default Country Code', 'digits'); ?> </label></th>
<td>
<select name="default_ccode" class="dig_inp_wid3 dig_inp_wid_wil">
<option value="-1">Disabled</option>
<?php
$valCon = "";
foreach ($countryList as $key => $value) {
$ac = "";
if ($currentCountry == $key) {
$ac = "selected=selected";
}
echo '<option class="dig-cc-visible" ' . $ac . ' value="' . $key . '" country="' . digits_strtolower($key) . '">' . getTranslatedCountryName($key) . ' (+' . $value . ')</option>';
}
?>
</select>
</td>
</tr>
<tr>
<th scope="row" style="vertical-align:top;"><label
for="whitelistcountrycodes"><?php _e('Country Codes Allowlist', 'digits'); ?></label>
</th>
<td>
<select name="whitelistcountrycodes[]" class="whitelistcountrycodeslist dig_multiselect_enable"
multiple="multiple">
<?php
foreach ($countryList as $key => $value) {
$ac = "";
if ($whiteListCountryCodes) {
if (in_array($key, $whiteListCountryCodes)) {
$ac = "selected=selected";
}
}
echo '<option value="' . $key . '" ' . $ac . '>' . getTranslatedCountryName($key) . ' (+' . $value . ')</option>';
}
?>
</select><br/>
<p class="dig_ecr_desc"><?php _e('Sign In/Sign Up will be allowed for phone numbers with these country codes. To allow Sign In/Sign Up for all country codes, leave this blank.', 'digits'); ?></p>
</td>
</tr>
<tr>
<th scope="row" style="vertical-align:top;"><label
for="blacklistcountrycodes"><?php _e('Country Codes Denylist', 'digits'); ?></label>
</th>
<td>
<select name="blacklistcountrycodes[]" class="blacklistcountrycodes dig_multiselect_enable"
multiple="multiple">
<?php
foreach ($countryList as $key => $value) {
$ac = "";
if ($blacklistcountrycodes) {
if (in_array($key, $blacklistcountrycodes)) {
$ac = "selected=selected";
}
}
echo '<option value="' . $key . '" ' . $ac . '>' . getTranslatedCountryName($key) . ' (+' . $value . ')</option>';
}
?>
</select><br/>
<p class="dig_ecr_desc"><?php _e('Sign In/Sign Up will be not allowed for phone numbers with these country codes. To allow Sign In/Sign Up for all country codes, leave this blank.', 'digits'); ?></p>
</td>
</tr>
<tr>
<th scope="row" style="vertical-align:top;"><label
for="phonenumberdenylist"><?php _e('Phone numbers Denylist', 'digits'); ?></label></th>
<td>
<select name="phonenumberdenylist[]"
class="dig_ignore_untselect phonenumberdenylist dig_multiselect_phone_dynamic_enable dig_sens_data"
multiple="multiple">
<?php
$dig_phonenumberdenylist = get_option("dig_phonenumberdenylist");
if (is_array($dig_phonenumberdenylist)) {
foreach ($dig_phonenumberdenylist as $value) {
echo '<option value="' . $value . '" selected=selected>' . $value . '</option>';
}
}
?>
</select><br/>
<p class="dig_ecr_desc"><?php _e('Sign In/Sign Up will be not allowed for these phone numbers.', 'digits'); ?></p>
</td>
</tr>
</table>
<?php
$digits_hidecountrycode_style = 'style="display:none;"';
if (is_array($whiteListCountryCodes)) {
if (count($whiteListCountryCodes) == 1) {
$digits_hidecountrycode_style = 'style="display:block;"';
}
}
?>
<div id="digits_hidecountrycode" <?php echo $digits_hidecountrycode_style; ?>>
<table class="form-table">
<tr>
<th scope="row"><label class="top-10"><?php _e('Hide Country Code', 'digits'); ?> </label></th>
<td>
<?php digits_input_switch('dig_hide_countrycode', $dig_hide_countrycode); ?>
</td>
</tr>
</table>
</div>
</div>
</div>
<?php
}
function digits_settings_woocommerce()
{
$dig_reqfieldbilling = get_option("dig_reqfieldbilling", 0);
$enable_wc_autofill = get_option('dig_autofill_wc_billing', 1);
$dig_redirect_wc_to_dig = get_option('dig_redirect_wc_to_dig', 0);
$enable_createcustomeronorder = get_option('enable_createcustomeronorder');
?>
<div class="dig_admin_head"><span><?php _e('WooCommerce Settings', 'digits'); ?></span></div>
<div class="dig_admin_tab_grid">
<div class="dig_admin_tab_grid_elem">
<table class="form-table">
<tr>
<th scope="row"><label
class="no-top"><?php _e('Redirect WooCommerce account page to Digits login page', 'digits'); ?> </label>
</th>
<td>
<?php digits_input_switch('dig_redirect_wc_to_dig', $dig_redirect_wc_to_dig); ?>
</td>
</tr>
<tr>
<th scope="row"><label for="enable_createcustomeronorder"
class="top-10"><?php _e('Create Customer Button', 'digits'); ?>
</label></th>
<td>
<?php digits_input_switch('enable_createcustomeronorder', $enable_createcustomeronorder); ?>
<p class="dig_ecr_desc dig_sel_erc_desc"><?php _e('Add customer on Add Order Page on dashboard using Modal', 'digits'); ?></p>
</td>
</tr>
<tr>
<th scope="row"><label
for="dig_reqfieldbilling"><?php _e('Required field for billing info', 'digits'); ?>
</label></th>
<td>
<select name="dig_reqfieldbilling" id="dig_reqfieldbilling" class="dig_inp_wid3">
<option value="0" <?php if ($dig_reqfieldbilling == 0) {
echo 'selected=selected';
} ?> ><?php _e('Mobile Number and Email', 'digits'); ?></option>
<option value="1" <?php if ($dig_reqfieldbilling == 1) {
echo 'selected=selected';
} ?> ><?php _e('Mobile Number', 'digits'); ?></option>
<option value="2" <?php if ($dig_reqfieldbilling == 2) {
echo 'selected=selected';
} ?> ><?php _e('Email', 'digits'); ?></option>
</select>
</td>
</tr>
<tr>
<th scope="row"><label for="enable_autofillcustomerdetails"
class="top-10"><?php _e('Autofill WooCommerce billing fields with user info', 'digits'); ?>
</label></th>
<td>
<?php digits_input_switch('enable_autofillcustomerdetails', $enable_wc_autofill); ?></td>
</tr>
<?php
$enable_guest_checkout_verification = get_option('digits_enable_guest_checkout_verification', 0);
$enable_billing_phone_verification = get_option('digits_enable_billing_phone_verification', 0);
?>
<tr>
<th scope="row"><label for="digits_enable_guest_checkout_verification"
class="top-10"><?php _e('Enable guest checkout verification', 'digits'); ?>
</label></th>
<td>
<?php digits_input_switch('digits_enable_guest_checkout_verification', $enable_guest_checkout_verification); ?></td>
</tr>
<tr>
<th scope="row"><label for="digits_enable_billing_phone_verification"
class="top-10"><?php _e('Enable billing phone verification', 'digits'); ?>
</label></th>
<td>
<select id="digits_enable_billing_phone_verification" name="digits_enable_billing_phone_verification">
<option value="0" <?php if ($enable_billing_phone_verification == 0) echo 'selected'; ?>>
<?php _e('Disable', 'digits'); ?>
</option>
<option value="1" <?php if ($enable_billing_phone_verification == 1) echo 'selected'; ?>>
<?php _e('For Cash on Delivery', 'digits'); ?>
</option>
<option value="2" <?php if ($enable_billing_phone_verification == 2) echo 'selected'; ?>>
<?php _e('For All Payment Methods', 'digits'); ?>
</option>
</select>
</tr>
</table>
</div>
</div>
<?php
}
function digits_settings_redirection()
{
?>
<div class="dig_admin_head"><span><?php _e('Redirection Settings', 'digits'); ?></span></div>
<div class="dig_admin_tab_grid">
<div class="dig_admin_tab_grid_elem">
<table class="form-table dig_cs_re">
<tr>
<th scope="row"><label
for="digits_myaccount_redirect"><?php _e('My Account Link', 'digits'); ?></label></th>
<td>
<input type="url" id="digits_myaccount_redirect" name="digits_myaccount_redirect"
value="<?php echo esc_attr(get_option("digits_myaccount_redirect")); ?>"
placeholder="<?php _e("URL", "digits"); ?>"/>
<p class="dig_ecr_desc"><?php _e('Leave blank for auto redirect', 'digits'); ?> </p>
</td>
</tr>
<tr>
<th scope="row"><label for="digits_loginred"><?php _e('Login Redirect', 'digits'); ?></label></th>
<td>
<input type="url" id="digits_loginred" name="digits_loginred"
value="<?php echo esc_attr(get_option("digits_loginred")); ?>"
placeholder="<?php _e("URL", "digits"); ?>"/>
<p class="dig_ecr_desc"><?php _e('Leave blank for auto redirect', 'digits'); ?> </p>
</td>
</tr>
<tr>
<th scope="row"><label for="digits_regred"><?php _e('Signup Redirect', 'digits'); ?></label></th>
<td>
<input type="url" id="digits_regred" name="digits_regred"
value="<?php echo esc_attr(get_option("digits_regred")); ?>"
placeholder="<?php _e("URL", "digits"); ?>"/>
<p class="dig_ecr_desc"><?php _e('Leave blank for auto redirect', 'digits'); ?> </p>
</td>
</tr>
<tr>
<th scope="row"><label
for="digits_forgotred"><?php _e('Forgot Password Redirect', 'digits'); ?></label>
</th>
<td>
<input type="url" id="digits_forgotred" name="digits_forgotred"
value="<?php echo esc_attr(get_option("digits_forgotred")); ?>"
placeholder="<?php _e("URL", "digits"); ?>"/>
<p class="dig_ecr_desc"><?php _e('Leave blank for auto redirect', 'digits'); ?> </p>
</td>
</tr>
<tr class="dig_csmargn">
<th scope="row"><label for="digits_logoutred"><?php _e('Logout Redirect', 'digits'); ?></label></th>
<td>
<input type="url" id="digits_logoutred" name="digits_logoutred"
value="<?php echo esc_attr(get_option("digits_logoutred")); ?>"
placeholder="<?php _e("URL", "digits"); ?>"/>
<p class="dig_ecr_desc"><?php _e('Leave blank for auto redirect', 'digits'); ?></p>
</td>
</tr>
</table>
</div>
<div class="dig_admin_tab_grid_elem dig_admin_tab_grid_sec">
<?php
$hint = esc_attr__('Redirection settings only work for WordPress Native, WooCommerce and Digits Native Forms.', 'digits');
$hint .= "<br /><br />";
$hint .= esc_attr__('You can also use user placeholders in redirection.', 'digits');
digits_settings_show_hint($hint)
?>
</div>
</div>
<?php
}
function digits_settings_miscellaneous()
{
?>
<div class="dig_admin_head"><span><?php _e('Miscellaneous', 'digits'); ?></span></div>
<div class="dig_admin_tab_grid">
<div class="dig_admin_tab_grid_elem">
<table class="form-table">
<tr>
<?php
$brute_force_protection = get_option('digits_brute_force_protection', 1);
?>
<th scope="row">
<label class="top-10" for="digits_brute_force_protection">
<?php _e('Enable Brute Force Protection', 'digits'); ?>
</label>
</th>
<td>
<?php digits_input_switch('digits_brute_force_protection', $brute_force_protection); ?>
</td>
</tr>
<tr>
<th scope="row" style="vertical-align:top;"><label
for="brute_force_allowed_ip">
<?php _e('Brute Force Allow-listed IPs', 'digits'); ?>
</label></th>
<td>
<select name="brute_force_allowed_ip[]"
class="dig_ignore_untselect dig_multiselect_dynamic_enable dig_sens_data"
multiple="multiple">
<?php
$dig_brute_force_allowed_ip = get_option("dig_brute_force_allowed_ip");
$current_ip = digits_get_ip();
if (empty($dig_brute_force_allowed_ip) || !in_array($current_ip, $dig_brute_force_allowed_ip)) {
echo '<option value="' . esc_attr($current_ip) . '">' . $current_ip . '</option>';
}
if (is_array($dig_brute_force_allowed_ip)) {
foreach ($dig_brute_force_allowed_ip as $value) {
$value = esc_attr($value);
echo '<option value="' . $value . '" selected=selected>' . $value . '</option>';
}
}
?>
</select><br/>
<p class="dig_ecr_desc"><?php _e('Add the IP(s) to not get blocked by our brute force detection system', 'digits'); ?></p>
</td>
</tr>
<tr>
<?php
$sameorigin_protection = get_option('digits_sameorigin_protection', 0);
?>
<th scope="row">
<label class="top-10" for="digits_sameorigin_protection">
<?php _e('Allow Digits forms in iframe', 'digits'); ?>
</label>
</th>
<td>
<?php digits_input_switch('digits_sameorigin_protection', $sameorigin_protection); ?>
</td>
</tr>
<tr>
<th scope="row">
<label>
<?php _e('Export / Import Settings', 'digits'); ?>
</label>
</th>
<td>
<button id="digits_configuration_export" class="button"
type="button"><?php _e('Export', 'digits'); ?></button>
<button id="digits_configuration_import" class="button"
type="button"><?php _e('Import', 'digits'); ?></button>
</td>
</tr>
<tr>
<?php
$usage_sharing = get_option('digits_usage_data_sharing', 1);
$usage_id = get_option('digits_usage_data_sharing_id', false);
if (!$usage_id) {
$usage_id = md5(uniqid('digits'));
update_option('digits_usage_data_sharing_id', $usage_id);
}
?>
<th scope="row">
<label class="top-10" for="digits_usage_data_sharing">
<?php _e('Usage Data Sharing', 'digits'); ?>
</label>
</th>
<td>
<?php digits_input_switch('digits_usage_data_sharing', $usage_sharing); ?>
<input type="hidden" name="random_id" value="<?php echo esc_attr($usage_id); ?>"/>
<p class="dig_ecr_desc"><?php _e('Help us improve Digits by opting in to share non-sensitive plugin data', 'digits'); ?></p>
</td>
</tr>
</table>
<div class="dig_admin_sec_head dig_admin_sec_head_margin">
<span><?php _e('Advanced Options', 'digits'); ?></span>
</div>
<?php
$custom_css = get_option('digit_custom_css');
$custom_css = stripslashes($custom_css);
?>
<table class="form-table">
<tr>
<th scope="row"><label for="dig_custom_css"><?php _e('Custom CSS', 'digits'); ?> </label></th>
<td><textarea name="digit_custom_css" rows="6"
class="dig_inp_wid28"
id="dig_custom_css"><?php echo esc_attr($custom_css); ?></textarea></td>
</tr>
</table>
</div>
</div>
<?php
}
function digits_settings_export_import_modal()
{
?>
<div class="dig_presets_modal dig_overlay_modal_content" id="dig_export_import_content">
<div class="dig-flex_center">
<div id="dig_presets_modal_box">
<div id="dig_presets_modal_body" class="dig-admin-modal">
<div class="modal_head"></div>
<div class="modal_body">
<textarea class="dig_export_import_values"
placeholder="<?php _e('Paste your import code here...', 'digits') ?>"></textarea>
</div>
<div class="dig_ex_imp_bottom">
<button class="imp_exp_button button imp_exp_btn_fn" type="button"
attr-export="<?php _e('COPY', 'digits'); ?>"></button>
<div class="imp_exp_button imp_exp_cancel dig_presets_modal_head_close"
id="dig_presets_modal_head_close"><?php _e('CLOSE', 'digits'); ?></div>
</div>
</div>
</div>
</div>
</div>
<?php
}
add_action('digits_setting_modal', 'digits_settings_export_import_modal');