晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/includes/forms/ |
Upload File : |
<?php
namespace DigitsFormHandler;
use DigitsDeviceAuth;
use DigitsNoticeException;
use DigitsSettingsHandler\UserAccountInfo;
use DigitsUserFormHandler\UserSettingsHandler;
use Exception;
use WP_Error;
use WP_User;
if (!defined('ABSPATH')) {
exit;
}
final class EmailHandler
{
protected static $_instance = null;
public $type;
public $user;
public $to;
public $from;
public $body;
public $display_name;
public $subject;
/**
* @throws Exception
*/
public function __construct($type = '')
{
if (!empty($type)) {
$this->predefined_emails($type);
}
}
/**
* @throws Exception
*/
public function predefined_emails($type)
{
$this->type = $type;
switch ($type) {
case 'login':
$subject = __('Log in to {{sitename}}', 'digits');
$mail_type = 'email_login';
break;
case 'verify_email':
case 'register':
$subject = __('Verify your Email Address', 'digits');
$mail_type = 'email_verify';
break;
case 'forgot':
$subject = __('Forgot your password?', 'digits');
$mail_type = 'email_forgot';
break;
default:
throw new Exception(__("Error! Not found", "digits"));
}
$this->subject = $subject;
$this->body = $this->get_template($mail_type);
}
public function get_template($mail_type)
{
return $this->get_file_contents($mail_type);
}
public function get_file_contents($file_name)
{
$location = get_digits_dir() . '/templates/' . $file_name . '.php';
if (file_exists($location)) {
ob_start();
require_once $location;
$template = ob_get_contents();
ob_end_clean();
return $template;
}
return false;
}
public function setUser($user)
{
$this->user = $user;
if (!empty($user->user_email)) {
$this->to = $this->user->user_email;
}
$this->display_name = $user->display_name;
}
public function parse_placeholders($args = array())
{
$image_url = '';
$digits_admin_email_style = get_option('digits_form_email_style', array());
if (!empty($digits_admin_email_style['logo'])) {
$image_url = $digits_admin_email_style['logo'];
} else {
$custom_logo_id = get_theme_mod('custom_logo');
$image = wp_get_attachment_image_src($custom_logo_id, 'medium');
if (!empty($image)) {
$image_url = $image[0];
}
}
$site_name = get_bloginfo('name');
$placeholder_values = array(
'{{site-logo}}' => $image_url,
'{{sitename}}' => $site_name,
'{{sitelink}}' => home_url(),
);
if (!empty($this->user) && $this->user instanceof WP_User) {
$placeholder_values['{{name}}'] = $this->user->display_name;
}
$placeholder_values = array_merge($placeholder_values, $args);
$this->subject = apply_filters('digits_email_subject', $this->subject, $placeholder_values);
$placeholder_values = apply_filters('digits_email_placeholders', $placeholder_values, $this->type, $this->user);
$this->subject = strtr($this->subject, $placeholder_values);
$this->body = strtr($this->body, $placeholder_values);
}
public function send()
{
if (empty($this->to)) {
throw new Exception(__('Cannot send email to an empty address', 'digits'));
}
return digit_send_email($this->to, $this->subject, $this->body, $this->display_name);
}
/**
* @param mixed $subject
*/
public function setSubject($subject)
{
$this->subject = $subject;
}
/**
* @param mixed $body
*/
public function setBody($body)
{
$this->body = $body;
}
/**
* @param mixed $from
*/
public function setFrom($from)
{
$this->from = $from;
}
/**
* @param mixed $to
*/
public function setTo($to)
{
$this->to = $to;
}
/**
* @param mixed $display_name
*/
public function setDisplayName($display_name)
{
$this->display_name = $display_name;
}
}