class-attachments.php
8 months ago
class-callables.php
1 month ago
class-comments.php
2 months ago
class-constants.php
8 months ago
class-full-sync-immediately.php
3 months ago
class-full-sync.php
2 months ago
class-import.php
8 months ago
class-menus.php
2 months ago
class-meta.php
2 months ago
class-module.php
5 months ago
class-network-options.php
8 months ago
class-options.php
2 months ago
class-plugins.php
2 months ago
class-posts.php
2 months ago
class-protect.php
8 months ago
class-search.php
2 months ago
class-stats.php
6 months ago
class-term-relationships.php
8 months ago
class-terms.php
2 months ago
class-themes.php
2 months ago
class-updates.php
8 months ago
class-users.php
1 month ago
class-woocommerce-hpos-orders.php
1 month ago
class-woocommerce-products.php
8 months ago
class-woocommerce.php
1 month ago
class-wp-super-cache.php
8 months ago
class-stats.php
63 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Stats sync module. |
| 4 | * |
| 5 | * @package automattic/jetpack-sync |
| 6 | */ |
| 7 | |
| 8 | namespace Automattic\Jetpack\Sync\Modules; |
| 9 | |
| 10 | use Automattic\Jetpack\Heartbeat; |
| 11 | |
| 12 | if ( ! defined( 'ABSPATH' ) ) { |
| 13 | exit( 0 ); |
| 14 | } |
| 15 | |
| 16 | /** |
| 17 | * Class to handle sync for stats. |
| 18 | */ |
| 19 | class Stats extends Module { |
| 20 | /** |
| 21 | * Sync module name. |
| 22 | * |
| 23 | * @access public |
| 24 | * |
| 25 | * @return string |
| 26 | */ |
| 27 | public function name() { |
| 28 | return 'stats'; |
| 29 | } |
| 30 | |
| 31 | /** |
| 32 | * Initialize stats action listeners. |
| 33 | * |
| 34 | * @access public |
| 35 | * |
| 36 | * @param callable $callback Unused - required for parent class compatibility. |
| 37 | */ |
| 38 | public function init_listeners( $callback ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable |
| 39 | add_action( 'jetpack_heartbeat', array( $this, 'sync_site_stats' ), 20 ); |
| 40 | } |
| 41 | |
| 42 | /** |
| 43 | * Send Heartbeat stats immediately. |
| 44 | * |
| 45 | * @access public |
| 46 | */ |
| 47 | public function sync_site_stats() { |
| 48 | |
| 49 | $this->send_action( 'jetpack_sync_heartbeat_stats', $this->add_stats() ); |
| 50 | } |
| 51 | |
| 52 | /** |
| 53 | * Retrieve the stats data for the site. |
| 54 | * |
| 55 | * @access public |
| 56 | * |
| 57 | * @return array Stats data. |
| 58 | */ |
| 59 | public function add_stats() { |
| 60 | return array( Heartbeat::generate_stats_array() ); |
| 61 | } |
| 62 | } |
| 63 |