diff --git a/inc/activities.php b/inc/activities.php index 87c5612..6976b15 100644 --- a/inc/activities.php +++ b/inc/activities.php @@ -85,24 +85,4 @@ function create_local_activity( $activity ) { } return $activity; } - -function create_activities_table() { - global $wpdb; - $wpdb->query( - " - CREATE TABLE IF NOT EXISTS pterotype_activitypub_activities ( - id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, - activitypub_id VARCHAR(255) UNIQUE NOT NULL, - activity TEXT NOT NULL - ) - ENGINE=InnoDB DEFAULT CHARSET=utf8; - " - ); - $wpdb->query( - " - CREATE UNIQUE INDEX ACTIVITIES_ACTIVITYPUB_ID_INDEX - ON pterotype_activitypub_activities (activitypub_id); - " - ); -} ?> diff --git a/inc/actors.php b/inc/actors.php index ea42643..f028cd5 100644 --- a/inc/actors.php +++ b/inc/actors.php @@ -61,20 +61,6 @@ function get_user_actor( $user ) { return $actor; } -function create_actors_table() { - global $wpdb; - $wpdb->query( - " - CREATE TABLE IF NOT EXISTS pterotype_activitypub_actors( - id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, - slug VARCHAR(64) UNIQUE NOT NULL, - type VARCHAR(64) NOT NULL - ) - ENGINE=InnoDB DEFAULT CHARSET=utf8; - " - ); -} - /* For every user in the WP instance, create a new actor row for that user if it doesn't already exist diff --git a/inc/blocks.php b/inc/blocks.php index 62fe807..f1ddff3 100644 --- a/inc/blocks.php +++ b/inc/blocks.php @@ -17,19 +17,4 @@ function create_block( $actor_id, $blocked_actor_url ) { return new \WP_Error( 'db_error', __( 'Error inserting block row', 'pterotype' ) ); } } - -function create_blocks_table() { - global $wpdb; - $wpdb->query( - " - CREATE TABLE IF NOT EXISTS pterotype_activitypub_blocks( - actor_id INT UNSIGNED NOT NULL, - blocked_actor_url TEXT NOT NULL, - FOREIGN KEY blocks_actor_fk(actor_id) - REFERENCES pterotype_activitypub_actors(id) - ) - ENGINE=InnoDB DEFAULT CHARSET=utf8; - " - ); -} ?> diff --git a/inc/db.php b/inc/db.php new file mode 100644 index 0000000..d0a95aa --- /dev/null +++ b/inc/db.php @@ -0,0 +1,120 @@ +query( + " + CREATE TABLE pterotype_activitypub_activities ( + id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, + activitypub_id VARCHAR(255) UNIQUE NOT NULL, + activity TEXT NOT NULL + ) + ENGINE=InnoDB DEFAULT CHARSET=utf8; + " + ); + $wpdb->query( + " + CREATE UNIQUE INDEX ACTIVITIES_ACTIVITYPUB_ID_INDEX + ON pterotype_activitypub_activities (activitypub_id); + " + ); + $wpdb->query( + " + CREATE TABLE pterotype_activitypub_objects ( + id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, + activitypub_id VARCHAR(255) UNIQUE NOT NULL, + object TEXT NOT NULL + ) + ENGINE=InnoDB DEFAULT CHARSET=utf8; + " + ); + $wpdb->query( + " + CREATE UNIQUE INDEX OBJECT_ACTIVITYPUB_ID_INDEX + ON pterotype_activitypub_objects (activitypub_id); + " + ); + $wpdb->query( + " + CREATE TABLE pterotype_activitypub_outbox ( + id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, + actor_id INT UNSIGNED NOT NULL, + activity_id INT UNSIGNED NOT NULL, + FOREIGN KEY outbox_activity_fk(activity_id) + REFERENCES pterotype_activitypub_activities(id) + ) + ENGINE=InnoDB DEFAULT CHARSET=utf8; + " + ); + $wpdb->query( + " + CREATE TABLE pterotype_activitypub_actors( + id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, + slug VARCHAR(64) UNIQUE NOT NULL, + type VARCHAR(64) NOT NULL + ) + ENGINE=InnoDB DEFAULT CHARSET=utf8; + " + ); + $wpdb->query( + " + CREATE TABLE pterotype_activitypub_likes ( + actor_id INT UNSIGNED NOT NULL, + object_id INT UNSIGNED NOT NULL, + PRIMARY KEY (actor_id, object_id), + FOREIGN KEY likes_actor_fk(actor_id) + REFERENCES pterotype_activitypub_actors(id), + FOREIGN KEY likes_object_fk(object_id) + REFERENCES pterotype_activitypub_objects(id) + ) + ENGINE=InnoDB DEFAULT CHARSET=utf8; + " + ); + $wpdb->query( + " + CREATE TABLE pterotype_activitypub_following( + actor_id INT UNSIGNED NOT NULL, + object_id INT UNSIGNED NOT NULL, + state VARCHAR(64) NOT NULL, + PRIMARY KEY (actor_id, object_id), + FOREIGN KEY following_actor_fk(actor_id) + REFERENCES pterotype_activitypub_actors(id), + FOREIGN KEY following_object_fk(object_id) + REFERENCES pterotype_activitypub_objects(id) + ) + ENGINE=InnoDB DEFAULT CHARSET=utf8; + " + ); + $wpdb->query( + " + CREATE TABLE pterotype_activitypub_blocks( + actor_id INT UNSIGNED NOT NULL, + blocked_actor_url TEXT NOT NULL, + FOREIGN KEY blocks_actor_fk(actor_id) + REFERENCES pterotype_activitypub_actors(id) + ) + ENGINE=InnoDB DEFAULT CHARSET=utf8; + " + ); +} +?> diff --git a/inc/following.php b/inc/following.php index 2bdcb9e..dbe108c 100644 --- a/inc/following.php +++ b/inc/following.php @@ -14,23 +14,4 @@ function request_follow( $actor_id, $object_id ) { ) ); } - -function create_following_table() { - global $wpdb; - $wpdb->query( - " - CREATE TABLE IF NOT EXISTS pterotype_activitypub_following( - actor_id INT UNSIGNED NOT NULL, - object_id INT UNSIGNED NOT NULL, - state VARCHAR(64) NOT NULL, - PRIMARY KEY (actor_id, object_id), - FOREIGN KEY following_actor_fk(actor_id) - REFERENCES pterotype_activitypub_actors(id), - FOREIGN KEY following_object_fk(object_id) - REFERENCES pterotype_activitypub_objects(id) - ) - ENGINE=InnoDB DEFAULT CHARSET=utf8; - " - ); -} ?> diff --git a/inc/init.php b/inc/init.php index e40b9d8..c224427 100644 --- a/inc/init.php +++ b/inc/init.php @@ -1,14 +1,9 @@ diff --git a/inc/likes.php b/inc/likes.php index b25dae4..480944c 100644 --- a/inc/likes.php +++ b/inc/likes.php @@ -7,22 +7,4 @@ function create_like( $actor_id, $object_id ) { 'pterotype_activitypub_likes', array( 'actor_id' => $actor_id, 'object_id' => $object_id ) ); } - -function create_likes_table() { - global $wpdb; - $wpdb->query( - " - CREATE TABLE IF NOT EXISTS pterotype_activitypub_likes ( - actor_id INT UNSIGNED NOT NULL, - object_id INT UNSIGNED NOT NULL, - PRIMARY KEY (actor_id, object_id), - FOREIGN KEY likes_actor_fk(actor_id) - REFERENCES pterotype_activitypub_actors(id), - FOREIGN KEY likes_object_fk(object_id) - REFERENCES pterotype_activitypub_objects(id) - ) - ENGINE=InnoDB DEFAULT CHARSET=utf8; - " - ); -} ?> diff --git a/inc/objects.php b/inc/objects.php index 1d64828..e0c1285 100644 --- a/inc/objects.php +++ b/inc/objects.php @@ -142,24 +142,4 @@ function delete_object( $object ) { } return $res; } - -function create_object_table() { - global $wpdb; - $wpdb->query( - " - CREATE TABLE IF NOT EXISTS pterotype_activitypub_objects ( - id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, - activitypub_id VARCHAR(255) UNIQUE NOT NULL, - object TEXT NOT NULL - ) - ENGINE=InnoDB DEFAULT CHARSET=utf8; - " - ); - $wpdb->query( - " - CREATE UNIQUE INDEX OBJECT_ACTIVITYPUB_ID_INDEX - ON pterotype_activitypub_objects (activitypub_id); - " - ); -} ?> diff --git a/inc/outbox.php b/inc/outbox.php index bd0e6bb..459d73f 100644 --- a/inc/outbox.php +++ b/inc/outbox.php @@ -146,20 +146,4 @@ function wrap_object_in_create( $actor_slug, $object ) { ); return $activity; } - -function create_outbox_table() { - global $wpdb; - $wpdb->query( - " - CREATE TABLE IF NOT EXISTS pterotype_activitypub_outbox ( - id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, - actor_id INT UNSIGNED NOT NULL, - activity_id INT UNSIGNED NOT NULL, - FOREIGN KEY outbox_activity_fk(activity_id) - REFERENCES pterotype_activitypub_activities(id) - ) - ENGINE=InnoDB DEFAULT CHARSET=utf8; - " - ); -} ?> diff --git a/pterotype.php b/pterotype.php index ce0fb1e..d711fca 100644 --- a/pterotype.php +++ b/pterotype.php @@ -4,7 +4,10 @@ Plugin Name: Pterotype */ require_once plugin_dir_path( __FILE__ ) . 'inc/init.php'; +define( 'PTEROTYPE_VERSION' '0.0.1' ); + function pterotype_init() { + update_option( 'pterotype_version', PTEROTYPE_VERSION ); do_action( 'pterotype_init' ); }