Example #1
0
function crf_update_db_check()
{
    global $crf_db_version;
    global $wpdb;
    $crf_option = $wpdb->prefix . "crf_option";
    $crf_users = $wpdb->prefix . "crf_users";
    $crf_submissions = $wpdb->prefix . "crf_submissions";
    $save_db_version = floatval(get_site_option('crf_db_version', '1.0'));
    if ($save_db_version < $crf_db_version) {
        update_option('crf_whatsnewpage', 0);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(6, 'adminemail', ''),\r\n\t\t(7, 'adminnotification', 'no')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(8, 'from_email', '')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(9, 'userip', 'no')";
        $wpdb->query($insert);
        $qry = "select `value` from {$crf_option} where fieldname='crf_theme'";
        $crf_theme = $wpdb->get_var($qry);
        if (isset($crf_theme) && $crf_theme != "") {
            if ($crf_theme == 'default') {
                $wpdb->query("update {$crf_option} set value='classic' where fieldname='crf_theme'");
            } else {
                $wpdb->query("update {$crf_option} set value='default' where fieldname='crf_theme'");
            }
        }
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(10, 'crf_theme', 'default')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(11, 'enable_social', 'no')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(12, 'facebook_app_id', '')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(13, 'facebook_app_secret', '')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(14, 'enable_facebook', 'no')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(15, 'enable_twitter', 'no')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(16, 'consumer_key', '')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(17, 'consumer_secret', '')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(18, 'send_password', 'yes')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(19, 'enable_mailchimp', 'no')";
        $wpdb->query($insert);
        $insert = "INSERT IGNORE INTO {$crf_option} VALUES\r\n\t\t(20, 'mailchimp_key', '')";
        $wpdb->query($insert);
        require_once ABSPATH . 'wp-admin/includes/upgrade.php';
        $crf_stats = $wpdb->prefix . "crf_stats";
        $sqlcreate = "CREATE TABLE IF NOT EXISTS {$crf_stats}\r\n\t\t(\r\n\t\t\t`id` int NOT NULL AUTO_INCREMENT,\r\n\t\t\t`form_id` int(11),\r\n\t\t\t`stats_key` varchar(255),\r\n\t\t\t`details` longtext,\r\n\t\t\tPRIMARY KEY(id)\r\n\t\t)";
        dbDelta($sqlcreate);
        $sqlcreate = "CREATE TABLE IF NOT EXISTS {$crf_users} (\r\n\t\t\t\t  \t\t`Id` int(11) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t  \t\t`email` varchar(255) NOT\t NULL,\r\n\t\t\t\t  \t\t`otp_code` varchar(255) NOT NULL,\r\n\t\t\t      \t\t`last_activity_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,\r\n\t\t\t      \t\t`created_date` timestamp, \r\n\t\t\t\t  \t\tPRIMARY KEY (`Id`))";
        dbDelta($sqlcreate);
        crf_f_create_sub_page();
        $sqlcreate = "CREATE TABLE IF NOT EXISTS {$crf_submissions} (\r\n\t\t\t\t\t\t`id` int(11) NOT NULL AUTO_INCREMENT,\r\n  \t\t\t\t\t\t`submission_id` int(11),\r\n  \t\t\t\t\t\t`form_id` int(11),\r\n  \t\t\t\t\t\t`field` text,\r\n  \t\t\t\t\t\t`value` longtext,\r\n\t\t\t\t\t\tPRIMARY KEY(id)\r\n\t\t\t\t\t\t)";
        dbDelta($sqlcreate);
        $crf_paypal_fields = $wpdb->prefix . "crf_paypal_fields";
        $sqlcreate = "CREATE TABLE IF NOT EXISTS {$crf_paypal_fields} (\r\n\t\t  `Id` int(11) NOT NULL AUTO_INCREMENT,\r\n\t\t  `Type` varchar(50) DEFAULT NULL,\r\n\t\t  `Name` varchar(256) NOT NULL,\r\n\t\t  `Value` longtext DEFAULT NULL,\r\n\t\t  `Class` varchar(256) DEFAULT NULL,\r\n\t\t  `Option_Label` longtext DEFAULT NULL,\r\n\t\t  `Option_Price` longtext DEFAULT NULL,\r\n\t\t  `Option_Value` longtext DEFAULT NULL,\r\n\t\t  `Description` longtext DEFAULT NULL,\r\n\t\t  `Require` varchar(256) DEFAULT NULL,\r\n\t\t  `Ordering` int(11) DEFAULT NULL,\r\n\t\t  `extra_options` longtext DEFAULT NULL,\r\n\t\t  PRIMARY KEY (`Id`))";
        dbDelta($sqlcreate);
        $crf_paypal_log = $wpdb->prefix . "crf_paypal_log";
        $crf_purchases = $wpdb->prefix . "crf_purchases";
        $sqlcreate = "CREATE TABLE IF NOT EXISTS {$crf_purchases} (\r\n\t  `id` int(11) NOT NULL auto_increment,\r\n\t  `invoice` varchar(300) NOT NULL,\r\n\t  `trasaction_id` varchar(600) NOT NULL,\r\n\t  `log_id` int(10) NOT NULL,\r\n\t  `product_id` varchar(300) NOT NULL,\r\n\t  `product_name` varchar(300) NOT NULL,\r\n\t  `product_quantity` varchar(300) NOT NULL,\r\n\t  `product_amount` varchar(300) NOT NULL,\r\n\t  `payer_fname` varchar(300) NOT NULL,\r\n\t  `payer_lname` varchar(300) NOT NULL,\r\n\t  `payer_address` varchar(300) NOT NULL,\r\n\t  `payer_city` varchar(300) NOT NULL,\r\n\t  `payer_state` varchar(300) NOT NULL,\r\n\t  `payer_zip` varchar(300) NOT NULL,\r\n\t  `payer_country` varchar(300) NOT NULL,\r\n\t  `payer_email` text NOT NULL,\r\n\t  `payment_status` varchar(300) NOT NULL,\r\n\t  `posted_date` datetime NOT NULL,\r\n\t  PRIMARY KEY (`Id`))";
        dbDelta($sqlcreate);
        $sqlcreate = "CREATE TABLE IF NOT EXISTS {$crf_paypal_log} (\r\n\t  `id` int(11) NOT NULL AUTO_INCREMENT,\r\n\t  `txn_id` varchar(600) NOT NULL,\r\n\t  `log` longtext NOT NULL,\r\n\t  `posted_date` datetime NOT NULL,\r\n\t  PRIMARY KEY (`Id`))";
        dbDelta($sqlcreate);
        $crf_notes = $wpdb->prefix . "crf_notes";
        $sqlcreate = "CREATE TABLE IF NOT EXISTS {$crf_notes} (\r\n\t `id` int(11) NOT NULL AUTO_INCREMENT,\r\n\t  `submission_id` int(11) NOT NULL,\r\n\t  `userid` int(11) DEFAULT NULL,\r\n\t  `useremail` varchar(255) DEFAULT NULL,\r\n\t  `type` longtext NOT NULL,\r\n\t  `status` varchar(255) DEFAULT NULL,\r\n\t  `publish_date` datetime NOT NULL,\r\n\t  `last_edit_date` datetime DEFAULT NULL,\r\n\t  `last_edited_by` varchar(255) DEFAULT NULL,\r\n      `notes` longtext DEFAULT NULL,\r\n\t  `bg_color` varchar(255) DEFAULT NULL,\r\n\t  `extra_option` longtext DEFAULT NULL,  \r\n\t  PRIMARY KEY (`Id`))";
        dbDelta($sqlcreate);
        $crf_forms = $wpdb->prefix . "crf_forms";
        $crf_fields = $wpdb->prefix . "crf_fields";
        $crfform = $wpdb->get_row("SELECT * FROM {$crf_forms}");
        //Add column if not present.
        if (!isset($crfform->form_option)) {
            $wpdb->query("ALTER TABLE {$crf_forms} ADD form_option longtext");
        }
        //Add column if not present.
        if (!isset($crf_fields->Field_Key)) {
            $wpdb->query("ALTER TABLE {$crf_fields} ADD Field_Key varchar(256) DEFAULT NULL");
            $crf_basic_options = new crf_basic_options();
            $crf_basic_options->crf_assign_key_for_previous_field();
        }
        $wpdb->query("ALTER TABLE {$crf_forms} CHANGE `success_message` `success_message` LONGTEXT");
        $wpdb->query("ALTER TABLE {$crf_paypal_fields} CHANGE `Option_Label` `Option_Label` LONGTEXT");
        $wpdb->query("ALTER TABLE {$crf_paypal_fields} CHANGE `Option_Price` `Option_Price` LONGTEXT");
        $wpdb->query("ALTER TABLE {$crf_paypal_fields} CHANGE `Option_Value` `Option_Value` LONGTEXT");
        $wpdb->query("ALTER TABLE {$crf_fields} CHANGE `Option_Value` `Option_Value` LONGTEXT");
        $submissions = get_site_option('crf_migrate_submission', 'no');
        if ($submissions == 'no') {
            update_option("crf_db_version", $crf_db_version);
            wp_redirect('admin.php?page=crf_migrate_submission');
            exit;
        } else {
            update_option("crf_db_version", $crf_db_version);
        }
    }
    $whatsnew = get_site_option('crf_whatsnewpage', 0);
    if ($whatsnew == 0) {
        update_option('crf_whatsnewpage', 1);
        wp_redirect('admin.php?page=crf_whats_new');
        exit;
    }
}