| @@ -37,8 +37,16 @@ | ||
| 37 | 37 | return self::$instances[ $slug ] ?? null; |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | /** |
| 41 | + * Slugs of all host plugins running this module on the site (wpforo, wpdiscuz, ...). | |
| 42 | + * Host plugins are updated from wordpress.org and must never be handled as store addons. | |
| 43 | + */ | |
| 44 | + public static function get_host_slugs(): array { | |
| 45 | + return array_keys( self::$instances ); | |
| 46 | + } | |
| 47 | + | |
| 48 | + /** | |
| 41 | 49 | * Generate a unique site token for authenticating with the proxy server. |
| 42 | 50 | * Based on raw domain + WordPress auth salts - unique per installation, not guessable. |
| 43 | 51 | * Uses AUTH_SALT + SECURE_AUTH_SALT for maximum entropy. |
| 44 | 52 | * Falls back to NONCE_SALT or LOGGED_IN_SALT if the primary salts are missing. |