function confirm_email($user, $key)
 {
     require_once WPPR_PLUGIN_DIR . '/models/signup-model.php';
     $model = new Signup_Model();
     if (isset($_GET['key']) && !empty($_GET['key']) && isset($_GET['user']) && !empty($_GET['user'])) {
         //Sanitize keys
         $model->key = sanitize_key($_GET['key']);
         $model->user = sanitize_user($_GET['user']);
         $result = $model->validate_key();
         if ($result !== false && !username_exists($model->user)) {
             $userdata = array($model->user, $model->user, $result['signup_password'], $result['signup_email'], $result['signup_date'], $model->user);
             //Transfer record from wp_signup table to wp_users
             $confirmed = $model->register_user($userdata);
             if ($confirmed) {
                 // Notify admin of new registration
                 //wp_new_user_notification( $result );
                 echo $this->redirect_on_success();
             } else {
                 echo $this->redirect_on_error();
             }
         } else {
             echo $this->redirect_on_error();
         }
     }
 }
 public function verify_email()
 {
     require_once WPPR_PLUGIN_DIR . '/models/signup-model.php';
     $model = new Signup_Model();
     $redirect_url = home_url();
     if (isset($_GET['key']) && !empty($_GET['key']) && isset($_GET['email']) && !empty($_GET['email'])) {
         //Sanitize query
         $model->key = sanitize_key($_GET['key']);
         $model->email = sanitize_email($_GET['email']);
         $valid = $model->confirm_verification_key();
         if ($valid) {
             // reset verification key
             update_user_meta($model->user_id, 'is_email_verified', 1, 0);
             update_user_meta($model->user_id, 'email_verification_key', null, $this->key);
             $redirect_msg = 'Way to go runner, your email was successfully verified!';
         } else {
             $redirect_msg = 'Oops! the keys or email is either invalid or expired!';
         }
     } else {
         $redirect_msg = 'Oops! the parameters is invalid!';
     }
     $this->redirect_to($redirect_msg, $redirect_url);
 }
 function send_activation_link($user, $email, $password, $key)
 {
     require_once WPPR_PLUGIN_DIR . '/models/signup-model.php';
     $model = new Signup_Model();
     $template = $model->get_message_template(1);
     $subject = $template->message_subject;
     $message = $template->message_body;
     $home_url = home_url('confirm');
     $confirmation_link = add_query_arg(array('key' => $key, 'user' => $user), $home_url);
     $placeholders = array('USERNAME' => $user, 'CONFIRM_LINK' => $confirmation_link, 'PASSWORD' => $password);
     foreach ($placeholders as $key => $value) {
         $message = str_replace('{' . $key . '}', $value, $message);
     }
     $headers = 'From: noreply@pinoyrunners.co' . "\r\n";
     wp_mail($email, $subject, $message, $headers);
 }