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( $info, is_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 ); } }
|