<?php
/**
 * Plugin Name:       BW Update Server
 * Plugin URI:        https://plugins.bowden.works/
 * Description:       Serves update manifests and logs installs for Bowden Works WordPress plugins.
 * Version:           0.2.0
 * Requires at least: 6.0
 * Requires PHP:      7.4
 * Author:            Bowden Works
 * Author URI:        https://bowden.works
 * License:           GPL-2.0-or-later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:       bw-update-server
 */

defined( 'ABSPATH' ) || exit;

define( 'BW_UPDATE_SERVER_VERSION', '0.2.0' );
define( 'BW_UPDATE_SERVER_FILE', __FILE__ );
define( 'BW_UPDATE_SERVER_DIR', plugin_dir_path( __FILE__ ) );
define( 'BW_UPDATE_SERVER_URL', plugin_dir_url( __FILE__ ) );
define( 'BW_UPDATE_SERVER_UPDATES_DIR', WP_CONTENT_DIR . '/uploads/plugin-updates' );
define( 'BW_UPDATE_SERVER_UPDATES_URL', content_url( '/uploads/plugin-updates' ) );
define( 'BW_UPDATE_SERVER_DB_VERSION', '1' );

require_once BW_UPDATE_SERVER_DIR . 'includes/class-bw-update-server-installer.php';
require_once BW_UPDATE_SERVER_DIR . 'includes/class-bw-update-server-repository.php';
require_once BW_UPDATE_SERVER_DIR . 'includes/class-bw-update-server-stats.php';
require_once BW_UPDATE_SERVER_DIR . 'includes/class-bw-update-server-manifest.php';
require_once BW_UPDATE_SERVER_DIR . 'includes/class-bw-update-server-rest.php';
require_once BW_UPDATE_SERVER_DIR . 'includes/class-bw-update-server-admin.php';

register_activation_hook( __FILE__, array( 'BW_Update_Server_Installer', 'activate' ) );
register_deactivation_hook( __FILE__, array( 'BW_Update_Server_Installer', 'deactivate' ) );

add_action( 'plugins_loaded', function () {
	BW_Update_Server_Installer::maybe_upgrade();
	( new BW_Update_Server_REST() )->register();
	if ( is_admin() ) {
		( new BW_Update_Server_Admin() )->register();
	}
} );
