示例#1
0
function ninja_forms_ajax_migrate_database()
{
    if (!current_user_can(apply_filters('ninja_forms_admin_upgrade_migrate_database_capabilities', 'manage_options'))) {
        return;
    }
    $migrations = new NF_Database_Migrations();
    $migrations->nuke(true, true);
    $migrations->migrate();
    echo json_encode(array('migrate' => 'true'));
    wp_die();
}
 /**
  * Activation
  */
 public function activation()
 {
     update_option('ninja_forms_freemius', 1);
     $migrations = new NF_Database_Migrations();
     $migrations->migrate();
 }
示例#3
0
 private function _migrate()
 {
     $migrations = new NF_Database_Migrations();
     $migrations->nuke(TRUE, TRUE);
     $posts = get_posts('post_type=nf_sub&numberposts=-1');
     foreach ($posts as $post) {
         wp_delete_post($post->ID, TRUE);
     }
     $migrations->migrate();
 }
 /**
  * Activation
  */
 public function activation()
 {
     $migrations = new NF_Database_Migrations();
     $migrations->migrate();
     if (Ninja_Forms()->form()->get_forms()) {
         return;
     }
     $form = Ninja_Forms::template('formtemplate-contactform.nff', array(), TRUE);
     Ninja_Forms()->form()->import_form($form);
 }
        // Remove upgrade last step options
        $upgrades = NF_UpgradeHandler()->upgrades;
        if ($upgrades and is_array($upgrades)) {
            foreach ($upgrades as $upgrade) {
                delete_option('nf_upgrade_' . $upgrade->name . '_last_step');
            }
        }
        // Remove all of our submissions
        $items = get_posts(array('post_type' => 'nf_sub', 'post_status' => 'any', 'numberposts' => -1, 'fields' => 'ids'));
        if ($items) {
            foreach ($items as $item) {
                wp_delete_post($item, true);
            }
        }
        // Remove all of our custom tables
        $wpdb->query('DROP TABLE ' . NF_OBJECTS_TABLE_NAME);
        $wpdb->query('DROP TABLE ' . NF_OBJECT_META_TABLE_NAME);
        $wpdb->query('DROP TABLE ' . NF_OBJECT_RELATIONSHIPS_TABLE_NAME);
        $wpdb->query('DROP TABLE ' . NINJA_FORMS_TABLE_NAME);
        $wpdb->query('DROP TABLE ' . NINJA_FORMS_FIELDS_TABLE_NAME);
        $wpdb->query('DROP TABLE ' . NINJA_FORMS_FAV_FIELDS_TABLE_NAME);
        $wpdb->query('DROP TABLE ' . NINJA_FORMS_SUBS_TABLE_NAME);
        // Remove our daily cron job
        $timestamp = wp_next_scheduled('ninja_forms_daily_action');
        wp_unschedule_event($timestamp, 'ninja_forms_daily_action');
    }
} else {
    require_once plugin_dir_path(__FILE__) . '/includes/Database/Migrations.php';
    $migrations = new NF_Database_Migrations();
    $migrations->nuke(TRUE, TRUE);
}