PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.5
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.5
16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 All 506 releases
← All changes | modules/stats.php +35 -98 16.2-beta → 16.3-a.5 View file →
@@ -21,8 +21,9 @@
21 21 use Automattic\Jetpack\Stats\Options as Stats_Options;
22 22 use Automattic\Jetpack\Stats\Tracking_Pixel as Stats_Tracking_Pixel;
23 23 use Automattic\Jetpack\Stats\WPCOM_Stats;
24 24 use Automattic\Jetpack\Stats\XMLRPC_Provider as Stats_XMLRPC;
25 +use Automattic\Jetpack\Stats_Admin\Admin_Bar as Stats_Admin_Bar;
25 26 use Automattic\Jetpack\Stats_Admin\Admin_Post_List_Column;
26 27 use Automattic\Jetpack\Stats_Admin\Dashboard as Stats_Dashboard;
27 28 use Automattic\Jetpack\Stats_Admin\Main as Stats_Main;
28 29 use Automattic\Jetpack\Status\Host;
@@ -55,21 +56,13 @@
55 56 */
56 57 function stats_load() {
57 58 Jetpack::enable_module_configurable( __FILE__ );
58 59
59 - // Only run the callback for those who can see the stats.
60 - if ( is_user_logged_in() && current_user_can( 'view_stats' ) ) {
61 - add_action( 'admin_head', 'stats_admin_bar_head', 100 );
62 - add_action( 'wp_head', 'stats_admin_bar_head', 100 );
63 - }
64 -
60 + Stats_Admin_Bar::init();
65 61 Admin_Post_List_Column::register();
66 62
67 63 add_action( 'jetpack_admin_menu', 'stats_admin_menu' );
68 - add_action( 'wp_before_admin_bar_render', 'stats_add_link_to_admin_bar_site_menu' );
69 64
70 - add_filter( 'pre_option_db_version', 'stats_ignore_db_version' );
71 -
72 65 // Filter for adding the Jetpack plugin version to tracking stats.
73 66 add_filter( 'stats_array', 'filter_stats_array_add_jp_version' );
74 67
75 68 require_once __DIR__ . '/stats/class-jetpack-stats-upgrade-nudges.php';
@@ -88,24 +81,18 @@
88 81 }
89 82
90 83 /**
91 84 * Prevent sparkline img requests being redirected to upgrade.php.
92 - * See wp-admin/admin.php where it checks $wp_db_version.
93 85 *
86 + * @deprecated 16.3
87 + *
94 88 * @access public
95 89 * @param mixed $version Version.
96 90 * @return string $version.
97 91 */
98 92 function stats_ignore_db_version( $version ) {
99 - if (
100 - is_admin() &&
101 - isset( $_GET['page'] ) && 'stats' === $_GET['page'] && // phpcs:ignore WordPress.Security.NonceVerification.Recommended
102 - isset( $_GET['chart'] ) && strpos( $_GET['chart'], 'admin-bar-hours' ) === 0 // phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput
103 - ) {
104 - global $wp_db_version;
105 - return $wp_db_version;
106 - }
107 - return $version;
93 + _deprecated_function( __FUNCTION__, 'jetpack-16.3', 'Automattic\Jetpack\Stats_Admin\Admin_Bar::ignore_db_version' );
94 + return Stats_Admin_Bar::ignore_db_version( $version );
108 95 }
109 96
110 97 /**
111 98 * Maps view_stats cap to read cap as needed.
@@ -248,9 +235,20 @@
248 235 if ( ! Stats_Options::get_option( 'enable_odyssey_stats' ) || isset( $_GET['noheader'] ) ) {
249 236 // Show old Jetpack Stats interface for:
250 237 // - When the "enable_odyssey_stats" option is disabled.
251 238 // - When being shown in the adminbar outside of wp-admin.
252 - $hook = Admin_Menu::add_menu( __( 'Stats', 'jetpack' ), __( 'Stats', 'jetpack' ), 'view_stats', 'stats', 'jetpack_admin_ui_stats_report_page_wrapper' );
239 + $hook = Admin_Menu::add_menu(
240 + __( 'Stats', 'jetpack' ),
241 + __( 'Stats', 'jetpack' ),
242 + 'view_stats',
243 + 'stats',
244 + 'jetpack_admin_ui_stats_report_page_wrapper',
245 + null,
246 + array(
247 + 'product' => 'stats',
248 + 'key' => 'jetpack-stats',
249 + )
250 + );
253 251 add_action( "load-$hook", 'stats_reports_load' );
254 252 } else {
255 253 // Enable the new Odyssey Stats experience.
256 254 Stats_Dashboard::init();
@@ -496,9 +494,9 @@
496 494 $i18n_headers = jetpack_get_module_i18n( 'stats' );
497 495 ?>
498 496 <a
499 497 style="font-size:13px;"
500 - href="<?php echo esc_url( admin_url( 'admin.php?page=jetpack#/settings?term=' . rawurlencode( $i18n_headers['name'] ?? '' ) ) ); ?>"
498 + href="<?php echo esc_url( admin_url( 'admin.php?page=jetpack-settings#/settings?term=' . rawurlencode( $i18n_headers['name'] ?? '' ) ) ); ?>"
501 499 >
502 500 <?php esc_html_e( 'Configure', 'jetpack' ); ?>
503 501 </a>
504 502 <?php
@@ -727,68 +725,30 @@
727 725
728 726 /**
729 727 * Stats Admin Bar Head.
730 728 *
729 + * @deprecated 16.3
730 + *
731 731 * @access public
732 732 * @return void
733 733 */
734 734 function stats_admin_bar_head() {
735 - // Let's not show the stats admin bar to users who are not logged in.
736 - if ( ! is_user_logged_in() ) {
737 - return;
738 - }
739 -
740 - if ( ! Stats_Options::get_option( 'admin_bar' ) ) {
741 - return;
742 - }
743 -
744 - if ( ! current_user_can( 'view_stats' ) ) {
745 - return;
746 - }
747 -
748 - if ( ! is_admin_bar_showing() ) {
749 - return;
750 - }
751 -
752 - add_action( 'admin_bar_menu', 'stats_admin_bar_menu', 100 );
753 - ?>
754 -
755 -<style data-ampdevmode type='text/css'>
756 -#wpadminbar .quicklinks li#wp-admin-bar-stats {
757 - height: 32px;
735 + _deprecated_function( __FUNCTION__, 'jetpack-16.3', 'Automattic\Jetpack\Stats_Admin\Admin_Bar::maybe_add_chart' );
736 + Stats_Admin_Bar::maybe_add_chart();
758 737 }
759 -#wpadminbar .quicklinks li#wp-admin-bar-stats a {
760 - height: 32px;
761 - padding: 0;
762 -}
763 -#wpadminbar .quicklinks li#wp-admin-bar-stats a div {
764 - height: 32px;
765 - width: 95px;
766 - overflow: hidden;
767 - margin: 0 10px;
768 -}
769 -#wpadminbar .quicklinks li#wp-admin-bar-stats a:hover div {
770 - width: auto;
771 - margin: 0 8px 0 10px;
772 -}
773 -#wpadminbar .quicklinks li#wp-admin-bar-stats a img {
774 - height: 24px;
775 - margin: 4px 0;
776 - max-width: none;
777 - border: none;
778 -}
779 -</style>
780 - <?php
781 -}
782 738
783 739 /**
784 740 * Gets the image source of the given stats chart.
785 741 *
742 + * @deprecated 16.3
743 + *
786 744 * @param string $chart Name of the chart.
787 745 * @param array $args Extra list of argument to use in the image source.
788 746 * @return string An image source.
789 747 */
790 748 function stats_get_image_chart_src( $chart, $args = array() ) {
749 + _deprecated_function( __FUNCTION__, 'jetpack-16.3', 'Automattic\Jetpack\Stats_Admin\Admin_Bar::get_chart_src' );
750 +
791 751 $url = add_query_arg( 'page', 'stats', admin_url( 'admin.php' ) );
792 752
793 753 return add_query_arg(
794 754 array_merge(
@@ -805,53 +765,30 @@
805 765
806 766 /**
807 767 * Stats AdminBar.
808 768 *
769 + * @deprecated 16.3
770 + *
809 771 * @access public
810 772 * @param mixed $wp_admin_bar WPAdminBar.
811 773 * @return void
812 774 */
813 775 function stats_admin_bar_menu( &$wp_admin_bar ) {
814 - $img_src = esc_attr( stats_get_image_chart_src( 'admin-bar-hours-scale' ) );
815 - $img_src_2x = esc_attr( stats_get_image_chart_src( 'admin-bar-hours-scale-2x' ) );
816 - $alt = esc_attr( __( 'Stats', 'jetpack' ) );
817 - $title = esc_attr( __( 'Views over 48 hours. Click for more Jetpack Stats.', 'jetpack' ) );
818 -
819 - $menu = array(
820 - 'id' => 'stats',
821 - 'href' => add_query_arg( 'page', 'stats', admin_url( 'admin.php' ) ), // no menu_page_url() blog-side.
822 - 'title' => "<div><img fetchpriority='low' loading='lazy' decoding='async' src='$img_src' srcset='$img_src 1x, $img_src_2x 2x' width='112' height='24' alt='$alt' title='$title'></div>",
823 - );
824 -
825 - $wp_admin_bar->add_menu( $menu );
776 + _deprecated_function( __FUNCTION__, 'jetpack-16.3', 'Automattic\Jetpack\Stats_Admin\Admin_Bar::add_chart_node' );
777 + Stats_Admin_Bar::add_chart_node( $wp_admin_bar );
826 778 }
827 779
828 780 /**
829 781 * Adds a Stats link to the site-name admin bar submenu, alongside Dashboard.
830 782 *
783 + * @deprecated 16.3
784 + *
831 785 * @access public
832 786 * @return void
833 787 */
834 788 function stats_add_link_to_admin_bar_site_menu() {
835 - global $wp_admin_bar;
836 -
837 - if (
838 - ! is_object( $wp_admin_bar ) ||
839 - ! $wp_admin_bar->get_node( 'dashboard' ) ||
840 - ! current_user_can( 'view_stats' ) ||
841 - ( new Host() )->is_wpcom_platform()
842 - ) {
843 - return;
844 - }
845 -
846 - $wp_admin_bar->add_node(
847 - array(
848 - 'parent' => 'site-name',
849 - 'id' => 'jetpack-stats',
850 - 'title' => __( 'Stats', 'jetpack' ),
851 - 'href' => admin_url( 'admin.php?page=stats' ),
852 - )
853 - );
789 + _deprecated_function( __FUNCTION__, 'jetpack-16.3', 'Automattic\Jetpack\Stats_Admin\Admin_Bar::add_site_menu_link' );
790 + Stats_Admin_Bar::add_site_menu_link();
854 791 }
855 792
856 793 /**
857 794 * Stats Get Blog.