function ninja_forms_activation($network_wide)
{
    global $wpdb;
    if (!$network_wide) {
        // This is a single-site activation.
        wp_schedule_event(time(), 'daily', 'ninja_forms_daily_action');
        require_once ABSPATH . 'wp-admin/includes/upgrade.php';
        $plugin_settings = nf_get_settings();
        $current_version = isset($plugin_settings['version']) ? $plugin_settings['version'] : '';
        if ($current_version != '') {
            update_option('nf_version_upgraded_from', $current_version);
        }
        $forms = '';
        $opt = $plugin_settings;
        $sql = "CREATE TABLE IF NOT EXISTS " . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . " (\n\t\t`id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t`row_type` int(11) NOT NULL,\n\t\t`type` varchar(255) CHARACTER SET utf8 NOT NULL,\n\t\t`order` int(11) NOT NULL,\n\t\t`data` longtext CHARACTER SET utf8 NOT NULL,\n\t\t`name` varchar(255) CHARACTER SET utf8 NOT NULL,\n\t\tPRIMARY KEY (`id`)\n\t\t) DEFAULT CHARSET=utf8;";
        dbDelta($sql);
        if (!function_exists('nf_change_email_fav')) {
            require_once dirname(__FILE__) . '/admin/upgrades/upgrade-functions.php';
        }
        // Remove old email settings.
        nf_change_email_fav();
        $state_dropdown = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . " WHERE name = %s AND row_type = 0", 'State Dropdown'), ARRAY_A);
        if (!isset($state_dropdown['id'])) {
            $sql = 'INSERT INTO `' . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . '` (`id`, `row_type`, `type`, `order`, `data`, `name`) VALUES
			(2, 0, \'_list\', 0, \'a:10:{s:5:\\"label\\";s:14:\\"State Dropdown\\";s:9:\\"label_pos\\";s:4:\\"left\\";s:9:\\"list_type\\";s:8:\\"dropdown\\";s:10:\\"multi_size\\";s:1:\\"5\\";s:15:\\"list_show_value\\";s:1:\\"1\\";s:4:\\"list\\";a:1:{s:7:\\"options\\";a:51:{i:0;a:3:{s:5:\\"label\\";s:7:\\"Alabama\\";s:5:\\"value\\";s:2:\\"AL\\";s:8:\\"selected\\";s:1:\\"0\\";}i:1;a:3:{s:5:\\"label\\";s:6:\\"Alaska\\";s:5:\\"value\\";s:2:\\"AK\\";s:8:\\"selected\\";s:1:\\"0\\";}i:2;a:3:{s:5:\\"label\\";s:7:\\"Arizona\\";s:5:\\"value\\";s:2:\\"AZ\\";s:8:\\"selected\\";s:1:\\"0\\";}i:3;a:3:{s:5:\\"label\\";s:8:\\"Arkansas\\";s:5:\\"value\\";s:2:\\"AR\\";s:8:\\"selected\\";s:1:\\"0\\";}i:4;a:3:{s:5:\\"label\\";s:10:\\"California\\";s:5:\\"value\\";s:2:\\"CA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:5;a:3:{s:5:\\"label\\";s:8:\\"Colorado\\";s:5:\\"value\\";s:2:\\"CO\\";s:8:\\"selected\\";s:1:\\"0\\";}i:6;a:3:{s:5:\\"label\\";s:11:\\"Connecticut\\";s:5:\\"value\\";s:2:\\"CT\\";s:8:\\"selected\\";s:1:\\"0\\";}i:7;a:3:{s:5:\\"label\\";s:8:\\"Delaware\\";s:5:\\"value\\";s:2:\\"DE\\";s:8:\\"selected\\";s:1:\\"0\\";}i:8;a:3:{s:5:\\"label\\";s:20:\\"District of Columbia\\";s:5:\\"value\\";s:2:\\"DC\\";s:8:\\"selected\\";s:1:\\"0\\";}i:9;a:3:{s:5:\\"label\\";s:7:\\"Florida\\";s:5:\\"value\\";s:2:\\"FL\\";s:8:\\"selected\\";s:1:\\"0\\";}i:10;a:3:{s:5:\\"label\\";s:7:\\"Georgia\\";s:5:\\"value\\";s:2:\\"GA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:11;a:3:{s:5:\\"label\\";s:6:\\"Hawaii\\";s:5:\\"value\\";s:2:\\"HI\\";s:8:\\"selected\\";s:1:\\"0\\";}i:12;a:3:{s:5:\\"label\\";s:5:\\"Idaho\\";s:5:\\"value\\";s:2:\\"ID\\";s:8:\\"selected\\";s:1:\\"0\\";}i:13;a:3:{s:5:\\"label\\";s:8:\\"Illinois\\";s:5:\\"value\\";s:2:\\"IL\\";s:8:\\"selected\\";s:1:\\"0\\";}i:14;a:3:{s:5:\\"label\\";s:7:\\"Indiana\\";s:5:\\"value\\";s:2:\\"IN\\";s:8:\\"selected\\";s:1:\\"0\\";}i:15;a:3:{s:5:\\"label\\";s:4:\\"Iowa\\";s:5:\\"value\\";s:2:\\"IA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:16;a:3:{s:5:\\"label\\";s:6:\\"Kansas\\";s:5:\\"value\\";s:2:\\"KS\\";s:8:\\"selected\\";s:1:\\"0\\";}i:17;a:3:{s:5:\\"label\\";s:8:\\"Kentucky\\";s:5:\\"value\\";s:2:\\"KY\\";s:8:\\"selected\\";s:1:\\"0\\";}i:18;a:3:{s:5:\\"label\\";s:9:\\"Louisiana\\";s:5:\\"value\\";s:2:\\"LA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:19;a:3:{s:5:\\"label\\";s:5:\\"Maine\\";s:5:\\"value\\";s:2:\\"ME\\";s:8:\\"selected\\";s:1:\\"0\\";}i:20;a:3:{s:5:\\"label\\";s:8:\\"Maryland\\";s:5:\\"value\\";s:2:\\"MD\\";s:8:\\"selected\\";s:1:\\"0\\";}i:21;a:3:{s:5:\\"label\\";s:13:\\"Massachusetts\\";s:5:\\"value\\";s:2:\\"MA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:22;a:3:{s:5:\\"label\\";s:8:\\"Michigan\\";s:5:\\"value\\";s:2:\\"MI\\";s:8:\\"selected\\";s:1:\\"0\\";}i:23;a:3:{s:5:\\"label\\";s:9:\\"Minnesota\\";s:5:\\"value\\";s:2:\\"MN\\";s:8:\\"selected\\";s:1:\\"0\\";}i:24;a:3:{s:5:\\"label\\";s:11:\\"Mississippi\\";s:5:\\"value\\";s:2:\\"MS\\";s:8:\\"selected\\";s:1:\\"0\\";}i:25;a:3:{s:5:\\"label\\";s:8:\\"Missouri\\";s:5:\\"value\\";s:2:\\"MO\\";s:8:\\"selected\\";s:1:\\"0\\";}i:26;a:3:{s:5:\\"label\\";s:7:\\"Montana\\";s:5:\\"value\\";s:2:\\"MT\\";s:8:\\"selected\\";s:1:\\"0\\";}i:27;a:3:{s:5:\\"label\\";s:8:\\"Nebraska\\";s:5:\\"value\\";s:2:\\"NE\\";s:8:\\"selected\\";s:1:\\"0\\";}i:28;a:3:{s:5:\\"label\\";s:6:\\"Nevada\\";s:5:\\"value\\";s:2:\\"NV\\";s:8:\\"selected\\";s:1:\\"0\\";}i:29;a:3:{s:5:\\"label\\"3s:13:\\"New Hampshire\\";s:5:\\"value\\";s:2:\\"NH\\";s:8:\\"selected\\";s:1:\\"0\\";}i:30;a:3:{s:5:\\"label\\";s:10:\\"New Jersey\\";s:5:\\"value\\";s:2:\\"NJ\\";s:8:\\"selected\\";s:1:\\"0\\";}i:31;a:3:{s:5:\\"label\\";s:10:\\"New Mexico\\";s:5:\\"value\\";s:2:\\"NM\\";s:8:\\"selected\\";s:1:\\"0\\";}i:32;a:3:{s:5:\\"label\\";s:8:\\"New York\\";s:5:\\"value\\";s:2:\\"NY\\";s:8:\\"selected\\";s:1:\\"0\\";}i:33;a:3:{s:5:\\"label\\";s:14:\\"North Carolina\\";s:5:\\"value\\";s:2:\\"NC\\";s:8:\\"selected\\";s:1:\\"0\\";}i:34;a:3:{s:5:\\"label\\";s:12:\\"North Dakota\\";s:5:\\"value\\";s:2:\\"ND\\";s:8:\\"selected\\";s:1:\\"0\\";}i:35;a:3:{s:5:\\"label\\";s:4:\\"Ohio\\";s:5:\\"value\\";s:2:\\"OH\\";s:8:\\"selected\\";s:1:\\"0\\";}i:36;a:3:{s:5:\\"label\\";s:8:\\"Oklahoma\\";s:5:\\"value\\";s:2:\\"OK\\";s:8:\\"selected\\";s:1:\\"0\\";}i:37;a:3:{s:5:\\"label\\";s:6:\\"Oregon\\";s:5:\\"value\\";s:2:\\"OR\\";s:8:\\"selected\\";s:1:\\"0\\";}i:38;a:3:{s:5:\\"label\\";s:12:\\"Pennsylvania\\";s:5:\\"value\\";s:2:\\"PA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:39;a:3:{s:5:\\"label\\";s:12:\\"Rhode Island\\";s:5:\\"value\\";s:2:\\"RI\\";s:8:\\"selected\\";s:1:\\"0\\";}i:40;a:3:{s:5:\\"label\\";s:14:\\"South Carolina\\";s:5:\\"value\\";s:2:\\"SC\\";s:8:\\"selected\\";s:1:\\"0\\";}i:41;a:3:{s:5:\\"label\\";s:12:\\"South Dakota\\";s:5:\\"value\\";s:2:\\"SD\\";s:8:\\"selected\\";s:1:\\"0\\";}i:42;a:3:{s:5:\\"label\\";s:9:\\"Tennessee\\";s:5:\\"value\\";s:2:\\"TN\\";s:8:\\"selected\\";s:1:\\"0\\";}i:43;a:3:{s:5:\\"label\\";s:5:\\"Texas\\";s:5:\\"value\\";s:2:\\"TX\\";s:8:\\"selected\\";s:1:\\"0\\";}i:44;a:3:{s:5:\\"label\\";s:4:\\"Utah\\";s:5:\\"value\\";s:2:\\"UT\\";s:8:\\"selected\\";s:1:\\"0\\";}i:45;a:3:{s:5:\\"label\\";s:7:\\"Vermont\\";s:5:\\"value\\";s:2:\\"VT\\";s:8:\\"selected\\";s:1:\\"0\\";}i:46;a:3:{s:5:\\"label\\";s:8:\\"Virginia\\";s:5:\\"value\\";s:2:\\"VA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:47;a:3:{s:5:\\"label\\";s:10:\\"Washington\\";s:5:\\"value\\";s:2:\\"WA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:48;a:3:{s:5:\\"label\\";s:13:\\"West Virginia\\";s:5:\\"value\\";s:2:\\"WV\\";s:8:\\"selected\\";s:1:\\"0\\";}i:49;a:3:{s:5:\\"label\\";s:9:\\"Wisconsin\\";s:5:\\"value\\";s:2:\\"WI\\";s:8:\\"selected\\";s:1:\\"0\\";}i:50;a:3:{s:5:\\"label\\";s:7:\\"Wyoming\\";s:5:\\"value\\";s:2:\\"WY\\";s:8:\\"selected\\";s:1:\\"0\\";}}}s:3:\\"req\\";s:1:\\"0\\";s:5:\\"class\\";s:0:\\"\\";s:9:\\"show_help\\";s:1:\\"0\\";s:9:\\"help_text\\";s:0:\\"\\";}\', \'State Dropdown\')';
            $wpdb->query($sql);
        }
        $anti_spam = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . " WHERE name = %s AND row_type = 0", 'Anti-Spam'), ARRAY_A);
        if (!isset($anti_spam['id'])) {
            $sql = 'INSERT INTO `' . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . '` (`id`, `row_type`, `type`, `order`, `data`, `name`) VALUES
			(3, 0, \'_spam\', 0, \'a:6:{s:9:"label_pos";s:4:"left";s:5:"label";s:18:"Anti-Spam Question";s:6:"answer";s:16:"Anti-Spam Answer";s:5:"class";s:0:"";s:9:"show_help";s:1:"0";s:9:"help_text";s:0:"";}\', \'Anti-Spam\')';
            $wpdb->query($sql);
        }
        $submit = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . " WHERE name = %s AND row_type = 0", 'Submit'), ARRAY_A);
        if (!isset($submit['id'])) {
            $sql = 'INSERT INTO `' . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . '` (`id`, `row_type`, `type`, `order`, `data`, `name`) VALUES
			(4, 0, \'_submit\', 0, \'a:4:{s:5:\\"label\\";s:6:\\"Submit\\";s:5:\\"class\\";s:0:\\"\\";s:9:\\"show_help\\";s:1:\\"0\\";s:9:\\"help_text\\";s:0:\\"\\";}\', \'Submit\');';
            $wpdb->query($sql);
        }
        $sql = "CREATE TABLE IF NOT EXISTS " . NINJA_FORMS_FIELDS_TABLE_NAME . " (\n\t\t  `id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t  `form_id` int(11) NOT NULL,\n\t\t  `type` varchar(255) CHARACTER SET utf8 NOT NULL,\n\t\t  `order` int(11) NOT NULL,\n\t\t  `data` longtext CHARACTER SET utf8 NOT NULL,\n\t\t  `fav_id` int(11) DEFAULT NULL,\n\t\t  `def_id` int(11) DEFAULT NULL,\n\t\t  PRIMARY KEY (`id`)\n\t\t) DEFAULT CHARSET=utf8 ;";
        dbDelta($sql);
        /**
         * Add our table structure for version 2.8.
         */
        // Create our object meta table
        $sql = "CREATE TABLE IF NOT EXISTS " . NF_OBJECT_META_TABLE_NAME . " (\n\t\t  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n\t\t  `object_id` bigint(20) NOT NULL,\n\t\t  `meta_key` varchar(255) NOT NULL,\n\t\t  `meta_value` longtext NOT NULL,\n\t\t  PRIMARY KEY (`id`)\n\t\t) DEFAULT CHARSET=utf8;";
        dbDelta($sql);
        // Create our object table
        $sql = "CREATE TABLE IF NOT EXISTS " . NF_OBJECTS_TABLE_NAME . " (\n\t\t  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n\t\t  `type` varchar(255) NOT NULL,\n\t\t  PRIMARY KEY (`id`)\n\t\t) DEFAULT CHARSET=utf8;";
        dbDelta($sql);
        // Create our object relationships table
        $sql = "CREATE TABLE IF NOT EXISTS " . NF_OBJECT_RELATIONSHIPS_TABLE_NAME . " (\n\t\t  `id` bigint(20) NOT NULL AUTO_INCREMENT,\n\t\t  `child_id` bigint(20) NOT NULL,\n\t\t  `parent_id` bigint(20) NOT NULL,\n\t\t  `child_type` varchar(255) NOT NULL,\n\t\t  `parent_type` varchar(255) NOT NULL,\n\t\t  PRIMARY KEY (`id`)\n\t\t) DEFAULT CHARSET=utf8;";
        dbDelta($sql);
        $title = ninja_forms_get_preview_page_title();
        $preview_page = get_page_by_title($title);
        if (!$preview_page) {
            // Create preview page object
            $preview_post = array('post_title' => $title, 'post_content' => 'This is a preview of how this form will appear on your website', 'post_status' => 'draft', 'post_type' => 'page');
            // Insert the page into the database
            $page_id = wp_insert_post($preview_post);
        } else {
            $page_id = $preview_page->ID;
        }
        $opt['preview_id'] = $page_id;
        $opt['version'] = NF_PLUGIN_VERSION;
        $current_settings = get_option('ninja_forms_settings', false);
        if (!$current_settings) {
            update_option('nf_convert_notifications_complete', true);
            update_option('nf_convert_subs_step', 'complete');
            update_option('nf_upgrade_notice', 'closed');
            update_option('nf_update_email_settings_complete', true);
            update_option('nf_email_fav_updated', true);
            update_option('nf_convert_forms_complete', true);
            update_option('nf_database_migrations', true);
        }
        update_option("ninja_forms_settings", $opt);
        update_option('ninja_forms_version', NF_PLUGIN_VERSION);
        // check for an existing form
        $starter_form_exists = ninja_forms_starter_form_exists();
        if (!$starter_form_exists) {
            // if a starter form doesn't exist them create it
            ninja_forms_add_starter_form();
        }
        // Add the transient to redirect
        // set_transient( '_nf_activation_redirect', true, 30 );
    } else {
        // We're network activating.
        header('Location: ' . network_admin_url('plugins.php?deactivate=true&nf_action=network_activation_error'));
        exit;
    }
}
function ninja_forms_activation($network_wide)
{
    global $wpdb;
    if (!$network_wide) {
        // This is a single-site activation.
        wp_schedule_event(time(), 'daily', 'ninja_forms_daily_action');
        require_once ABSPATH . 'wp-admin/includes/upgrade.php';
        $plugin_settings = nf_get_settings();
        if (isset($plugin_settings['version'])) {
            $current_version = $plugin_settings['version'];
        } else {
            $current_version = '';
        }
        if ($current_version != '') {
            update_option('nf_version_upgraded_from', $current_version);
        }
        $forms = '';
        if ($current_version != '' and version_compare($current_version, '2.0', '<')) {
            if ($wpdb->get_var("SHOW COLUMNS FROM " . NINJA_FORMS_TABLE_NAME . " LIKE 'title'") == 'title') {
                $forms = ninja_forms_activation_old_forms_check();
                if ($wpdb->get_var("SHOW TABLES LIKE '" . NINJA_FORMS_TABLE_NAME . "'") == NINJA_FORMS_TABLE_NAME) {
                    $wpdb->query("DROP TABLE " . NINJA_FORMS_TABLE_NAME);
                }
                if ($wpdb->get_var("SHOW TABLES LIKE '" . NINJA_FORMS_FIELDS_TABLE_NAME . "'") == NINJA_FORMS_FIELDS_TABLE_NAME) {
                    $wpdb->query("DROP TABLE " . NINJA_FORMS_FIELDS_TABLE_NAME);
                }
                if ($wpdb->get_var("SHOW TABLES LIKE '" . NINJA_FORMS_SUBS_TABLE_NAME . "'") == NINJA_FORMS_SUBS_TABLE_NAME) {
                    $wpdb->query("DROP TABLE " . NINJA_FORMS_SUBS_TABLE_NAME);
                }
            }
        }
        $sql = "CREATE TABLE IF NOT EXISTS " . NINJA_FORMS_TABLE_NAME . " (\n\t\t  `id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t  `data` longtext CHARACTER SET utf8 NOT NULL,\n\t\t  `date_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\t\t  PRIMARY KEY (`id`)\n\t\t) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;";
        dbDelta($sql);
        $sql = "CREATE TABLE IF NOT EXISTS " . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . " (\n\t\t`id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t`row_type` int(11) NOT NULL,\n\t\t`type` varchar(255) CHARACTER SET utf8 NOT NULL,\n\t\t`order` int(11) NOT NULL,\n\t\t`data` longtext CHARACTER SET utf8 NOT NULL,\n\t\t`name` varchar(255) CHARACTER SET utf8 NOT NULL,\n\t\tPRIMARY KEY (`id`)\n\t\t) ENGINE=InnoDB  DEFAULT CHARSET=utf8;";
        dbDelta($sql);
        $email_address = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . " WHERE name = %s AND row_type = 0", 'Email Address'), ARRAY_A);
        if (!isset($email_address['id'])) {
            $sql = 'INSERT INTO `' . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . '` (`id`, `row_type`, `type`, `order`, `data`, `name`) VALUES
			(1, 0, \'_text\', 0, \'a:11:{s:5:\\"label\\";s:13:\\"Email Address\\";s:9:\\"label_pos\\";s:4:\\"left\\";s:13:\\"default_value\\";s:0:\\"\\";s:4:\\"mask\\";s:0:\\"\\";s:10:\\"datepicker\\";s:1:\\"0\\";s:5:\\"email\\";s:1:\\"1\\";s:10:\\"send_email\\";s:1:\\"1\\";s:3:\\"req\\";s:1:\\"0\\";s:5:\\"class\\";s:0:\\"\\";s:9:\\"show_help\\";s:1:\\"0\\";s:9:\\"help_text\\";s:0:\\"\\";}\', \'Email Address\')';
            $wpdb->query($sql);
        }
        $state_dropdown = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . " WHERE name = %s AND row_type = 0", 'State Dropdown'), ARRAY_A);
        if (!isset($state_dropdown['id'])) {
            $sql = 'INSERT INTO `' . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . '` (`id`, `row_type`, `type`, `order`, `data`, `name`) VALUES
			(2, 0, \'_list\', 0, \'a:10:{s:5:\\"label\\";s:14:\\"State Dropdown\\";s:9:\\"label_pos\\";s:4:\\"left\\";s:9:\\"list_type\\";s:8:\\"dropdown\\";s:10:\\"multi_size\\";s:1:\\"5\\";s:15:\\"list_show_value\\";s:1:\\"1\\";s:4:\\"list\\";a:1:{s:7:\\"options\\";a:51:{i:0;a:3:{s:5:\\"label\\";s:7:\\"Alabama\\";s:5:\\"value\\";s:2:\\"AL\\";s:8:\\"selected\\";s:1:\\"0\\";}i:1;a:3:{s:5:\\"label\\";s:6:\\"Alaska\\";s:5:\\"value\\";s:2:\\"AK\\";s:8:\\"selected\\";s:1:\\"0\\";}i:2;a:3:{s:5:\\"label\\";s:7:\\"Arizona\\";s:5:\\"value\\";s:2:\\"AZ\\";s:8:\\"selected\\";s:1:\\"0\\";}i:3;a:3:{s:5:\\"label\\";s:8:\\"Arkansas\\";s:5:\\"value\\";s:2:\\"AR\\";s:8:\\"selected\\";s:1:\\"0\\";}i:4;a:3:{s:5:\\"label\\";s:10:\\"California\\";s:5:\\"value\\";s:2:\\"CA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:5;a:3:{s:5:\\"label\\";s:8:\\"Colorado\\";s:5:\\"value\\";s:2:\\"CO\\";s:8:\\"selected\\";s:1:\\"0\\";}i:6;a:3:{s:5:\\"label\\";s:11:\\"Connecticut\\";s:5:\\"value\\";s:2:\\"CT\\";s:8:\\"selected\\";s:1:\\"0\\";}i:7;a:3:{s:5:\\"label\\";s:8:\\"Delaware\\";s:5:\\"value\\";s:2:\\"DE\\";s:8:\\"selected\\";s:1:\\"0\\";}i:8;a:3:{s:5:\\"label\\";s:20:\\"District of Columbia\\";s:5:\\"value\\";s:2:\\"DC\\";s:8:\\"selected\\";s:1:\\"0\\";}i:9;a:3:{s:5:\\"label\\";s:7:\\"Florida\\";s:5:\\"value\\";s:2:\\"FL\\";s:8:\\"selected\\";s:1:\\"0\\";}i:10;a:3:{s:5:\\"label\\";s:7:\\"Georgia\\";s:5:\\"value\\";s:2:\\"GA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:11;a:3:{s:5:\\"label\\";s:6:\\"Hawaii\\";s:5:\\"value\\";s:2:\\"HI\\";s:8:\\"selected\\";s:1:\\"0\\";}i:12;a:3:{s:5:\\"label\\";s:5:\\"Idaho\\";s:5:\\"value\\";s:2:\\"ID\\";s:8:\\"selected\\";s:1:\\"0\\";}i:13;a:3:{s:5:\\"label\\";s:8:\\"Illinois\\";s:5:\\"value\\";s:2:\\"IL\\";s:8:\\"selected\\";s:1:\\"0\\";}i:14;a:3:{s:5:\\"label\\";s:7:\\"Indiana\\";s:5:\\"value\\";s:2:\\"IN\\";s:8:\\"selected\\";s:1:\\"0\\";}i:15;a:3:{s:5:\\"label\\";s:4:\\"Iowa\\";s:5:\\"value\\";s:2:\\"IA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:16;a:3:{s:5:\\"label\\";s:6:\\"Kansas\\";s:5:\\"value\\";s:2:\\"KS\\";s:8:\\"selected\\";s:1:\\"0\\";}i:17;a:3:{s:5:\\"label\\";s:8:\\"Kentucky\\";s:5:\\"value\\";s:2:\\"KY\\";s:8:\\"selected\\";s:1:\\"0\\";}i:18;a:3:{s:5:\\"label\\";s:9:\\"Louisiana\\";s:5:\\"value\\";s:2:\\"LA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:19;a:3:{s:5:\\"label\\";s:5:\\"Maine\\";s:5:\\"value\\";s:2:\\"ME\\";s:8:\\"selected\\";s:1:\\"0\\";}i:20;a:3:{s:5:\\"label\\";s:8:\\"Maryland\\";s:5:\\"value\\";s:2:\\"MD\\";s:8:\\"selected\\";s:1:\\"0\\";}i:21;a:3:{s:5:\\"label\\";s:13:\\"Massachusetts\\";s:5:\\"value\\";s:2:\\"MA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:22;a:3:{s:5:\\"label\\";s:8:\\"Michigan\\";s:5:\\"value\\";s:2:\\"MI\\";s:8:\\"selected\\";s:1:\\"0\\";}i:23;a:3:{s:5:\\"label\\";s:9:\\"Minnesota\\";s:5:\\"value\\";s:2:\\"MN\\";s:8:\\"selected\\";s:1:\\"0\\";}i:24;a:3:{s:5:\\"label\\";s:11:\\"Mississippi\\";s:5:\\"value\\";s:2:\\"MS\\";s:8:\\"selected\\";s:1:\\"0\\";}i:25;a:3:{s:5:\\"label\\";s:8:\\"Missouri\\";s:5:\\"value\\";s:2:\\"MO\\";s:8:\\"selected\\";s:1:\\"0\\";}i:26;a:3:{s:5:\\"label\\";s:7:\\"Montana\\";s:5:\\"value\\";s:2:\\"MT\\";s:8:\\"selected\\";s:1:\\"0\\";}i:27;a:3:{s:5:\\"label\\";s:8:\\"Nebraska\\";s:5:\\"value\\";s:2:\\"NE\\";s:8:\\"selected\\";s:1:\\"0\\";}i:28;a:3:{s:5:\\"label\\";s:6:\\"Nevada\\";s:5:\\"value\\";s:2:\\"NV\\";s:8:\\"selected\\";s:1:\\"0\\";}i:29;a:3:{s:5:\\"label\\";s:12:\\"New Hampsire\\";s:5:\\"value\\";s:2:\\"NH\\";s:8:\\"selected\\";s:1:\\"0\\";}i:30;a:3:{s:5:\\"label\\";s:10:\\"New Jersey\\";s:5:\\"value\\";s:2:\\"NJ\\";s:8:\\"selected\\";s:1:\\"0\\";}i:31;a:3:{s:5:\\"label\\";s:10:\\"New Mexico\\";s:5:\\"value\\";s:2:\\"NM\\";s:8:\\"selected\\";s:1:\\"0\\";}i:32;a:3:{s:5:\\"label\\";s:8:\\"New York\\";s:5:\\"value\\";s:2:\\"NY\\";s:8:\\"selected\\";s:1:\\"0\\";}i:33;a:3:{s:5:\\"label\\";s:14:\\"North Carolina\\";s:5:\\"value\\";s:2:\\"NC\\";s:8:\\"selected\\";s:1:\\"0\\";}i:34;a:3:{s:5:\\"label\\";s:12:\\"North Dakota\\";s:5:\\"value\\";s:2:\\"ND\\";s:8:\\"selected\\";s:1:\\"0\\";}i:35;a:3:{s:5:\\"label\\";s:4:\\"Ohio\\";s:5:\\"value\\";s:2:\\"OH\\";s:8:\\"selected\\";s:1:\\"0\\";}i:36;a:3:{s:5:\\"label\\";s:8:\\"Oklahoma\\";s:5:\\"value\\";s:2:\\"OK\\";s:8:\\"selected\\";s:1:\\"0\\";}i:37;a:3:{s:5:\\"label\\";s:6:\\"Oregon\\";s:5:\\"value\\";s:2:\\"OR\\";s:8:\\"selected\\";s:1:\\"0\\";}i:38;a:3:{s:5:\\"label\\";s:12:\\"Pennsylvania\\";s:5:\\"value\\";s:2:\\"PA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:39;a:3:{s:5:\\"label\\";s:12:\\"Rhode Island\\";s:5:\\"value\\";s:2:\\"RI\\";s:8:\\"selected\\";s:1:\\"0\\";}i:40;a:3:{s:5:\\"label\\";s:14:\\"South Carolina\\";s:5:\\"value\\";s:2:\\"SC\\";s:8:\\"selected\\";s:1:\\"0\\";}i:41;a:3:{s:5:\\"label\\";s:12:\\"South Dakota\\";s:5:\\"value\\";s:2:\\"SD\\";s:8:\\"selected\\";s:1:\\"0\\";}i:42;a:3:{s:5:\\"label\\";s:9:\\"Tennessee\\";s:5:\\"value\\";s:2:\\"TN\\";s:8:\\"selected\\";s:1:\\"0\\";}i:43;a:3:{s:5:\\"label\\";s:5:\\"Texas\\";s:5:\\"value\\";s:2:\\"TX\\";s:8:\\"selected\\";s:1:\\"0\\";}i:44;a:3:{s:5:\\"label\\";s:4:\\"Utah\\";s:5:\\"value\\";s:2:\\"UT\\";s:8:\\"selected\\";s:1:\\"0\\";}i:45;a:3:{s:5:\\"label\\";s:7:\\"Vermont\\";s:5:\\"value\\";s:2:\\"VT\\";s:8:\\"selected\\";s:1:\\"0\\";}i:46;a:3:{s:5:\\"label\\";s:8:\\"Virginia\\";s:5:\\"value\\";s:2:\\"VA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:47;a:3:{s:5:\\"label\\";s:10:\\"Washington\\";s:5:\\"value\\";s:2:\\"WA\\";s:8:\\"selected\\";s:1:\\"0\\";}i:48;a:3:{s:5:\\"label\\";s:13:\\"West Virginia\\";s:5:\\"value\\";s:2:\\"WV\\";s:8:\\"selected\\";s:1:\\"0\\";}i:49;a:3:{s:5:\\"label\\";s:9:\\"Wisconsin\\";s:5:\\"value\\";s:2:\\"WI\\";s:8:\\"selected\\";s:1:\\"0\\";}i:50;a:3:{s:5:\\"label\\";s:7:\\"Wyoming\\";s:5:\\"value\\";s:2:\\"WY\\";s:8:\\"selected\\";s:1:\\"0\\";}}}s:3:\\"req\\";s:1:\\"0\\";s:5:\\"class\\";s:0:\\"\\";s:9:\\"show_help\\";s:1:\\"0\\";s:9:\\"help_text\\";s:0:\\"\\";}\', \'State Dropdown\')';
            $wpdb->query($sql);
        }
        $anti_spam = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . " WHERE name = %s AND row_type = 0", 'Anti-Spam'), ARRAY_A);
        if (!isset($anti_spam['id'])) {
            $sql = 'INSERT INTO `' . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . '` (`id`, `row_type`, `type`, `order`, `data`, `name`) VALUES
			(3, 0, \'_spam\', 0, \'a:6:{s:9:"label_pos";s:4:"left";s:5:"label";s:18:"Anti-Spam Question";s:6:"answer";s:16:"Anti-Spam Answer";s:5:"class";s:0:"";s:9:"show_help";s:1:"0";s:9:"help_text";s:0:"";}\', \'Anti-Spam\')';
            $wpdb->query($sql);
        }
        $submit = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . " WHERE name = %s AND row_type = 0", 'Submit'), ARRAY_A);
        if (!isset($submit['id'])) {
            $sql = 'INSERT INTO `' . NINJA_FORMS_FAV_FIELDS_TABLE_NAME . '` (`id`, `row_type`, `type`, `order`, `data`, `name`) VALUES
			(4, 0, \'_submit\', 0, \'a:4:{s:5:\\"label\\";s:6:\\"Submit\\";s:5:\\"class\\";s:0:\\"\\";s:9:\\"show_help\\";s:1:\\"0\\";s:9:\\"help_text\\";s:0:\\"\\";}\', \'Submit\');';
            $wpdb->query($sql);
        }
        $sql = "CREATE TABLE IF NOT EXISTS " . NINJA_FORMS_FIELDS_TABLE_NAME . " (\n\t\t  `id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t  `form_id` int(11) NOT NULL,\n\t\t  `type` varchar(255) CHARACTER SET utf8 NOT NULL,\n\t\t  `order` int(11) NOT NULL,\n\t\t  `data` longtext CHARACTER SET utf8 NOT NULL,\n\t\t  `fav_id` int(11) DEFAULT NULL,\n\t\t  `def_id` int(11) DEFAULT NULL,\n\t\t  PRIMARY KEY (`id`)\n\t\t) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;";
        dbDelta($sql);
        $sql = "CREATE TABLE IF NOT EXISTS " . NINJA_FORMS_SUBS_TABLE_NAME . " (\n\t\t  `id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t  `user_id` int(11) DEFAULT NULL,\n\t\t  `form_id` int(11) NOT NULL,\n\t\t  `status` int(11) NOT NULL,\n\t\t  `action` varchar(255) NOT NULL,\n\t\t  `data` longtext CHARACTER SET utf8 NOT NULL,\n\t\t  `date_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,\n\t\t  PRIMARY KEY (`id`)\n\t\t) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;";
        dbDelta($sql);
        if (version_compare($current_version, '2.0', '<')) {
            if (isset($plugin_settings['upload_dir'])) {
                $base_upload_dir = $plugin_settings['upload_dir'];
            } else {
                $base_upload_dir = '';
            }
            if (isset($plugin_settings['upload_size'])) {
                $max_file_size = $plugin_settings['upload_size'];
            } else {
                $max_file_size = 2;
            }
            $opt = array('license_key' => '', 'license_status' => 'inactive', 'date_format' => 'm/d/Y', 'currency_symbol' => '$', 'clear_complete' => 1, 'hide_complete' => 1, 'req_div_label' => __('Fields marked with a * are required.', 'ninja-forms'), 'req_field_symbol' => '*', 'req_error_label' => __('Please ensure all required fields are completed.', 'ninja-forms'), 'req_field_error' => __('This is a required field.', 'ninja-forms'), 'spam_error' => __('Please answer the anti-spam question correctly.', 'ninja-forms'), 'honeypot_error' => __('If you are a human, please leave this field blank.', 'ninja-forms'), 'timed_submit_error' => __('If you are a human, please slow down.', 'ninja-forms'), 'javascript_error' => __('You need JavaScript to submit this form. Please enable it and try again.', 'ninja-forms'), 'invalid_email' => __('Please enter a valid email address.', 'ninja-forms'), 'process_label' => __('Processing', 'ninja-forms'), 'login_link' => __('Login', 'ninja-forms'), 'username_label' => __('Username', 'ninja-forms'), 'reset_password' => __('Reset Password (Opens in a new window)', 'ninja-forms'), 'password_label' => __('Password', 'ninja-forms'), 'repassword_label' => __('Re-enter Password', 'ninja-forms'), 'password_mismatch' => __('Passwords do not match.', 'ninja-forms'), 'login_button_label' => __('Login', 'ninja-forms'), 'cancel_button_label' => __('Cancel', 'ninja-forms'), 'login_error' => __('Login failed, please try again.', 'ninja-forms'), 'register_link' => __('Register', 'ninja-forms'), 'email_label' => __('Email Address', 'ninja-forms'), 'register_button_label' => __('Register', 'ninja-forms'), 'register_error' => __('There was an error registering you for this site.', 'ninja-forms'), 'register_spam_q' => __('4 + 9 = ', 'ninja-forms'), 'register_spam_a' => __('13', 'ninja-forms'), 'register_spam_error' => __('Please answer the anti-spam question correctly.', 'ninja-forms'), 'msg_format' => 'inline', 'base_upload_dir' => $base_upload_dir, 'max_file_size' => $max_file_size);
        } else {
            $opt = $plugin_settings;
        }
        $title = ninja_forms_get_preview_page_title();
        $preview_page = get_page_by_title($title);
        if (!$preview_page) {
            // Create preview page object
            $preview_post = array('post_title' => $title, 'post_content' => 'This is a preview of how this form will appear on your website', 'post_status' => 'draft', 'post_type' => 'page');
            // Insert the page into the database
            $page_id = wp_insert_post($preview_post);
        } else {
            $page_id = $preview_page->ID;
        }
        $opt['preview_id'] = $page_id;
        $opt['version'] = NF_PLUGIN_VERSION;
        update_option("ninja_forms_settings", $opt);
        if (is_array($forms) and !empty($forms)) {
            foreach ($forms as $form) {
                $form['data'] = serialize($form['data']);
                if (isset($form['field'])) {
                    $form_fields = $form['field'];
                } else {
                    $form_fields = '';
                }
                if (isset($form['subs'])) {
                    $form_subs = $form['subs'];
                } else {
                    $form_subs = '';
                }
                unset($form['field']);
                unset($form['subs']);
                $wpdb->insert(NINJA_FORMS_TABLE_NAME, $form);
                $form_id = $wpdb->insert_id;
                if (is_array($form_fields) and !empty($form_fields)) {
                    for ($x = 0; $x < count($form_fields); $x++) {
                        $form_fields[$x]['form_id'] = $form_id;
                        $form_fields[$x]['data'] = serialize($form_fields[$x]['data']);
                        unset($form_fields[$x]['id']);
                        if (isset($form_fields[$x]['old_id'])) {
                            $old_id = $form_fields[$x]['old_id'];
                            unset($form_fields[$x]['old_id']);
                        }
                        $wpdb->insert(NINJA_FORMS_FIELDS_TABLE_NAME, $form_fields[$x]);
                        $new_id = $wpdb->insert_id;
                        if (is_array($form_subs) and !empty($form_subs)) {
                            for ($i = 0; $i < count($form_subs); $i++) {
                                $form_subs[$i]['form_id'] = $form_id;
                                if (is_array($form_subs[$i]['data']) and !empty($form_subs[$i]['data'])) {
                                    for ($y = 0; $y < count($form_subs[$i]['data']); $y++) {
                                        if (isset($form_subs[$i]['data'][$y]['old_id']) and $form_subs[$i]['data'][$y]['old_id'] == $old_id) {
                                            unset($form_subs[$i]['data'][$y]['old_id']);
                                            $form_subs[$i]['data'][$y]['field_id'] = $new_id;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                if (is_array($form_subs) and !empty($form_subs)) {
                    for ($i = 0; $i < count($form_subs); $i++) {
                        $form_subs[$i]['data'] = serialize($form_subs[$i]['data']);
                        $wpdb->insert(NINJA_FORMS_SUBS_TABLE_NAME, $form_subs[$i]);
                    }
                }
            }
        }
        // check for an existing form
        $starter_form_exists = ninja_forms_starter_form_exists();
        if (!$starter_form_exists) {
            // if a starter form doesn't exist them create it
            ninja_forms_add_starter_form();
        }
        // Add the transient to redirect
        set_transient('_nf_activation_redirect', true, 30);
    } else {
        // We're network activating.
        header('Location: ' . network_admin_url('plugins.php?deactivate=true&nf_action=network_activation_error'));
        exit;
    }
}