$87 GRAYBYTE WORDPRESS FILE MANAGER $60

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.162.162 | ADMIN IP 216.73.216.51
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bravetechrwanda/itiministry.org/plugins/give/src/DonorDashboards/Routes/

HOME
Current File : /home/bravetechrwanda/itiministry.org/plugins/give/src/DonorDashboards/Routes//VerifyEmailRoute.php
<?php

namespace Give\DonorDashboards\Routes;

use Give\API\RestRoute;
use WP_REST_Request;
use WP_REST_Response;

/**
 * @since 2.10.0
 */
class VerifyEmailRoute implements RestRoute
{

    use Captcha\ProtectedRoute;

    /** @var string */
    protected $endpoint = 'donor-dashboard/verify-email';

    /**
     * @inheritDoc
     */
    public function registerRoute()
    {
        register_rest_route(
            'give-api/v2',
            $this->endpoint,
            [
                [
                    'methods' => 'POST',
                    'callback' => [$this, 'handleRequest'],
                    'permission_callback' => '__return_true',
                ],
                'args' => [
                    'email' => [
                        'type' => 'string',
                        'required' => true,
                    ],
                    'g-recaptcha-response' => [
                        'type' => 'string',
                        'required' => false,
                    ],
                ],
            ]
        );
    }

    /**
     * Handles login request
     *
     * @since 2.10.0
     *
     * @return WP_REST_Response
     *
     */
    public function handleRequest(WP_REST_Request $request)
    {
        if (!$this->validateRecaptcha(
            $request->get_param('g-recaptcha-response'),
            $request,
            'g-recaptcha-response'
        )) {
            return new WP_REST_Response(
                [
                    'status' => 400,
                    'response' => 'error',
                    'body_response' => [
                        'error' => 'email_failed',
                        'message' => esc_html__('Unable to send email. Please try again.', 'give'),
                    ],
                ]
            );
        }

        Give()->email_access->init();

        $email = $request->get_param('email');

        $donor = Give()->donors->get_donor_by('email', give_clean($email));

        if ($donor && Give()->email_access->can_send_email($donor->id)) {
            $sent = Give()->email_access->send_email($donor->id, $donor->email);

            if ($sent === true) {
                $sentMessage = (string)apply_filters(
                    'give_email_access_mail_send_notice',
                    esc_html__(
                        'Email sent. If not received, make sure it is a valid donor email.',
                        'give'
                    )
                );

                return new WP_REST_Response(
                    [
                        'status' => 200,
                        'response' => 'success',
                        'body_response' => [
                            'message' => $sentMessage,
                        ],
                    ]
                );
            }

            $failedMessage = esc_html__('Unable to send email. Please try again.', 'give');

            return new WP_REST_Response(
                [
                    'status' => 400,
                    'response' => 'error',
                    'body_response' => [
                        'error' => 'email_failed',
                        'message' => $failedMessage,
                    ],
                ]
            );
        }

        $value = Give()->email_access->verify_throttle / 60;
        $spamMessage = (string)apply_filters(
            'give_email_access_requests_exceed_notice',
            sprintf(
                esc_html__('Email sent. If not received, make sure it is a valid donor email.', 'give'),
                sprintf(_n('%s minute', '%s minutes', $value, 'give'), $value)
            ),
            $value
        );

        return new WP_REST_Response(
            [
                'status' => 400,
                'response' => 'error',
                'body_response' => [
                    'message' => $spamMessage,
                ],
            ]
        );
    }
}

Current_dir [ WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
25 May 2026 4.20 PM
bravetechrwanda / bravetechrwanda
0755
Captcha
--
25 May 2026 4.20 PM
bravetechrwanda / bravetechrwanda
0755
LoginRoute.php
2.967 KB
24 Nov 2021 4.55 AM
bravetechrwanda / bravetechrwanda
0644
LogoutRoute.php
2.133 KB
9 Jun 2022 1.19 AM
bravetechrwanda / bravetechrwanda
0644
PasswordResetRoute.php
2.18 KB
11 Jan 2024 12.22 AM
bravetechrwanda / bravetechrwanda
0644
VerifyEmailRoute.php
3.839 KB
9 Jun 2022 1.19 AM
bravetechrwanda / bravetechrwanda
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF Static GIF