Automattic /
jetpack
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | |||
| 3 | use Automattic\Jetpack\Status; |
||
| 4 | |||
| 5 | // Shared logic between Jetpack admin pages |
||
| 6 | abstract class Jetpack_Admin_Page { |
||
| 7 | // Add page specific actions given the page hook |
||
| 8 | abstract function add_page_actions( $hook ); |
||
| 9 | |||
| 10 | // Create a menu item for the page and returns the hook |
||
| 11 | abstract function get_page_hook(); |
||
| 12 | |||
| 13 | // Enqueue and localize page specific scripts |
||
| 14 | abstract function page_admin_scripts(); |
||
| 15 | |||
| 16 | // Render page specific HTML |
||
| 17 | abstract function page_render(); |
||
| 18 | |||
| 19 | /** |
||
| 20 | * Should we block the page rendering because the site is in IDC? |
||
| 21 | * |
||
| 22 | * @var bool |
||
| 23 | */ |
||
| 24 | static $block_page_rendering_for_idc; |
||
| 25 | |||
| 26 | /** |
||
| 27 | * Function called after admin_styles to load any additional needed styles. |
||
| 28 | * |
||
| 29 | * @since 4.3.0 |
||
| 30 | */ |
||
| 31 | function additional_styles() {} |
||
| 32 | |||
| 33 | /** |
||
| 34 | * The constructor. |
||
| 35 | */ |
||
| 36 | public function __construct() { |
||
| 37 | add_action( 'jetpack_loaded', array( $this, 'on_jetpack_loaded' ) ); |
||
| 38 | } |
||
| 39 | |||
| 40 | /** |
||
| 41 | * Runs on Jetpack being ready to load its packages. |
||
| 42 | * |
||
| 43 | * @param Jetpack $jetpack object. |
||
| 44 | */ |
||
| 45 | public function on_jetpack_loaded( $jetpack ) { |
||
| 46 | $this->jetpack = $jetpack; |
||
| 47 | |||
| 48 | self::$block_page_rendering_for_idc = ( |
||
| 49 | Jetpack::validate_sync_error_idc_option() && ! Jetpack_Options::get_option( 'safe_mode_confirmed' ) |
||
| 50 | ); |
||
| 51 | } |
||
| 52 | |||
| 53 | function add_actions() { |
||
| 54 | global $pagenow; |
||
| 55 | |||
| 56 | $is_development_mode = ( new Status() )->is_development_mode(); |
||
| 57 | // If user is not an admin and site is in Dev Mode or not connected yet then don't do anything. |
||
| 58 | if ( ! current_user_can( 'manage_options' ) && ( $is_development_mode || ! Jetpack::is_active() ) ) { |
||
| 59 | return; |
||
| 60 | } |
||
| 61 | |||
| 62 | // Don't add in the modules page unless modules are available! |
||
| 63 | if ( $this->dont_show_if_not_active && ! Jetpack::is_active() && ! $is_development_mode ) { |
||
| 64 | return; |
||
| 65 | } |
||
| 66 | |||
| 67 | // Initialize menu item for the page in the admin |
||
| 68 | $hook = $this->get_page_hook(); |
||
| 69 | |||
| 70 | // Attach hooks common to all Jetpack admin pages based on the created |
||
| 71 | // hook |
||
| 72 | add_action( "load-$hook", array( $this, 'admin_help' ) ); |
||
| 73 | add_action( "load-$hook", array( $this, 'admin_page_load' ) ); |
||
| 74 | add_action( "admin_print_styles-$hook", array( $this, 'admin_styles' ) ); |
||
| 75 | add_action( "admin_print_scripts-$hook", array( $this, 'admin_scripts' ) ); |
||
| 76 | |||
| 77 | if ( ! self::$block_page_rendering_for_idc ) { |
||
| 78 | add_action( "admin_print_styles-$hook", array( $this, 'additional_styles' ) ); |
||
| 79 | } |
||
| 80 | // If someone just activated Jetpack, let's show them a fullscreen connection banner. |
||
| 81 | if ( |
||
| 82 | ( 'admin.php' === $pagenow && isset( $_GET['page'] ) && 'jetpack' === $_GET['page'] ) |
||
| 83 | && ! Jetpack::is_active() |
||
| 84 | && current_user_can( 'jetpack_connect' ) |
||
| 85 | && ! $is_development_mode |
||
| 86 | ) { |
||
| 87 | add_action( 'admin_enqueue_scripts', array( 'Jetpack_Connection_Banner', 'enqueue_banner_scripts' ) ); |
||
| 88 | add_action( 'admin_enqueue_scripts', array( 'Jetpack_Connection_Banner', 'enqueue_connect_button_scripts' ) ); |
||
| 89 | add_action( 'admin_print_styles', array( Jetpack::init(), 'admin_banner_styles' ) ); |
||
| 90 | add_action( 'admin_notices', array( 'Jetpack_Connection_Banner', 'render_connect_prompt_full_screen' ) ); |
||
| 91 | delete_transient( 'activated_jetpack' ); |
||
| 92 | } |
||
| 93 | |||
| 94 | // If Jetpack not yet connected, but user is viewing one of the pages with a Jetpack connection banner. |
||
| 95 | if ( |
||
| 96 | ( 'index.php' === $pagenow || 'plugins.php' === $pagenow ) |
||
| 97 | && ! Jetpack::is_active() |
||
| 98 | && current_user_can( 'jetpack_connect' ) |
||
| 99 | && ! $is_development_mode |
||
| 100 | ) { |
||
| 101 | add_action( 'admin_enqueue_scripts', array( 'Jetpack_Connection_Banner', 'enqueue_connect_button_scripts' ) ); |
||
| 102 | } |
||
| 103 | |||
| 104 | // Check if the site plan changed and deactivate modules accordingly. |
||
| 105 | add_action( 'current_screen', array( $this, 'check_plan_deactivate_modules' ) ); |
||
| 106 | |||
| 107 | // Attach page specific actions in addition to the above |
||
| 108 | $this->add_page_actions( $hook ); |
||
| 109 | } |
||
| 110 | |||
| 111 | // Render the page with a common top and bottom part, and page specific content |
||
| 112 | function render() { |
||
| 113 | // We're in an IDC: we need a decision made before we show the UI again. |
||
| 114 | if ( self::$block_page_rendering_for_idc ) { |
||
| 115 | return; |
||
| 116 | } |
||
| 117 | |||
| 118 | // Check if we are looking at the main dashboard |
||
| 119 | if ( isset( $_GET['page'] ) && 'jetpack' === $_GET['page'] ) { |
||
| 120 | $this->page_render(); |
||
| 121 | return; |
||
| 122 | } |
||
| 123 | self::wrap_ui( array( $this, 'page_render' ) ); |
||
| 124 | } |
||
| 125 | |||
| 126 | function admin_help() { |
||
| 127 | $this->jetpack->admin_help(); |
||
| 128 | } |
||
| 129 | |||
| 130 | function admin_page_load() { |
||
| 131 | // This is big. For the moment, just call the existing one. |
||
| 132 | $this->jetpack->admin_page_load(); |
||
| 133 | } |
||
| 134 | |||
| 135 | // Add page specific scripts and jetpack stats for all menu pages |
||
| 136 | function admin_scripts() { |
||
| 137 | $this->page_admin_scripts(); // Delegate to inheriting class |
||
| 138 | add_action( 'admin_footer', array( $this->jetpack, 'do_stats' ) ); |
||
| 139 | } |
||
| 140 | |||
| 141 | // Enqueue the Jetpack admin stylesheet |
||
| 142 | function admin_styles() { |
||
| 143 | $min = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; |
||
| 144 | |||
| 145 | wp_enqueue_style( 'jetpack-admin', plugins_url( "css/jetpack-admin{$min}.css", JETPACK__PLUGIN_FILE ), array( 'genericons' ), JETPACK__VERSION . '-20121016' ); |
||
| 146 | wp_style_add_data( 'jetpack-admin', 'rtl', 'replace' ); |
||
| 147 | wp_style_add_data( 'jetpack-admin', 'suffix', $min ); |
||
| 148 | } |
||
| 149 | |||
| 150 | /** |
||
| 151 | * Checks if REST API is enabled. |
||
| 152 | * |
||
| 153 | * @since 4.4.2 |
||
| 154 | * |
||
| 155 | * @return bool |
||
| 156 | */ |
||
| 157 | function is_rest_api_enabled() { |
||
| 158 | return /** This filter is documented in wp-includes/rest-api/class-wp-rest-server.php */ |
||
| 159 | apply_filters( 'rest_enabled', true ) && |
||
| 160 | /** This filter is documented in wp-includes/rest-api/class-wp-rest-server.php */ |
||
| 161 | apply_filters( 'rest_jsonp_enabled', true ) && |
||
| 162 | /** This filter is documented in wp-includes/rest-api/class-wp-rest-server.php */ |
||
| 163 | apply_filters( 'rest_authentication_errors', true ); |
||
| 164 | } |
||
| 165 | |||
| 166 | /** |
||
| 167 | * Checks the site plan and deactivates modules that were active but are no longer included in the plan. |
||
| 168 | * |
||
| 169 | * @since 4.4.0 |
||
| 170 | * |
||
| 171 | * @param $page |
||
| 172 | * |
||
| 173 | * @return array |
||
| 174 | */ |
||
| 175 | function check_plan_deactivate_modules( $page ) { |
||
| 176 | if ( |
||
| 177 | ( new Status() )->is_development_mode() |
||
| 178 | || ! in_array( |
||
| 179 | $page->base, |
||
| 180 | array( |
||
| 181 | 'toplevel_page_jetpack', |
||
| 182 | 'admin_page_jetpack_modules', |
||
| 183 | 'jetpack_page_vaultpress', |
||
| 184 | 'jetpack_page_stats', |
||
| 185 | 'jetpack_page_akismet-key-config', |
||
| 186 | ) |
||
| 187 | ) |
||
| 188 | ) { |
||
| 189 | return false; |
||
| 190 | } |
||
| 191 | |||
| 192 | $current = Jetpack_Plan::get(); |
||
| 193 | |||
| 194 | $to_deactivate = array(); |
||
| 195 | if ( isset( $current['product_slug'] ) ) { |
||
| 196 | $active = Jetpack::get_active_modules(); |
||
| 197 | switch ( $current['product_slug'] ) { |
||
| 198 | View Code Duplication | case 'jetpack_free': |
|
| 199 | $to_deactivate = array( 'seo-tools', 'videopress', 'google-analytics', 'wordads', 'search' ); |
||
| 200 | break; |
||
| 201 | case 'jetpack_personal': |
||
| 202 | View Code Duplication | case 'jetpack_personal_monthly': |
|
| 203 | $to_deactivate = array( 'seo-tools', 'videopress', 'google-analytics', 'wordads', 'search' ); |
||
| 204 | break; |
||
| 205 | case 'jetpack_premium': |
||
| 206 | case 'jetpack_premium_monthly': |
||
| 207 | $to_deactivate = array( 'seo-tools', 'google-analytics', 'search' ); |
||
| 208 | break; |
||
| 209 | } |
||
| 210 | $to_deactivate = array_intersect( $active, $to_deactivate ); |
||
| 211 | |||
| 212 | $to_leave_enabled = array(); |
||
| 213 | foreach ( $to_deactivate as $feature ) { |
||
| 214 | if ( Jetpack_Plan::supports( $feature ) ) { |
||
| 215 | $to_leave_enabled [] = $feature; |
||
| 216 | } |
||
| 217 | } |
||
| 218 | $to_deactivate = array_diff( $to_deactivate, $to_leave_enabled ); |
||
| 219 | |||
| 220 | if ( ! empty( $to_deactivate ) ) { |
||
| 221 | Jetpack::update_active_modules( array_filter( array_diff( $active, $to_deactivate ) ) ); |
||
| 222 | } |
||
| 223 | } |
||
| 224 | return array( |
||
| 225 | 'current' => $current, |
||
| 226 | 'deactivate' => $to_deactivate, |
||
| 227 | ); |
||
| 228 | } |
||
| 229 | |||
| 230 | static function load_wrapper_styles() { |
||
| 231 | $rtl = is_rtl() ? '.rtl' : ''; |
||
| 232 | wp_enqueue_style( 'dops-css', plugins_url( "_inc/build/admin{$rtl}.css", JETPACK__PLUGIN_FILE ), array(), JETPACK__VERSION ); |
||
| 233 | wp_enqueue_style( 'components-css', plugins_url( "_inc/build/style.min{$rtl}.css", JETPACK__PLUGIN_FILE ), array(), JETPACK__VERSION ); |
||
| 234 | $custom_css = ' |
||
| 235 | #wpcontent { |
||
| 236 | padding-left: 0 !important; |
||
| 237 | } |
||
| 238 | #wpbody-content { |
||
| 239 | background-color: #f6f6f6; |
||
| 240 | } |
||
| 241 | |||
| 242 | #jp-plugin-container .wrap { |
||
| 243 | margin: 0 auto; |
||
| 244 | max-width:45rem; |
||
| 245 | padding: 0 1.5rem; |
||
| 246 | } |
||
| 247 | #jp-plugin-container.is-wide .wrap { |
||
| 248 | max-width: 1040px; |
||
| 249 | } |
||
| 250 | #jp-plugin-container .wrap .jetpack-wrap-container { |
||
| 251 | margin-top: 1em; |
||
| 252 | } |
||
| 253 | .wp-admin #dolly { |
||
| 254 | float: none; |
||
| 255 | position: relative; |
||
| 256 | right: 0; |
||
| 257 | left: 0; |
||
| 258 | top: 0; |
||
| 259 | padding: .625rem; |
||
| 260 | text-align: right; |
||
| 261 | background: #fff; |
||
| 262 | font-size: .75rem; |
||
| 263 | font-style: italic; |
||
| 264 | color: #87a6bc; |
||
| 265 | border-bottom: 1px #e9eff3 solid; |
||
| 266 | } |
||
| 267 | '; |
||
| 268 | wp_add_inline_style( 'dops-css', $custom_css ); |
||
| 269 | } |
||
| 270 | |||
| 271 | public static function wrap_ui( $callback, $args = array() ) { |
||
| 272 | $defaults = array( |
||
| 273 | 'is-wide' => false, |
||
| 274 | 'show-nav' => true, |
||
| 275 | ); |
||
| 276 | $args = wp_parse_args( $args, $defaults ); |
||
| 277 | $jetpack_admin_url = admin_url( 'admin.php?page=jetpack' ); |
||
| 278 | $jetpack_about_url = ( Jetpack::is_active() || Jetpack::is_development_mode() ) |
||
|
0 ignored issues
–
show
|
|||
| 279 | ? admin_url( 'admin.php?page=jetpack_about' ) |
||
| 280 | : 'https://jetpack.com'; |
||
| 281 | |||
| 282 | $jetpack_privacy_url = ( Jetpack::is_active() || Jetpack::is_development_mode() ) |
||
|
0 ignored issues
–
show
The method
Jetpack::is_development_mode() has been deprecated with message: since 8.0.
This method has been deprecated. The supplier of the class has supplied an explanatory message. The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead. Loading history...
|
|||
| 283 | ? $jetpack_admin_url . '#/privacy' |
||
| 284 | : 'https://automattic.com/privacy/'; |
||
| 285 | |||
| 286 | ?> |
||
| 287 | <div id="jp-plugin-container" class=" |
||
| 288 | <?php |
||
| 289 | if ( $args['is-wide'] ) { |
||
| 290 | echo 'is-wide'; } |
||
| 291 | ?> |
||
| 292 | "> |
||
| 293 | |||
| 294 | <div class="jp-masthead"> |
||
| 295 | <div class="jp-masthead__inside-container"> |
||
| 296 | <div class="jp-masthead__logo-container"> |
||
| 297 | <a class="jp-masthead__logo-link" href="<?php echo esc_url( $jetpack_admin_url ); ?>"> |
||
| 298 | <svg class="jetpack-logo__masthead" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" height="32" viewBox="0 0 118 32"><path fill="#00BE28" d="M16,0C7.2,0,0,7.2,0,16s7.2,16,16,16s16-7.2,16-16S24.8,0,16,0z M15,19H7l8-16V19z M17,29V13h8L17,29z"></path><path d="M41.3,26.6c-0.5-0.7-0.9-1.4-1.3-2.1c2.3-1.4,3-2.5,3-4.6V8h-3V6h6v13.4C46,22.8,45,24.8,41.3,26.6z"></path><path d="M65,18.4c0,1.1,0.8,1.3,1.4,1.3c0.5,0,2-0.2,2.6-0.4v2.1c-0.9,0.3-2.5,0.5-3.7,0.5c-1.5,0-3.2-0.5-3.2-3.1V12H60v-2h2.1V7.1 H65V10h4v2h-4V18.4z"></path><path d="M71,10h3v1.3c1.1-0.8,1.9-1.3,3.3-1.3c2.5,0,4.5,1.8,4.5,5.6s-2.2,6.3-5.8,6.3c-0.9,0-1.3-0.1-2-0.3V28h-3V10z M76.5,12.3 c-0.8,0-1.6,0.4-2.5,1.2v5.9c0.6,0.1,0.9,0.2,1.8,0.2c2,0,3.2-1.3,3.2-3.9C79,13.4,78.1,12.3,76.5,12.3z"></path><path d="M93,22h-3v-1.5c-0.9,0.7-1.9,1.5-3.5,1.5c-1.5,0-3.1-1.1-3.1-3.2c0-2.9,2.5-3.4,4.2-3.7l2.4-0.3v-0.3c0-1.5-0.5-2.3-2-2.3 c-0.7,0-2.3,0.5-3.7,1.1L84,11c1.2-0.4,3-1,4.4-1c2.7,0,4.6,1.4,4.6,4.7L93,22z M90,16.4l-2.2,0.4c-0.7,0.1-1.4,0.5-1.4,1.6 c0,0.9,0.5,1.4,1.3,1.4s1.5-0.5,2.3-1V16.4z"></path><path d="M104.5,21.3c-1.1,0.4-2.2,0.6-3.5,0.6c-4.2,0-5.9-2.4-5.9-5.9c0-3.7,2.3-6,6.1-6c1.4,0,2.3,0.2,3.2,0.5V13 c-0.8-0.3-2-0.6-3.2-0.6c-1.7,0-3.2,0.9-3.2,3.6c0,2.9,1.5,3.8,3.3,3.8c0.9,0,1.9-0.2,3.2-0.7V21.3z"></path><path d="M110,15.2c0.2-0.3,0.2-0.8,3.8-5.2h3.7l-4.6,5.7l5,6.3h-3.7l-4.2-5.8V22h-3V6h3V15.2z"></path><path d="M58.5,21.3c-1.5,0.5-2.7,0.6-4.2,0.6c-3.6,0-5.8-1.8-5.8-6c0-3.1,1.9-5.9,5.5-5.9s4.9,2.5,4.9,4.9c0,0.8,0,1.5-0.1,2h-7.3 c0.1,2.5,1.5,2.8,3.6,2.8c1.1,0,2.2-0.3,3.4-0.7C58.5,19,58.5,21.3,58.5,21.3z M56,15c0-1.4-0.5-2.9-2-2.9c-1.4,0-2.3,1.3-2.4,2.9 C51.6,15,56,15,56,15z"></path></svg> |
||
| 299 | </a> |
||
| 300 | </div> |
||
| 301 | <?php |
||
| 302 | if ( $args['show-nav'] ) : |
||
| 303 | ?> |
||
| 304 | <div class="jp-masthead__nav"> |
||
| 305 | <?php |
||
| 306 | if ( is_network_admin() ) { |
||
| 307 | $current_screen = get_current_screen(); |
||
| 308 | |||
| 309 | $highlight_current_sites = ( 'toplevel_page_jetpack-network' === $current_screen->id ? 'is-primary' : '' ); |
||
| 310 | $highlight_current_settings = ( 'jetpack_page_jetpack-settings-network' === $current_screen->id ? 'is-primary' : '' ); |
||
| 311 | ?> |
||
| 312 | <span class="dops-button-group"> |
||
| 313 | <?php |
||
| 314 | View Code Duplication | if ( current_user_can( 'jetpack_network_sites_page' ) ) { |
|
| 315 | ?> |
||
| 316 | <a href="<?php echo esc_url( network_admin_url( 'admin.php?page=jetpack' ) ); ?>" type="button" class="<?php echo esc_attr( $highlight_current_sites ); ?> dops-button is-compact" title="<?php esc_html_e( "Manage your network's Jetpack Sites.", 'jetpack' ); ?>"><?php echo esc_html_x( 'Sites', 'Navigation item', 'jetpack' ); ?></a> |
||
| 317 | <?php |
||
| 318 | } if ( current_user_can( 'jetpack_network_settings_page' ) ) { |
||
| 319 | ?> |
||
| 320 | <a href="<?php echo esc_url( network_admin_url( 'admin.php?page=jetpack-settings' ) ); ?>" type="button" class="<?php echo esc_attr( $highlight_current_settings ); ?> dops-button is-compact" title="<?php esc_html_e( "Manage your network's Jetpack Sites.", 'jetpack' ); ?>"><?php echo esc_html_x( 'Network Settings', 'Navigation item', 'jetpack' ); ?></a> |
||
| 321 | <?php |
||
| 322 | } |
||
| 323 | ?> |
||
| 324 | </span> |
||
| 325 | <?php } else { ?> |
||
| 326 | <span class="dops-button-group"> |
||
| 327 | <a href="<?php echo esc_url( $jetpack_admin_url ); ?>" type="button" class="dops-button is-compact"><?php esc_html_e( 'Dashboard', 'jetpack' ); ?></a> |
||
| 328 | <?php |
||
| 329 | if ( current_user_can( 'jetpack_manage_modules' ) ) { |
||
| 330 | ?> |
||
| 331 | <a href="<?php echo esc_url( $jetpack_admin_url . '#/settings' ); ?>" type="button" class="dops-button is-compact"><?php esc_html_e( 'Settings', 'jetpack' ); ?></a> |
||
| 332 | <?php |
||
| 333 | } |
||
| 334 | ?> |
||
| 335 | </span> |
||
| 336 | <?php } ?> |
||
| 337 | </div> |
||
| 338 | <?php endif; ?> |
||
| 339 | </div> |
||
| 340 | </div> |
||
| 341 | <div class="wrap"><div id="jp-admin-notices" aria-live="polite"></div></div> |
||
| 342 | <!-- START OF CALLBACK --> |
||
| 343 | <?php |
||
| 344 | ob_start(); |
||
| 345 | call_user_func( $callback ); |
||
| 346 | $callback_ui = ob_get_contents(); |
||
| 347 | ob_end_clean(); |
||
| 348 | echo $callback_ui; |
||
| 349 | ?> |
||
| 350 | <!-- END OF CALLBACK --> |
||
| 351 | |||
| 352 | <div class="jp-footer"> |
||
| 353 | <div class="jp-footer__a8c-attr-container"> |
||
| 354 | <a href="<?php echo esc_url( $jetpack_about_url ); ?>"> |
||
| 355 | <svg role="img" class="jp-footer__a8c-attr" x="0" y="0" viewBox="0 0 935 38.2" enable-background="new 0 0 935 38.2" aria-labelledby="a8c-svg-title"><title id="a8c-svg-title">An Automattic Airline</title><path d="M317.1 38.2c-12.6 0-20.7-9.1-20.7-18.5v-1.2c0-9.6 8.2-18.5 20.7-18.5 12.6 0 20.8 8.9 20.8 18.5v1.2C337.9 29.1 329.7 38.2 317.1 38.2zM331.2 18.6c0-6.9-5-13-14.1-13s-14 6.1-14 13v0.9c0 6.9 5 13.1 14 13.1s14.1-6.2 14.1-13.1V18.6zM175 36.8l-4.7-8.8h-20.9l-4.5 8.8h-7L157 1.3h5.5L182 36.8H175zM159.7 8.2L152 23.1h15.7L159.7 8.2zM212.4 38.2c-12.7 0-18.7-6.9-18.7-16.2V1.3h6.6v20.9c0 6.6 4.3 10.5 12.5 10.5 8.4 0 11.9-3.9 11.9-10.5V1.3h6.7V22C231.4 30.8 225.8 38.2 212.4 38.2zM268.6 6.8v30h-6.7v-30h-15.5V1.3h37.7v5.5H268.6zM397.3 36.8V8.7l-1.8 3.1 -14.9 25h-3.3l-14.7-25 -1.8-3.1v28.1h-6.5V1.3h9.2l14 24.4 1.7 3 1.7-3 13.9-24.4h9.1v35.5H397.3zM454.4 36.8l-4.7-8.8h-20.9l-4.5 8.8h-7l19.2-35.5h5.5l19.5 35.5H454.4zM439.1 8.2l-7.7 14.9h15.7L439.1 8.2zM488.4 6.8v30h-6.7v-30h-15.5V1.3h37.7v5.5H488.4zM537.3 6.8v30h-6.7v-30h-15.5V1.3h37.7v5.5H537.3zM569.3 36.8V4.6c2.7 0 3.7-1.4 3.7-3.4h2.8v35.5L569.3 36.8 569.3 36.8zM628 11.3c-3.2-2.9-7.9-5.7-14.2-5.7 -9.5 0-14.8 6.5-14.8 13.3v0.7c0 6.7 5.4 13 15.3 13 5.9 0 10.8-2.8 13.9-5.7l4 4.2c-3.9 3.8-10.5 7.1-18.3 7.1 -13.4 0-21.6-8.7-21.6-18.3v-1.2c0-9.6 8.9-18.7 21.9-18.7 7.5 0 14.3 3.1 18 7.1L628 11.3zM321.5 12.4c1.2 0.8 1.5 2.4 0.8 3.6l-6.1 9.4c-0.8 1.2-2.4 1.6-3.6 0.8l0 0c-1.2-0.8-1.5-2.4-0.8-3.6l6.1-9.4C318.7 11.9 320.3 11.6 321.5 12.4L321.5 12.4z"></path><path d="M37.5 36.7l-4.7-8.9H11.7l-4.6 8.9H0L19.4 0.8H25l19.7 35.9H37.5zM22 7.8l-7.8 15.1h15.9L22 7.8zM82.8 36.7l-23.3-24 -2.3-2.5v26.6h-6.7v-36H57l22.6 24 2.3 2.6V0.8h6.7v35.9H82.8z"></path><path d="M719.9 37l-4.8-8.9H694l-4.6 8.9h-7.1l19.5-36h5.6l19.8 36H719.9zM704.4 8l-7.8 15.1h15.9L704.4 8zM733 37V1h6.8v36H733zM781 37c-1.8 0-2.6-2.5-2.9-5.8l-0.2-3.7c-0.2-3.6-1.7-5.1-8.4-5.1h-12.8V37H750V1h19.6c10.8 0 15.7 4.3 15.7 9.9 0 3.9-2 7.7-9 9 7 0.5 8.5 3.7 8.6 7.9l0.1 3c0.1 2.5 0.5 4.3 2.2 6.1V37H781zM778.5 11.8c0-2.6-2.1-5.1-7.9-5.1h-13.8v10.8h14.4c5 0 7.3-2.4 7.3-5.2V11.8zM794.8 37V1h6.8v30.4h28.2V37H794.8zM836.7 37V1h6.8v36H836.7zM886.2 37l-23.4-24.1 -2.3-2.5V37h-6.8V1h6.5l22.7 24.1 2.3 2.6V1h6.8v36H886.2zM902.3 37V1H935v5.6h-26v9.2h20v5.5h-20v10.1h26V37H902.3z"></path></svg> |
||
| 356 | </a> |
||
| 357 | </div> |
||
| 358 | <ul class="jp-footer__links"> |
||
| 359 | <li class="jp-footer__link-item"> |
||
| 360 | <a href="https://jetpack.com" target="_blank" rel="noopener noreferrer" class="jp-footer__link" title="<?php esc_html_e( 'Jetpack version', 'jetpack' ); ?>">Jetpack <?php echo JETPACK__VERSION; ?></a> |
||
| 361 | </li> |
||
| 362 | <li class="jp-footer__link-item"> |
||
| 363 | <a href="<?php echo esc_url( $jetpack_about_url ); ?>" title="<?php esc_attr__( 'About Jetpack', 'jetpack' ); ?>" class="jp-footer__link"><?php echo esc_html__( 'About', 'jetpack' ); ?></a> |
||
| 364 | </li> |
||
| 365 | <li class="jp-footer__link-item"> |
||
| 366 | <a href="https://wordpress.com/tos/" target="_blank" rel="noopener noreferrer" title="<?php esc_html__( 'WordPress.com Terms of Service', 'jetpack' ); ?>" class="jp-footer__link"><?php echo esc_html_x( 'Terms', 'Navigation item', 'jetpack' ); ?></a> |
||
| 367 | </li> |
||
| 368 | <li class="jp-footer__link-item"> |
||
| 369 | <a href="<?php echo esc_url( $jetpack_privacy_url ); ?>" rel="noopener noreferrer" title="<?php esc_html_e( "Automattic's Privacy Policy", 'jetpack' ); ?>" class="jp-footer__link"><?php echo esc_html_x( 'Privacy', 'Navigation item', 'jetpack' ); ?></a> |
||
| 370 | </li> |
||
| 371 | View Code Duplication | <?php if ( is_multisite() && current_user_can( 'jetpack_network_sites_page' ) ) { ?> |
|
| 372 | <li class="jp-footer__link-item"> |
||
| 373 | <a href="<?php echo esc_url( network_admin_url( 'admin.php?page=jetpack' ) ); ?>" title="<?php esc_html_e( "Manage your network's Jetpack Sites.", 'jetpack' ); ?>" class="jp-footer__link"><?php echo esc_html_x( 'Network Sites', 'Navigation item', 'jetpack' ); ?></a> |
||
| 374 | </li> |
||
| 375 | <?php } ?> |
||
| 376 | View Code Duplication | <?php if ( is_multisite() && current_user_can( 'jetpack_network_settings_page' ) ) { ?> |
|
| 377 | <li class="jp-footer__link-item"> |
||
| 378 | <a href="<?php echo esc_url( network_admin_url( 'admin.php?page=jetpack-settings' ) ); ?>" title="<?php esc_html_e( "Manage your network's Jetpack Sites.", 'jetpack' ); ?>" class="jp-footer__link"><?php echo esc_html_x( 'Network Settings', 'Navigation item', 'jetpack' ); ?></a> |
||
| 379 | </li> |
||
| 380 | <?php } ?> |
||
| 381 | <?php if ( current_user_can( 'manage_options' ) ) { ?> |
||
| 382 | <li class="jp-footer__link-item"> |
||
| 383 | <a href="<?php echo esc_url( admin_url( 'admin.php?page=jetpack_modules' ) ); ?>" title="<?php esc_html_e( "Access the full list of Jetpack modules available on your site.", 'jetpack' ); ?>" class="jp-footer__link"><?php echo esc_html_x( 'Modules', 'Navigation item', 'jetpack' ); ?></a> |
||
| 384 | </li> |
||
| 385 | <li class="jp-footer__link-item"> |
||
| 386 | <a href="<?php echo esc_url( admin_url( 'admin.php?page=jetpack-debugger' ) ); ?>" title="<?php esc_html_e( "Test your site's compatibility with Jetpack.", 'jetpack' ); ?>" class="jp-footer__link"><?php echo esc_html_x( 'Debug', 'Navigation item', 'jetpack' ); ?></a> |
||
| 387 | </li> |
||
| 388 | <?php } ?> |
||
| 389 | </ul> |
||
| 390 | </div> |
||
| 391 | </div> |
||
| 392 | <?php |
||
| 393 | return; |
||
| 394 | } |
||
| 395 | } |
||
| 396 |
This method has been deprecated. The supplier of the class has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.