post_name; if($post_slug=="my_gs_service"){ $page_template = MY_SERVICES_PLUGIN_DIR_PATH."/views/fronend-services-list.php"; } return $page_template; } /****************** Start Code For including Style and script ************************/ function my_services_custome_assets(){ $slug = ""; $page_include = array("frontendpage","my-aio-services","add-services","edit-services","add-clients","manage-clients","add-access-users","manage-access-users","service-tracker"); //sanitize_text_field page $currentpages = sanitize_text_field($_GET['page']); if(empty($currentpages)){ $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; if(preg_match("/my_gs_service/",$actual_link)){ $currentpages = "frontendpage"; } } if(in_array($currentpages,$page_include)){ wp_enqueue_style( "cutome_style_css", MY_SERVICES_PLUGIN_URL."/assets/css/style.css", "", MY_SERVICES_PLUGIN_VERSION ); wp_enqueue_style( "bootstrap_style", MY_SERVICES_PLUGIN_URL."/assets/css/bootstrap.min.css", "", MY_SERVICES_PLUGIN_VERSION ); wp_enqueue_style( "datatable_style", MY_SERVICES_PLUGIN_URL."/assets/css/jquery.dataTables.min.css", "", MY_SERVICES_PLUGIN_VERSION ); wp_enqueue_style( "nofificationbar_style", MY_SERVICES_PLUGIN_URL."/assets/css/jquery.notifyBar.css", "", MY_SERVICES_PLUGIN_VERSION ); wp_enqueue_style( "font_style", MY_SERVICES_PLUGIN_URL."/assets/css/font-awesome.min.css", "", MY_SERVICES_PLUGIN_VERSION ); /********* START SCRIPT INCLUDE*******/ wp_enqueue_script( "script.js", MY_SERVICES_PLUGIN_URL."/assets/js/script.js", "", MY_SERVICES_PLUGIN_VERSION, true ); wp_enqueue_script( "bootstrap.min.js", MY_SERVICES_PLUGIN_URL."/assets/js/bootstrap.min.js", "", MY_SERVICES_PLUGIN_VERSION, true ); wp_enqueue_script( "jquery.dataTables.min.js", MY_SERVICES_PLUGIN_URL."/assets/js/jquery.dataTables.min.js", "", MY_SERVICES_PLUGIN_VERSION, true ); wp_enqueue_script( "jquery.notifyBar.js", MY_SERVICES_PLUGIN_URL."/assets/js/jquery.notifyBar.js", "", MY_SERVICES_PLUGIN_VERSION, true ); wp_enqueue_script( "jquery.validate.min.js", MY_SERVICES_PLUGIN_URL."/assets/js/jquery.validate.min.js", "", MY_SERVICES_PLUGIN_VERSION, true ); /*wp_enqueue_script( "tinymce.min.js", MY_SERVICES_PLUGIN_URL."/assets/js/tinymce.min.js", "", MY_SERVICES_PLUGIN_VERSION, true );*/ } wp_localize_script("script.js","myservicesajaxurl",admin_url("admin-ajax.php")); /****** CLOSE SCRIPT INCLUDE********/ } add_action("init","my_services_custome_assets"); /****************** Close Code For including Style and script ************************/ /*************** Code for the adding the tables into the database ****************/ function my_sercices_detaildata(){ global $wpdb; return $wpdb->prefix."custom_my_services_data"; } function my_services_custom_table(){ global $wpdb; require_once(ABSPATH . "wp-admin/includes/upgrade.php"); $custome_table_create_my_services = "CREATE TABLE `".my_sercices_detaildata()."` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(500) NOT NULL, `slug` varchar(500) NOT NULL, `client_name` varchar(500) NOT NULL, `description` varchar(2000) NOT NULL, `serviceimage` varchar(500) NOT NULL, `service_documnts` varchar(500) NOT NULL, `created_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1"; dbDelta($custome_table_create_my_services); $custome_table_create_my_services2 = "CREATE TABLE `".my_services_clientdetaildata()."` ( `id` int(50) NOT NULL AUTO_INCREMENT, `name` varchar(200) NOT NULL, `socila_link` varchar(1000) NOT NULL, `about_client` varchar(1000) NOT NULL, `created_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `updated_on` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 "; dbDelta($custome_table_create_my_services2); $custome_table_create_my_services3 = "CREATE TABLE `".my_services_accessible_users()."` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(500) NOT NULL, `email_id` varchar(500) NOT NULL, `user_login_id` varchar(200) NOT NULL, `created_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `updated_on` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1"; dbDelta($custome_table_create_my_services3); $custome_table_create_my_services3 = "CREATE TABLE `".my_services_access_tracker()."` ( `id` int(11) NOT NULL AUTO_INCREMENT, `serviceuser_id` int(11) NOT NULL, `service_name` varchar(500) NOT NULL, `service_id` int(11) NOT NULL, `created_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `updated_on` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 "; dbDelta($custome_table_create_my_services3); add_role("wp_gs_service_user_key", 'My Service User',array( "read" =>true )); /********** Dynamic page creation page**********/ // Create post object $my_post = array( 'post_title' => "My Services Page", 'post_content' => "[my_service_list]", 'post_status' => 'publish', 'post_type' => 'page', 'post_name' => 'my_gs_service' ); // Insert the post into the database $my_gs_servicedata = wp_insert_post($my_post); add_option("my_service_page_id", $my_gs_servicedata); } register_activation_hook(__FILE__,"my_services_custom_table"); function my_service_page_function(){ //echo "This is my Services page."; include_once MY_SERVICES_PLUGIN_DIR_PATH."/views/my-services-list.php"; } /*********** Service provider detail*************/ function my_services_client_detail($serviprovider_id){ global $wpdb; $client_detail = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM ".my_services_clientdetaildata()." WHERE id = %d ", $serviprovider_id),ARRAY_A ); return $client_detail; } /*********** Service provider detail*************/ add_shortcode("my_service_list","my_service_page_function"); function my_services_clientdetaildata(){ global $wpdb; return $wpdb->prefix."custom_my_serviceprivider_client"; } function my_services_accessible_users(){ global $wpdb; return $wpdb->prefix."custom_my_serviceaccessible_users"; } function my_services_access_tracker(){ global $wpdb; return $wpdb->prefix."custom_my_service_access"; } /***** Code for the deleting the tables from the database when deactivating the plugin ********/ function my_services_deactivate_table(){ global $wpdb; $wpdb->query(" DROP TABLE IF EXISTS " . my_sercices_detaildata()); $wpdb->query(" DROP TABLE IF EXISTS " . my_services_clientdetaildata()); $wpdb->query(" DROP TABLE IF EXISTS " . my_services_accessible_users()); $wpdb->query(" DROP TABLE IF EXISTS " . my_services_access_tracker()); /*********After deactivation removing the role*******/ if(get_role("wp_gs_service_user_key")) { remove_role("wp_gs_service_user_key"); } /*********After deactivation removing the role*******/ /*********Delete Auto created page********/ if(!empty(get_option("my_service_page_id"))){ $servicepage_id = get_option("my_service_page_id"); wp_delete_post($servicepage_id,true); delete_option("my_service_page_id"); } /*********Delete Auto created page********/ } register_deactivation_hook(__FILE__,"my_services_deactivate_table"); //register_uninstall_hook(__FILE__,"deactivate_table_my_services"); add_action('wp_ajax_myserviceslib','my_services_ajax_handler'); function my_services_ajax_handler(){ global $wpdb; if(sanitize_text_field($_REQUEST['param'])=="save_accessuserdata"){ //print_r($_REQUEST);, //username_exists($_REQUEST['username']) if(!username_exists(sanitize_text_field($_REQUEST['username'])) && !email_exists(sanitize_text_field($_REQUEST['email']))) { $useraccess_id = $accessuser_id = wp_create_user(sanitize_text_field($_REQUEST['username']),sanitize_text_field($_REQUEST['password']),sanitize_text_field($_REQUEST['email'])); $user =new WP_User($useraccess_id); $user->set_role('wp_gs_service_user_key'); if(!empty($accessuser_id)) { $wpdb->insert(my_services_accessible_users(),array( "name"=>sanitize_text_field($_REQUEST['name']), "email_id"=> sanitize_text_field($_REQUEST['email']), "user_login_id"=> sanitize_text_field($accessuser_id) )); } echo json_encode(array("status"=>1,"message"=>"