charset) ) { $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; } if( ! empty($wpdb->collate) ) { $charset_collate .= " COLLATE $wpdb->collate"; } require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); // Table for Sliders dbDelta("CREATE TABLE {$wpdb->prefix}layerslider ( id int(10) NOT NULL AUTO_INCREMENT, author int(10) NOT NULL DEFAULT 0, name varchar(100) DEFAULT '', slug varchar(100) DEFAULT '', data mediumtext NOT NULL, date_c int(10) NOT NULL, date_m int(10) NOT NULL, schedule_start int(10) NOT NULL DEFAULT 0, schedule_end int(10) NOT NULL DEFAULT 0, flag_hidden tinyint(1) NOT NULL DEFAULT 0, flag_deleted tinyint(1) NOT NULL DEFAULT 0, flag_popup tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (id) ) $charset_collate;"); // Table for Slider Revisions dbDelta("CREATE TABLE {$wpdb->prefix}layerslider_revisions ( id int(10) NOT NULL AUTO_INCREMENT, slider_id int(10) NOT NULL, author int(10) NOT NULL DEFAULT 0, data mediumtext NOT NULL, date_c int(10) NOT NULL, PRIMARY KEY (id) ) $charset_collate;"); } // Utility function to verify database tables. // Returns true if no issues were detected. function layerslider_verify_db_tables() { global $wpdb; // Step 1: Check DB version if( version_compare( get_option('ls-db-version', '1.0.0'), LS_DB_VERSION, '<' ) ) { return false; } // Step 2: Verify that the DB tables exist $layerslider = $wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}layerslider'"); $layerslider_revisions = $wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}layerslider_revisions'"); if( empty( $layerslider ) || empty( $layerslider_revisions ) ) { return false; } // Step 3: Some hand picked things to look for $popup = $wpdb->get_var("SHOW COLUMNS FROM `{$wpdb->prefix}layerslider` LIKE 'flag_popup'"); if( empty( $popup ) ) { return false; } // No error, just return true return true; } function layerslider_deactivation_scripts() { // Remove capability option, so a user can restore // his access to the plugin if set the wrong capability // delete_option('layerslider_custom_capability'); // Remove the help pointer entry to remind a user for the // help menu when start to use the plugin again delete_user_meta(get_current_user_id(), 'layerslider_help_wp_pointer'); // Call user hooks if(has_action('layerslider_deactivated')) { do_action('layerslider_deactivated'); } } function layerslider_uninstall_scripts() { // Call user hooks update_option('ls-installed', 0); if(has_action('layerslider_uninstalled')) { do_action('layerslider_uninstalled'); } } ?>