gde_db_tables
Create/update database table to store profile data.
Description
gde_db_tables( $gde_db_ver );
Parameters (1)
- 0. $gde_db_ver
- The gde db ver.
Usage
if ( !function_exists( 'gde_db_tables' ) ) { require_once ABSPATH . PLUGINDIR . 'google-doc-embedder/libs/lib-setup.php'; } // The gde db ver. $gde_db_ver = null; // NOTICE! Understand what this does before running. $result = gde_db_tables($gde_db_ver);
Defined (1)
The function is defined in the following location(s).
- /libs/lib-setup.php
- function gde_db_tables( $gde_db_ver ) {
- global $wpdb;
- // attempt to trap table creation failures
- $fails = 0;
- // check for missing required tables (clear db version)
- $table = $wpdb->prefix . 'gde_profiles';
- if ($wpdb->get_var( "SHOW TABLES LIKE '$table'" ) !== $table) {
- //gde_dx_log("profiles db failed health check");
- delete_site_option( 'gde_db_version' );
- }
- $table = $wpdb->prefix . 'gde_secure';
- if ($wpdb->get_var( "SHOW TABLES LIKE '$table'" ) !== $table) {
- //gde_dx_log("securedoc db failed health check");
- delete_site_option( 'gde_db_version' );
- }
- if ( is_multisite() ) {
- $db_ver_installed = get_site_option( 'gde_db_version', 0 );
- } else {
- $db_ver_installed = get_option( 'gde_db_version', 0 );
- }
- gde_dx_log("Installed DB ver: $db_ver_installed; This DB ver: " . $gde_db_ver );
- if ( version_compare( $gde_db_ver, $db_ver_installed, ">" ) ) {
- // install or upgrade profile table
- $table = $wpdb->prefix . 'gde_profiles';
- $sql = "CREATE TABLE " . $table . " (
- profile_id mediumint(9) UNSIGNED NOT NULL AUTO_INCREMENT,
- profile_name varchar(64) NOT NULL,
- profile_desc varchar(255) NULL,
- profile_data longtext NOT NULL,
- UNIQUE KEY (profile_id)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ";
- if ( isset( $sql ) ) {
- // write table or update to database
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
- dbDelta($sql);
- if ($wpdb->get_var( "SHOW TABLES LIKE '$table'" ) == $table ) {
- gde_dx_log("Profile table create/update successful");
- } else {
- gde_dx_log("Profile table create/update failed");
- $fails++;
- }
- }
- // install or upgrade securedoc table
- $table = $wpdb->prefix . 'gde_secure';
- $sql = "CREATE TABLE " . $table . " (
- code varchar(10) NOT NULL,
- url varchar(255) NOT NULL,
- murl varchar(100) NOT NULL,
- stamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- autoexpire enum('Y', 'N') NOT NULL DEFAULT 'N',
- UNIQUE KEY code (code)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ";
- if ( isset( $sql ) ) {
- // write table or update to database
- require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
- dbDelta( $sql );
- if ( $wpdb->get_var( "SHOW TABLES LIKE '$table'" ) == $table ) {
- gde_dx_log("Secure doc table create/update successful");
- } else {
- gde_dx_log("Secure doc table create/update failed");
- $fails++;
- }
- }
- } else {
- gde_dx_log("Tables OK, nothing to do");
- }
- if ( $fails > 0 ) {
- delete_site_option( 'gde_db_version' );
- return false;
- } else {
- update_site_option( 'gde_db_version', $gde_db_ver );
- return true;
- }
- }