HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1014-azure #14~24.04.1-Ubuntu SMP Fri Oct 3 20:52:11 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/dreamstour-wp/wp-content/plugins/dreams-tour/templates/forget-password.php
<?php
/**
 * Template Name: Forget Password Template
 *
 * Custom template for sending password reset links.
 *
 * @package Dreamstour
 */

$error_message   = '';
$success_message = '';

$__method = isset($_SERVER['REQUEST_METHOD']) ? strtoupper( sanitize_text_field( wp_unslash( $_SERVER['REQUEST_METHOD'] ) ) ) : '';
if ('POST' === $__method && isset($_POST['reset_password_nonce']) && wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['reset_password_nonce'] ) ), 'reset_password_nonce')) {

    $email = sanitize_email( wp_unslash( $_POST['email'] ) );
    $user  = get_user_by('email', $email);

    if ($user) {
        $forgot_page_id =dreamstour_fl_framework_getoptions('header_changepass_link');
        $change_password_page =  get_permalink( $forgot_page_id ) ;
            $reset_key = get_password_reset_key($user);

            if (!is_wp_error($reset_key)) {
                // $reset_link = esc_url(add_query_arg([
                //     'action' => 'rp',
                //     'key'    => $reset_key,
                //     'login'  => rawurlencode($user->user_login),
                // ], wp_login_url()));

                 // Build reset link with key & login
    $reset_link = esc_url(add_query_arg([
        'key'   => $reset_key,
        'login' => rawurlencode($user->user_login),
    ], $change_password_page));
    

                // Base email content with placeholders
                $email_content = '
                <p>Hi {user_name},</p>
                <p>We received a request to reset your password. If you requested this change, please click the link below to reset your password:</p>
                <div style="text-align:center;margin:20px 0;">
                    <a href="{reset_link}" style="background-color:#0073e6;color:#fff;padding:12px 20px;border-radius:5px;text-decoration:none;font-weight:bold;">Reset Password</a>
                </div>
                <p>If you did not request a password reset, please ignore this email.</p>
                <p>Thank you.</p>';

                // Replace placeholders
                $email_content = str_replace('{user_name}', $user->display_name, $email_content);
                $email_content = str_replace('{reset_link}', $reset_link, $email_content);

                // Build full email wrapper
                $message = '<!DOCTYPE html>
                <html>
                <head>
                    <meta charset="UTF-8">
                    <meta name="viewport" content="width=device-width, initial-scale=1.0">
                    <style>
                        body { font-family: Arial, sans-serif; color:#333; line-height:1.6; }
                        .container { max-width:600px; margin:0 auto; padding:20px; background:#f9f9f9; border:1px solid #ddd; }
                        .content { background:#fff; padding:20px; border-radius:5px; }
                        .footer { margin-top:30px; text-align:center; color:#999; font-size:12px; }
                    </style>
                </head>
                <body>
                    <div class="container">
                        <div class="content">' . $email_content . '</div>
                        <div class="footer">&copy; ' . date("Y") . ' ' . get_bloginfo('name') . '. All rights reserved.</div>
                    </div>
                </body>
                </html>';

                // Email headers
                $from_email = get_bloginfo('admin_email');
                $headers = [
                    'Content-Type: text/html; charset=UTF-8',
                    'From: ' . get_bloginfo('name') . ' <' . $from_email . '>',
                ];

                // Subject
                $subject = __('Password Reset Request', 'dreamstour');

                // Send email (custom wrapper or fallback to wp_mail)
                if (function_exists('dreamstour_send_email')) {
                    dreamstour_send_email($email, $subject, $message, $headers);
                } else {
                    wp_mail($email, $subject, $message, $headers);
                }

                $success_message = '<p class="text-success"><i class="isax isax-tick-circle5 me-1"></i>Reset Password Sent to “'.$email.'”</p>';
            } else {
                $error_message = __('Could not generate a reset link. Please try again later.', 'dreamstour');
            }
        // } else {
        //     $error_message = __('Password reset email is disabled.', 'dreamstour');
        // }
    } else {
        $error_message = __('Email is not registered. Please enter a valid email address.', 'dreamstour');
    }
}
 
 
// Get logo URLs
$main_logo_url = '';
$logo_dark_url = '';

if ( in_array( 'redux-framework/redux-framework.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ), true ) ) {
	
	$main_logo = dreamstour_fl_framework_getoptions( 'frontend_logo' );
	if ( ! empty( $main_logo ) && isset( $main_logo['url'] ) ) {
		$main_logo_url = $main_logo['url'];
	}
	
	$logo_dark = dreamstour_fl_framework_getoptions( 'logo_dark' );
	if ( ! empty( $logo_dark ) && isset( $logo_dark['url'] ) ) {
		$logo_dark_url = $logo_dark['url'];
	}
} else {
	$main_logo_url = get_template_directory_uri() . '/assets/images/logo.svg';
	$logo_dark_url = get_template_directory_uri() . '/assets/images/logo-dark.svg';
}
 

$sign_page_id = dreamstour_fl_framework_getoptions( 'header_login_link' );
$sign_page_url = ! empty( $sign_page_id ) ? get_permalink( $sign_page_id ) : site_url( '/' );

get_template_part( 'templates/header/header', 'none' );




?>
 
<div class="bg-light-2001">
  
<!-- Main Wrapper -->
<div class="main-wrapper authentication-wrapper">
        <div class="container-fuild">
            <div class="w-100 overflow-hidden position-relative flex-wrap d-block vh-100">
                <div class="row justify-content-center align-items-center vh-100 overflow-auto flex-wrap ">
                    <div class="col-xxl-4 col-lg-6 col-md-6 col-11 mx-auto">
                        <div class="p-4 text-center">
                        <img src="<?php echo esc_url( $logo_dark_url ); ?>" alt="<?php esc_attr_e( 'Logo', 'dreamstour' ); ?>" class="img-fluid">
                        </div>
                        <div class="card authentication-card">
                            <div class="card-header">
                                <div class="text-center">
                                    <h5 class="mb-1"><?php esc_html_e('Forgot Password', 'dreamstour'); ?></h5>
                                    <p><?php esc_html_e('Reset Your DreamsTour Password', 'dreamstour'); ?></p>
                                </div>
                            </div>
                            <div class="card-body">
                                <form action="" method="post"  >
                                <?php wp_nonce_field('reset_password_nonce', 'reset_password_nonce'); ?>
                                    <?php wp_nonce_field( 'dreams_tour_login', 'dreams_tour_login_nonce' ); ?>
                                  
                                    <?php if (!empty($error_message)) : ?>
 <div class="alert alert-danger  mb-3"><strong>Error:</strong> <?php echo wp_kses_post($error_message); ?></div>
 <?php endif; ?>

                                   
                                    <div class="mb-3">
                                        <label class="form-label"><?php _e('Email', 'dreamstour'); ?></label>
                                        <div class="input-icon">
                                            <span class="input-icon-addon">
												<i class="isax isax-message"></i>
											</span>
                                            <input type="text" class="form-control form-control-lg"  name="email" placeholder="<?php esc_attr_e('Enter email', 'dreamstour'); ?>" required>
                                        </div>
                                    </div>
                                    
                                  

 <?php if (!empty($success_message)) : ?>
 
                 <div class="mb-4">
                <?php echo wp_kses_post($success_message); ?>
 </div>
 
 <?php endif; ?>
 


                                    <div class="mb-3">
                                        <button type="submit" class="btn btn-xl btn-primary d-flex align-items-center justify-content-center w-100"><?php esc_html_e('Reset Password', 'dreamstour'); ?><i class="isax isax-arrow-right-3 ms-2"></i></button>
                                    </div>
                                     
                                    
                                    <div class="d-flex justify-content-center">
                                        <p class="fs-14"><?php esc_html_e('Remember Password ?', 'dreamstour'); ?> <a href="<?php echo  esc_url( $sign_page_url ); ?>" class="link-primary fw-medium"><?php echo get_the_title($sign_page_id); ?></a></p>
                                    </div>
                                    
                                    
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="coprright-footer">
			<div class="fs-14">
				<?php
				$cr = dreamstour_fl_framework_getoptions( 'footer_copyright_text' );
				if ( ! empty( $cr ) ) {
					echo wp_kses_post( $cr );
				}
				?>
			</div>
		</div>
    </div>
    <!-- /Main Wrapper -->


    <!-- Cursor -->
    <div class="xb-cursor tx-js-cursor">
        <div class="xb-cursor-wrapper">
            <div class="xb-cursor--follower xb-js-follower"></div>
        </div>
    </div>
    <!-- /Cursor -->


</div>



<?php get_template_part( 'templates/footer/footer', 'none' ); ?>