| 1 |
<?php |
| 2 |
if ( ! defined( 'ABSPATH' ) ) { |
| 3 |
exit; // Exit if accessed directly |
| 4 |
} |
| 5 |
// Check nonce |
| 6 |
if( !isset($_POST['nonce']) || ! wp_verify_nonce(sanitize_text_field( wp_unslash( $_POST['nonce'] ) )) ){ |
| 7 |
die(esc_html__('Cheating huh?', 'taskbuilder')); |
| 8 |
} |
| 9 |
$username = isset( $_POST['username'] ) ? sanitize_text_field( wp_unslash( $_POST['username'] ) ) : ''; |
| 10 |
|
| 11 |
if ( empty( $username ) ) { |
| 12 |
wp_send_json_error( array( 'message' => esc_html__( 'Username required.', 'taskbuilder' ) ) ); |
| 13 |
} |
| 14 |
|
| 15 |
$password = isset($_POST['password']) ? wp_unslash($_POST['password']) : ''; |
| 16 |
if (!$password) { |
| 17 |
wp_send_json_error( array( 'message' => esc_html__( 'Password required.', 'taskbuilder' ) ) ); |
| 18 |
} |
| 19 |
$remember = isset($_POST['remember']) ? true : false; |
| 20 |
$creds = array( |
| 21 |
'user_login' => $username, |
| 22 |
'user_password' => $password, |
| 23 |
'remember' => $remember, |
| 24 |
); |
| 25 |
$user = wp_signon( $creds, false ); |
| 26 |
$response = array(); |
| 27 |
if ( is_wp_error( $user ) ) { |
| 28 |
$response['error'] = '1'; |
| 29 |
$response['message'] = $user->get_error_message(); |
| 30 |
} else { |
| 31 |
$response['error'] = '0'; |
| 32 |
$response['message'] = esc_html__('Success!','taskbuilder'); |
| 33 |
} |
| 34 |
echo wp_json_encode( $response ); |