PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 2.9.6
Jetpack – WP Security, Backup, Speed, & Growth v2.9.6
15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / class.jetpack-heartbeat.php
jetpack Last commit date
3rd-party 10 years ago _inc 10 years ago languages 10 years ago modules 5 years ago views 10 years ago .svnignore 10 years ago class.jetpack-bbpress-json-api-compat.php 10 years ago class.jetpack-cli.php 10 years ago class.jetpack-client-server.php 10 years ago class.jetpack-client.php 10 years ago class.jetpack-data.php 10 years ago class.jetpack-debugger.php 10 years ago class.jetpack-error.php 10 years ago class.jetpack-heartbeat.php 10 years ago class.jetpack-ixr-client.php 10 years ago class.jetpack-network-sites-list-table.php 10 years ago class.jetpack-network.php 10 years ago class.jetpack-options.php 10 years ago class.jetpack-post-images.php 10 years ago class.jetpack-signature.php 10 years ago class.jetpack-sync.php 10 years ago class.jetpack-user-agent.php 10 years ago class.jetpack-xmlrpc-server.php 10 years ago class.jetpack.php 10 years ago class.json-api-endpoints.php 3 years ago class.json-api.php 10 years ago class.media-extractor.php 10 years ago class.media-summary.php 10 years ago class.photon.php 10 years ago composer.json 10 years ago functions.compat.php 10 years ago functions.gallery.php 10 years ago functions.opengraph.php 10 years ago functions.photon.php 10 years ago functions.twitter-cards.php 10 years ago jetpack.php 3 years ago locales.php 10 years ago readme.txt 3 years ago require-lib.php 10 years ago uninstall.php 10 years ago
class.jetpack-heartbeat.php
139 lines
1 <?php
2
3 class Jetpack_Heartbeat {
4
5 /**
6 * Holds the singleton instance of this class
7 *
8 * @since 2.3.3
9 * @var Jetpack_Heartbeat
10 */
11 static $instance = false;
12
13 private $cron_name = 'jetpack_heartbeat';
14
15 /**
16 * Singleton
17 *
18 * @since 2.3.3
19 * @static
20 * @return Jetpack_Heartbeat
21 */
22 public static function init() {
23 if ( ! self::$instance ) {
24 self::$instance = new Jetpack_Heartbeat;
25 }
26
27 return self::$instance;
28 }
29
30 /**
31 * Constructor for singleton
32 *
33 * @since 2.3.3
34 * @return Jetpack_Heartbeat
35 */
36 private function __construct() {
37 if ( ! Jetpack::is_active() )
38 return;
39
40 // Add weekly interval for wp-cron
41 add_filter( 'cron_schedules', array( $this, 'add_cron_intervals' ) );
42
43 // Schedule the task
44 add_action( $this->cron_name, array( $this, 'cron_exec' ) );
45
46 if ( ! wp_next_scheduled( $this->cron_name ) ) {
47 wp_schedule_event( time(), 'jetpack_weekly', $this->cron_name );
48 }
49 }
50
51 /**
52 * Method that gets executed on the wp-cron call
53 *
54 * @since 2.3.3
55 * @global string $wp_version
56 */
57 public function cron_exec() {
58
59 /*
60 * This should run weekly. Figuring in for variances in
61 * WP_CRON, don't let it run more than every six days at most.
62 *
63 * i.e. if it ran less than six days ago, fail out.
64 */
65 $last = (int) Jetpack_Options::get_option( 'last_heartbeat' );
66 if ( $last && ( $last + WEEK_IN_SECONDS - DAY_IN_SECONDS > time() ) ) {
67 return;
68 }
69
70 /*
71 * Check for an identity crisis
72 *
73 * If one exists:
74 * - Bump stat for ID crisis
75 * - Email site admin about potential ID crisis
76 */
77
78
79
80 /**
81 * Setup an array of items that will eventually be stringified
82 * and sent off to the Jetpack API
83 *
84 * Associative array with format group => values
85 * - values should be an array that will be imploded to a string
86 */
87
88 $jetpack = Jetpack::init();
89
90 $jetpack->stat( 'active-modules', implode( ',', $jetpack->get_active_modules() ) );
91 $jetpack->stat( 'active', JETPACK__VERSION );
92 $jetpack->stat( 'wp-version', get_bloginfo( 'version' ) );
93 $jetpack->stat( 'php-version', PHP_VERSION );
94 $jetpack->stat( 'ssl', $jetpack->permit_ssl() );
95 $jetpack->stat( 'language', get_bloginfo( 'language' ) );
96 $jetpack->stat( 'charset', get_bloginfo( 'charset' ) );
97 $jetpack->stat( 'qty-posts', wp_count_posts()->publish );
98 $jetpack->stat( 'qty-pages', wp_count_posts( 'page' )->publish );
99 $jetpack->stat( 'qty-comments', wp_count_comments()->approved );
100 $jetpack->stat( 'is-multisite', is_multisite() ? 'multisite' : 'singlesite' );
101 $jetpack->stat( 'identitycrisis', Jetpack::check_identity_crisis( 1 ) ? 'yes' : 'no' );
102
103 // Only check a few plugins, to see if they're currently active.
104 $plugins_to_check = array(
105 'vaultpress/vaultpress.php',
106 'akismet/akismet.php',
107 'wp-super-cache/wp-cache.php',
108 );
109 $plugins = array_intersect( $plugins_to_check, get_option( 'active_plugins', array() ) );
110 foreach( $plugins as $plugin ) {
111 $jetpack->stat( 'plugins', $plugin );
112 }
113
114 Jetpack_Options::update_option( 'last_heartbeat', time() );
115
116 $jetpack->do_stats( 'server_side' );
117 }
118
119 /**
120 * Adds additional Jetpack specific intervals to wp-cron
121 *
122 * @since 2.3.3
123 * @return array
124 */
125 public function add_cron_intervals( $schedules ) {
126 $schedules['jetpack_weekly'] = array(
127 'interval' => WEEK_IN_SECONDS,
128 'display' => __( 'Jetpack weekly', 'jetpack' ),
129 );
130 return $schedules;
131 }
132
133 public function deactivate() {
134 $timestamp = wp_next_scheduled( $this->cron_name );
135 wp_unschedule_event( $timestamp, $this->cron_name );
136 }
137
138 }
139