PluginProbe
Tutor LMS – eLearning and online course solution / 1.0.7
Tutor LMS – eLearning and online course solution v1.0.7
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 All 191 releases
tutor / classes / Student.php

Student.php in Tutor LMS – eLearning and online course solution 1.0.7, at classes/Student.php

110 lines 3.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Class Instructor
5 * @package TUTOR
6 *
7 * @since v.1.0.0
8 */
9
10 namespace TUTOR;
11
12
13 class Student {
14
15 protected $error_msgs = '';
16 public function __construct() {
17 add_action('template_redirect', array($this, 'register_student'));
18 }
19
20 /**
21 * Register new user and mark him as student
22 *
23 * @since v.1.0.0
24 */
25 public function register_student(){
26 if ( ! isset($_POST['tutor_action']) || $_POST['tutor_action'] !== 'tutor_register_student' ){
27 return;
28 }
29 //Checking nonce
30 tutor_utils()->checking_nonce();
31
32 $required_fields = apply_filters('tutor_student_registration_required_fields', array(
33 'first_name' => __('First name field is required', 'tutor'),
34 'last_name' => __('Last name field is required', 'tutor'),
35 'email' => __('E-Mail field is required', 'tutor'),
36 'user_login' => __('User Name field is required', 'tutor'),
37 'phone_number' => __('Phone Number field is required', 'tutor'),
38 'password' => __('Password field is required', 'tutor'),
39 'password_confirmation' => __('Password Confirmation field is required', 'tutor'),
40 ));
41
42 $validation_errors = array();
43 foreach ($required_fields as $required_key => $required_value){
44 if (empty($_POST[$required_key])){
45 $validation_errors[$required_key] = $required_value;
46 }
47 }
48
49 if (!filter_var(tutor_utils()->input_old('email'), FILTER_VALIDATE_EMAIL)) {
50 $validation_errors['email'] = __('Valid E-Mail is required', 'tutor');
51 }
52 if (tutor_utils()->input_old('password') !== tutor_utils()->input_old('password_confirmation')){
53 $validation_errors['password_confirmation'] = __('Confirm password does not matched with Password field', 'tutor');
54 }
55
56 if (count($validation_errors)){
57 $this->error_msgs = $validation_errors;
58 add_filter('tutor_student_register_validation_errors', array($this, 'tutor_student_form_validation_errors'));
59 return;
60 }
61
62 $first_name = sanitize_text_field(tutor_utils()->input_old('first_name'));
63 $last_name = sanitize_text_field(tutor_utils()->input_old('last_name'));
64 $email = sanitize_text_field(tutor_utils()->input_old('email'));
65 $user_login = sanitize_text_field(tutor_utils()->input_old('user_login'));
66 $phone_number = sanitize_text_field(tutor_utils()->input_old('phone_number'));
67 $password = sanitize_text_field(tutor_utils()->input_old('password'));
68 $tutor_profile_bio = wp_kses_post(tutor_utils()->input_old('tutor_profile_bio'));
69
70 $userdata = array(
71 'user_login' => $user_login,
72 'user_email' => $email,
73 'first_name' => $first_name,
74 'last_name' => $last_name,
75 //'role' => tutor()->student_role,
76 'user_pass' => $password,
77 );
78
79 $user_id = wp_insert_user( $userdata ) ;
80 if ( ! is_wp_error($user_id)){
81 update_user_meta($user_id, 'phone_number', $phone_number);
82 update_user_meta($user_id, 'description', $tutor_profile_bio);
83 update_user_meta($user_id, '_tutor_profile_bio', $tutor_profile_bio);
84
85 $user = get_user_by( 'id', $user_id );
86 if( $user ) {
87 wp_set_current_user( $user_id, $user->user_login );
88 wp_set_auth_cookie( $user_id );
89 }
90
91 $dashboard_url = tutor_utils()->tutor_dashboard_url();
92 wp_redirect($dashboard_url);
93 die();
94 }else{
95 $this->error_msgs = $user_id->get_error_messages();
96 add_filter('tutor_student_register_validation_errors', array($this, 'tutor_student_form_validation_errors'));
97 return;
98 }
99
100 $registration_page = tutor_utils()->student_register_url();
101 wp_redirect($registration_page);
102 die();
103 }
104
105 public function tutor_student_form_validation_errors(){
106 return $this->error_msgs;
107 }
108
109
110 }