Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: Bootstrap Registration
- Plugin URI: #
- Description: .
- Version: 1.0
- Author: Hammad Hassan Hashmi
- Author URI:
- License: GPLv2 or later
- */
- function bootstrap_reg_install(){
- global $wpdb;
- $table_name = $wpdb->prefix . "bootstrap_registartion";
- $charset_collate = $wpdb->get_charset_collate();
- $sql = "CREATE TABLE IF NOT EXISTS $table_name (
- id mediumint(11) NOT NULL AUTO_INCREMENT,
- username VARCHAR(50) NOT NULL,
- fullname VARCHAR(255) NOT NULL,
- email VARCHAR(255) NOT NULL,
- phone VARCHAR(255) NOT NULL,
- identitynumber VARCHAR(255) NOT NULL,
- address VARCHAR(255) NOT NULL,
- postcode VARCHAR(255) NOT NULL,
- city VARCHAR(255) NOT NULL,
- country VARCHAR(255) NOT NULL,
- password VARCHAR(255) NOT NULL,
- regDate DATETIME DEFAULT CURRENT_TIMESTAMP,
- PRIMARY KEY (id)
- ) $charset_collate;";
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
- dbDelta( $sql );
- }
- register_activation_hook( __FILE__, 'bootstrap_reg_install' );
- function bootstrap_reg_uninstall(){
- global $wpdb;
- $table_name = $wpdb->prefix . "bootstrap_registartion";
- $sql = "DROP TABLE IF EXISTS $table_name;";
- $wpdb->query($sql);
- }
- register_deactivation_hook( __FILE__, 'bootstrap_reg_uninstall' );
- add_action('init', 'bootstrapReg_script');
- function bootstrapReg_script(){
- wp_register_script( 'bootstrap-js', plugins_url('/assets/bootstrap.min.js', __FILE__), array('jquery'), '2.5.1' );
- wp_register_style( 'bootstrap', plugins_url('/assets/bootstrap.min.css', __FILE__), false, '1.0.0', 'all');
- }
- // use the registered jquery and style above
- add_action('wp_enqueue_scripts', 'bootstrapReg_enqueue_style');
- function bootstrapReg_enqueue_style(){
- wp_enqueue_script('bootstrap-js');
- wp_enqueue_style( 'bootstrap' );
- }
- function bootstrapReg_form_code() {
- ?>
- <div class="container">
- <div class="row main">
- <div class="panel-heading">
- <div class="panel-title text-center">
- <h1 class="title">Company Name</h1>
- <hr />
- </div>
- </div>
- <div class="main-login main-center">
- <form class="form-horizontal" method="post" action="<?php the_permalink();?>">
- <div class="form-group">
- <label for="username" class="cols-sm-2 control-label">Username</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"></i></span>
- <input type="text" class="form-control" name="username" id="username" placeholder="Enter your Name"/>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="fullname" class="cols-sm-2 control-label">Full Name</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"></i></span>
- <input type="text" class="form-control" name="fullname" id="fullname" placeholder="Full Name"/>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="email" class="cols-sm-2 control-label">Email</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
- <input type="text" class="form-control" name="email" id="email" placeholder="Email"/>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="phone" class="cols-sm-2 control-label">Phone Number</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
- <input type="text" class="form-control" name="phone" id="phone" placeholder="Phone Number"/>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="identitynumber" class="cols-sm-2 control-label">Identity Number</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
- <input type="text" class="form-control" name="identitynumber" id="identitynumber" placeholder="Identity Number"/>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="address" class="cols-sm-2 control-label">Address</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"></i></span>
- <input type="text" class="form-control" name="address" id="address" placeholder="Address" />
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="postcode" class="cols-sm-2 control-label">Postal Code</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
- <input type="text" class="form-control" name="postcode" id="postcode" placeholder="Postal Code"/>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="city" class="cols-sm-2 control-label">City</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
- <input type="text" class="form-control" name="city" id="city" placeholder="City" />
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="country" class="cols-sm-2 control-label">Country</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span>
- <input type="text" class="form-control" name="country" id="country" placeholder="Country" />
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="password" class="cols-sm-2 control-label">Password</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span>
- <input type="password" class="form-control" name="password" id="password" placeholder="Enter your Password"/>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="confirm" class="cols-sm-2 control-label">Confirm Password</label>
- <div class="cols-sm-10">
- <div class="input-group">
- <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span>
- <input type="password" class="form-control" name="confirm" id="confirm" placeholder="Confirm your Password"/>
- </div>
- </div>
- </div>
- <div class="form-group ">
- <input type="submit" name="register" class="btn btn-primary btn-lg btn-block login-button" value="Register">
- </div>
- </form>
- </div>
- </div>
- </div>
- <?php
- }
- function bootstrapReg_registration() {
- global $wpdb;
- $table_name = $wpdb->prefix . "bootstrap_registartion";
- if(isset($_POST['register']) && !empty($_POST['register'])){
- $error = array();
- $username = sanitize_text_field($_POST["username"] );
- $fullname = sanitize_text_field($_POST["fullname"] );
- $email = sanitize_email($_POST["email"] );
- $phone = sanitize_text_field($_POST["phone"] );
- $identitynumber = sanitize_text_field($_POST["identitynumber"] );
- $address = sanitize_text_field($_POST["address"] );
- $postcode = sanitize_text_field($_POST["postcode"] );
- $city = sanitize_text_field($_POST["city"] );
- $country = sanitize_text_field($_POST["country"] );
- $password = sanitize_text_field($_POST["password"] );
- //print_r($_POST);
- if(empty($_POST['username'])){
- $error[] = "Username can't be empty.";
- }
- if(empty($_POST['fullname'])){
- $error[] = "Full name can't be empty.";
- }
- if(empty($_POST['email'])){
- $error[] = "Email can't be empty.";
- }
- if(! is_email($_POST['email'])){
- $error[] = "Invalid email address.";
- }
- if(empty($_POST['phone'])) {
- $error[] = "Phone number can't be empty.";
- }
- if(!preg_match('/^\(?\+?([0-9]{1,4})\)?[-\. ]?(\d{3})[-\. ]?([0-9]{7})$/', trim($_POST['phone']))) {
- $error[] = 'Please enter a valid phone number';
- }
- if (empty($_POST['identitynumber'])) {
- $error[] = "Identity number can't be empty.";
- }
- if (preg_match('/[^0-9]/', $_POST['identitynumber'])) {
- $error[] = "Please enter a valid identity number.";
- }
- if(empty($_POST['address'])){
- $error[] = "Address can't be empty.";
- }
- if(empty($_POST['postcode'])){
- $error[] = "Postcode can't be empty.";
- }
- if(preg_match('/[^0-9]/', $_POST['postcode'])){
- $error[] = "Please enter a valid Postcode.";
- }
- if(empty($_POST['city'])){
- $error[] = "City can't be empty.";
- }
- if(empty($_POST['country'])){
- $error[] = "Country can't be empty.";
- }
- if(empty($_POST['password'])){
- $error[] = "Pasword can't be empty.";
- }
- if(empty($_POST['confirm'])){
- $error[] = "Confirm pasword can't be empty.";
- }
- if($_POST['password'] !== $_POST['confirm']){
- $error[] = "Pasword does not match.";
- }
- if(count($error) > 0){
- foreach ($error as $errors) {
- echo $errors . "<br/>";
- }
- }else{
- $table_name = $wpdb->prefix . "bootstrap_registartion";
- $reg = $wpdb->insert( $table_name, array(
- 'username' => $username,
- 'fullname' => $fullname,
- 'email' => $email,
- 'phone' => $phone,
- 'identitynumber' => $identitynumber,
- 'address' => $address,
- 'postcode' => $postcode,
- 'city' => $city,
- 'country' => $country,
- 'password' => wp_hash_password($password)
- ));
- if($reg){
- $to = get_option('admin_email');
- $subject = "User Registration Email";
- $headers = 'From: '. $email . "\r\n" .
- 'Reply-To: ' . $email . "\r\n";
- $message = "Username: {$username} <br> Full Name: {$fullname} <br> Email: {$email} <br>
- Phone: {$phone} <br> Identity Number: {$identitynumber} <br> Address: {$address} <br> Post Code: {$postcode} <br> City: {$city} <br> Post Code: {$postcode} <br> Country: {$country} <br> ";
- $sent = wp_mail($to, $subject, strip_tags($message), $headers);
- //if($sent){
- //echo "Registration has been successful";
- //echo $url = get_permalink();
- //}
- //wp_redirect( $url );
- exit;
- }
- }
- }
- }
- function bootstrapReg_shortcode() {
- bootstrapReg_form_code();
- bootstrapReg_registration();
- }
- add_shortcode( 'bootstrap_registration', 'bootstrapReg_shortcode' );
Add Comment
Please, Sign In to add comment