/var/www/html_it/wp-content/plugins/checkout-for-woocommerce/includes/Action/LogInAction.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php

namespace Objectiv\Plugins\Checkout\Action;

/**
 * Class LogInAction
 *
 * @link checkoutwc.com
 * @since 1.0.0
 * @package Objectiv\Plugins\Checkout\Action
 * @author Brandon Tassone <[email protected]>
 */
class LogInAction extends CFWAction {

    
/**
     * LogInAction constructor.
     *
     * @since 1.0.0
     * @access public
     */
    
public function __construct() {
        
parent::__construct'login'false );
    }

    
/**
     * Logs in the user based on the information passed. If information is incorrect it returns an error message
     *
     * @since 1.0.0
     * @access public
     */
    
public function action() {
        
$info                  = array();
        
$info['user_login']    = $_POST['email'] ?? '';
        
$info['user_password'] = $_POST['password'] ?? '';
        
$info['remember']      = true;

        
$user        wp_signon$infois_ssl() );
        
$alt_message __'There was an error logging in. Please check your credentials and try again.''checkout-wc' );

        
$validation_error = new \WP_Error();

        
/**
         * Filters validation error (empty by default)
         *
         * @since 3.0.0
         *
         * @param \WP_Error The error object
         * @param string $user_login User login
         * @param string $user_password User password
         */
        
$validation_error apply_filters'woocommerce_process_login_errors'$validation_error$info['user_login'], $info['user_password'] );

        
$out = array();

        if ( 
is_wp_error$user ) ) {
            
$out['logged_in'] = false;

            
/**
             * Filters failed login error message
             *
             * @since 3.0.0
             *
             * @param string $error The error message
             */
            
$out['message'] = apply_filters'cfw_failed_login_error_message', ( $user->get_error_message() ) ? $user->get_error_message() : $alt_message );
        } elseif ( 
$validation_error->get_error_code() ) {
            
$out['logged_in'] = false;

            
/**
             * Filters failed login error message
             *
             * @since 3.0.0
             *
             * @param string $error The error message
             */
            
$out['message'] = apply_filters'cfw_failed_login_error_message'$validation_error->get_error_message() );
        } else {
            
$out['logged_in'] = true;
            
$out['message']   = 'Login successful';
        }

        
$this->out$out );
    }
}