Website Summary Files Commits Branches @commit @diff @stats
path: root / wp-content / plugins / dx-users
diff options
context:
space:
mode:
Commit1c86fe831289eee3d3c2c963885fd553f40f81d2 (patch)
Author
 Victor Gorchilov <victor@gorchilov.com>
2020-07-15 20:43:05 +0300
Committer
 Victor Gorchilov <victor@gorchilov.com>
2020-07-15 20:43:05 +0300
Files1dc3d183affddf9c040eba8b9ec1e60c9e002d90 /wp-content/plugins/dx-users
tues-interns-2020-feature/offers-grid.tar
tues-interns-2020-feature/offers-grid.tar.gz
tues-interns-2020-feature/offers-grid.zip
Parent333668c49e98cdfc84cf0702f289bd149fc5fd25 (diff)
[fix] bring changes from master feature/offers-grid
diff --git a/wp-content/plugins/dx-users/dx-users.php b/wp-content/plugins/dx-users/dx-users.php
new file mode 100644
index 0000000..2d47e6a
--- /dev/null
+++ b/wp-content/plugins/dx-users/dx-users.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Plugin Name: DX Users
+ * Plugin URI: https://devrix.com
+ * Description: Plugin for handling user login and register
+ * Version: 0.1
+ * Author: DevriX-interns-2020
+ * Author URI: https://devrix.com
+ * Text Domain: dx-users
+ */
+
+defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
+
+include 'login-user-class.php';
+include 'register-user-class.php';
+
+$login_user = new LoginUser;
+$register_user = new RegisterUser;
+
+$login_user->init();
+$register_user->init();
diff --git a/wp-content/plugins/dx-users/login-user-class.php b/wp-content/plugins/dx-users/login-user-class.php
new file mode 100644
index 0000000..7bc4f1e
--- /dev/null
+++ b/wp-content/plugins/dx-users/login-user-class.php
@@ -0,0 +1,24 @@
+<?php
+class LoginUser {
+ function init() {
+ add_action( 'admin_post_nopriv_process_login', array($this, 'try_login_user' ));
+ }
+
+ function try_login_user() {
+ $creds = array(
+ 'user_login' => sanitize_text_field( $_POST['email'] ),
+ 'user_password' => sanitize_text_field( $_POST['password'] ),
+ 'remember' => true
+ );
+
+ $user = wp_signon( $creds );
+
+ if ( is_wp_error( $user ) ) {
+ wp_die( $user->get_error_message() );
+ }
+
+ wp_set_current_user( $user->data->ID );
+
+ wp_redirect( home_url() ); exit;
+ }
+}
diff --git a/wp-content/plugins/dx-users/register-user-class.php b/wp-content/plugins/dx-users/register-user-class.php
new file mode 100644
index 0000000..bbadf3c
--- /dev/null
+++ b/wp-content/plugins/dx-users/register-user-class.php
@@ -0,0 +1,31 @@
+<?php
+class RegisterUser {
+ function init() {
+ add_action( 'admin_post_nopriv_process_register', array( $this, 'process_register_data' ));
+ }
+
+ function process_register_data() {
+ if( username_exists( sanitize_text_field( $_POST['password'] ) ) ) {
+ wp_die( 'User already exists!' );
+ }
+
+ $user_data = array(
+ 'user_pass' => sanitize_text_field( $_POST['password'] ),
+ 'user_login' => sanitize_text_field( $_POST['email'] ),
+ 'user_email' => sanitize_text_field( $_POST['email'] ),
+ 'display_name' => sanitize_text_field( $_POST['name'] ),
+ );
+
+ if( ! is_email( $user_data['user_email'] ) ) {
+ wp_die( 'Invaid email address!' );
+ }
+
+ $user_id = wp_insert_user( $user_data );
+
+ if( is_wp_error( $user_id ) ) {
+ wp_die( $user_id->get_error_message() );
+ }
+
+ wp_redirect( home_url() ); exit;
+ }
+}