| @@ -1,0 +1,42 @@ | ||
| 1 | +<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName | |
| 2 | +/** | |
| 3 | + * WPORG_Platform class that extends SAL_Platform, returning a Jetpack_Site with a $blog_id and $token | |
| 4 | + * | |
| 5 | + * @package automattic/jetpack | |
| 6 | + */ | |
| 7 | + | |
| 8 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 9 | + exit( 0 ); | |
| 10 | +} | |
| 11 | + | |
| 12 | +require_once __DIR__ . '/class.json-api-platform.php'; | |
| 13 | + | |
| 14 | +/** | |
| 15 | + * Base class for WPORG_Platform, which extends SAL_Platform | |
| 16 | + */ | |
| 17 | +class WPORG_Platform extends SAL_Platform { | |
| 18 | + | |
| 19 | + /** | |
| 20 | + * Given a Jetpack blog ID, this function returns a Jetpack_Site instance | |
| 21 | + * | |
| 22 | + * @param int $blog_id A Jetpack blog ID. | |
| 23 | + * @return Jetpack_Site A Jetpack_Site instance including all relevant details needed to define a Jetpack site. | |
| 24 | + **/ | |
| 25 | + public function get_site( $blog_id ) { | |
| 26 | + require_once __DIR__ . '/class.json-api-site-jetpack.php'; | |
| 27 | + return new Jetpack_Site( $blog_id, $this ); | |
| 28 | + } | |
| 29 | +} | |
| 30 | + | |
| 31 | +// phpcs:disable Universal.Files.SeparateFunctionsFromOO.Mixed -- TODO: Move these functions to some other file. | |
| 32 | + | |
| 33 | +/** | |
| 34 | + * Given a token instance (with blog and user id related information), this function returns a new WPORG_Platform instance | |
| 35 | + * | |
| 36 | + * @param SAL_Token $token A token instance. | |
| 37 | + * @see class.json-api-token.php | |
| 38 | + * @return WPORG_Platform A WPORG_Platform instance including all relevant details needed to define a Jetpack site, as well as a token instance. | |
| 39 | + **/ | |
| 40 | +function wpcom_get_sal_platform( $token ) { | |
| 41 | + return new WPORG_Platform( $token ); | |
| 42 | +} | |