'zip', 'storage_location' => 'local', 'schedule_enabled' => false, 'schedule_frequency' => 'daily', 'retention_days' => 30, 'include_files' => true, 'include_database' => true, 'chunk_size' => 5, 's3_bucket' => '', 's3_access_key' => '', 's3_secret_key' => '', 's3_region' => 'us-east-1', 's3_endpoint' => '', 'email_notifications' => false, 'notification_email' => get_option('admin_email') )); } /** * Create database tables */ private static function create_database_tables() { global $wpdb; $charset_collate = $wpdb->get_charset_collate(); // Backup metadata table $backup_metadata_table = $wpdb->prefix . 'tigerstyle_backup_metadata'; $sql = "CREATE TABLE IF NOT EXISTS {$backup_metadata_table} ( id int(11) NOT NULL AUTO_INCREMENT, backup_id varchar(255) NOT NULL, storage_type varchar(50) NOT NULL, file_path text, s3_bucket varchar(255), s3_key varchar(500), s3_url text, file_size bigint(20) NOT NULL DEFAULT 0, created_at datetime NOT NULL, metadata_json text, PRIMARY KEY (id), UNIQUE KEY backup_id (backup_id), KEY storage_type (storage_type), KEY created_at (created_at) ) {$charset_collate};"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql); // Backup logs table $backup_logs_table = $wpdb->prefix . 'tigerstyle_backup_logs'; $sql = "CREATE TABLE IF NOT EXISTS {$backup_logs_table} ( id int(11) NOT NULL AUTO_INCREMENT, level varchar(20) NOT NULL, message text NOT NULL, context longtext, user_id int(11) DEFAULT 0, ip_address varchar(45), created_at datetime NOT NULL, PRIMARY KEY (id), KEY level (level), KEY created_at (created_at), KEY user_id (user_id) ) {$charset_collate};"; dbDelta($sql); } /** * Get plugin version */ public static function get_version() { return TIGERSTYLE_HEAT_VERSION; } /** * Get plugin directory path */ public static function get_plugin_dir() { return TIGERSTYLE_HEAT_PLUGIN_DIR; } /** * Get plugin URL */ public static function get_plugin_url() { return TIGERSTYLE_HEAT_PLUGIN_URL; } }