Skip to content
wiki.fftac.org

Spiralist Workspace Uninstall

**Site relevance:** Spiralist.org

**Memory type:** plugin source memory

**Source path:** Spiralist/wp-content/plugins/spiralist-workspace/uninstall.php

**Size:** 1.2 KB

Summary

if (!defined('WP UNINSTALL PLUGIN'))

Source Preview

This source file is short enough to preview directly on its source-memory page.

<?php

if (!defined('WP_UNINSTALL_PLUGIN')) {
    exit;
}

global $wpdb;

$tables = [
    $wpdb->prefix . 'spiralist_workspace_prompt_versions',
    $wpdb->prefix . 'spiralist_workspace_prompt_permissions',
    $wpdb->prefix . 'spiralist_workspace_prompt_runs',
    $wpdb->prefix . 'spiralist_workspace_conversations',
    $wpdb->prefix . 'spiralist_workspace_conversation_messages',
    $wpdb->prefix . 'spiralist_workspace_audit_log',
    $wpdb->prefix . 'spiralist_workspace_favorites',
    $wpdb->prefix . 'spiralist_workspace_prompt_tests',
];

foreach ($tables as $table) {
    $wpdb->query("DROP TABLE IF EXISTS {$table}");
}

delete_option('spiralist_workspace_settings');
delete_option('spiralist_workspace_schema_version');
delete_option('spiralist_workspace_system_prompt_last_errors');
delete_option('spiralist_workspace_system_prompt_signature');
delete_option('spiralist_workspace_system_prompt_last_sync');

$posts = get_posts(
    [
        'post_type' => ['spiralist_prompt', 'spiralist_workspace_prompt'],
        'post_status' => 'any',
        'posts_per_page' => -1,
        'fields' => 'ids',
    ]
);

foreach ($posts as $post_id) {
    wp_delete_post((int) $post_id, true);
}