Plugin Directory

Timestamp:
03/22/2024 09:30:19 AM (4 months ago)
Author:
zinigor
Message:

Updating trunk to version 13.2.2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • jetpack/trunk/class-jetpack-pre-connection-jitms.php

    r3049965 r3056649  
    33 * Jetpack's Pre-Connection JITMs class.
    44 *
    5  * @deprecated 13.3
    6  *
    75 * @package jetpack
    86 */
    97
     8
    109use Automattic\Jetpack\Redirect;
    1110
    1211/**
    1312 * Jetpack's Pre-Connection JITMs. These can be displayed with the JITM package.
    14  *
    15  * @deprecated 13.3
    1613 */
    1714class Jetpack_Pre_Connection_JITMs {
     
    2017     * Returns all the pre-connection messages.
    2118     *
    22      * @deprecated 13.3
    23      *
    2419     * @return array An array containing the pre-connection JITM messages.
    2520     */
    2621    private function get_raw_messages() {
    27         _deprecated_function( __METHOD__, 'jetpack-13.3' );
    28         return array();
     22        $button_caption = __( 'Set up Jetpack', 'jetpack' );
     23        /* Translators: placeholders are links. */
     24        $media_description = __( 'Click on the <strong>Set up Jetpack</strong> button to agree to our <a href="%1$s" target="_blank" rel="noopener noreferrer">Terms of Service</a> and to <a href="%2$s" target="_blank" rel="noopener noreferrer">share details</a> with WordPress.com, and gain access to Site Accelerator.', 'jetpack' );
     25        /* Translators: placeholders are links. */
     26        $widgets_description = __( 'Click on the <strong>Set up Jetpack</strong> button to agree to our <a href="%1$s" target="_blank" rel="noopener noreferrer">Terms of Service</a> and to <a href="%2$s" target="_blank" rel="noopener noreferrer">share details</a> with WordPress.com, and gain access to great additional widgets.', 'jetpack' );
     27        /* Translators: placeholders are links. */
     28        $posts_description = __( 'Click on the <strong>Set up Jetpack</strong> button to agree to our <a href="%1$s" target="_blank" rel="noopener noreferrer">Terms of Service</a> and to <a href="%2$s" target="_blank" rel="noopener noreferrer">share details</a> with WordPress.com, and gain access to in-depth stats about your site.', 'jetpack' );
     29
     30        $messages = array(
     31            array(
     32                'id'             => 'jpsetup-upload',
     33                'message_path'   => '/wp:upload:admin_notices/',
     34                'message'        => __( 'Do you want lightning-fast images?', 'jetpack' ),
     35                'description'    => $this->generate_description_with_tos( $media_description ),
     36                'button_caption' => $button_caption,
     37            ),
     38            array(
     39                'id'             => 'jpsetup-widgets',
     40                'message_path'   => '/wp:widgets:admin_notices/',
     41                'message'        => __( 'Looking for even more widgets?', 'jetpack' ),
     42                'description'    => $this->generate_description_with_tos( $widgets_description ),
     43                'button_caption' => $button_caption,
     44            ),
     45        );
     46
     47        if ( wp_count_posts()->publish >= 5 ) {
     48            $messages[] = array(
     49                'id'             => 'jpsetup-posts',
     50                'message_path'   => '/wp:edit-post:admin_notices/',
     51                'message'        => __( 'Do you know which of these posts gets the most traffic?', 'jetpack' ),
     52                'description'    => $this->generate_description_with_tos( $posts_description ),
     53                'button_caption' => $button_caption,
     54            );
     55        }
     56
     57        foreach ( $messages as $key => $message ) {
     58            /*
     59             * Add Connect URL to each message, with from including jitm id.
     60             */
     61            $jetpack_setup_url               = $this->generate_admin_url(
     62                array(
     63                    'page' => 'jetpack#/setup',
     64                    'from' => sprintf( 'pre-connection-jitm-%s', $message['id'] ),
     65                )
     66            );
     67            $messages[ $key ]['button_link'] = $jetpack_setup_url;
     68        }
     69
     70        return $messages;
    2971    }
    3072
     
    3577     * but do not use the standard message defined in jetpack_render_tos_blurb.
    3678     * Instead, they use their own custom messages.
    37      *
    38      * @deprecated 13.3
    3979     *
    4080     * @param string $description Description string with placeholders.
     
    65105     * @since 10.4
    66106     *
    67      * @deprecated 13.3
    68      *
    69107     * @return array An array containing the pre-connection JITM messages.
    70108     */
    71109    private function maybe_get_raw_partnership_messages() {
    72         _deprecated_function( __METHOD__, 'jetpack-13.3' );
    73         return array();
     110        $partner_coupon = Jetpack_Partner_Coupon::get_coupon();
     111
     112        if ( ! $partner_coupon ) {
     113            return array();
     114        }
     115
     116        return array(
     117            array(
     118                'id'             => 'jpsetup-partner-coupon',
     119                'message_path'   => '/wp:(plugin-install|themes|update-core|upload|users|tools|options-general):admin_notices/',
     120                /* Translators: 1: Product name, 2: Partner name. */
     121                'message'        => sprintf( esc_html__( 'Get %1$s with your %2$s account', 'jetpack' ), $partner_coupon['product']['title'], $partner_coupon['partner']['name'] ),
     122                'description'    => $partner_coupon['product']['description'],
     123                'button_caption' => esc_html__( 'Redeem coupon', 'jetpack' ),
     124                'button_link'    => $this->generate_admin_url(
     125                    array(
     126                        'page' => 'jetpack#/dashboard',
     127                        'from' => 'pre-connection-jitm--jpsetup-partner-coupon',
     128                    )
     129                ),
     130            ),
     131        );
    74132    }
    75133
    76134    /**
    77135     * Adds the input query arguments to the admin url.
    78      *
    79      * @deprecated 13.3
    80136     *
    81137     * @param array $args The query arguments.
     
    91147     * Add the Jetpack pre-connection JITMs to the list of pre-connection JITM messages.
    92148     *
    93      * @deprecated 13.3
    94      *
    95149     * @param array $pre_connection_messages An array of pre-connection JITMs.
    96150     *
     
    98152     */
    99153    public function add_pre_connection_jitms( $pre_connection_messages ) {
    100         _deprecated_function( __METHOD__, 'jetpack-13.3' );
    101         return $pre_connection_messages;
     154        $jetpack_messages = array_merge( $this->get_raw_messages(), $this->maybe_get_raw_partnership_messages() );
     155
     156        if ( ! is_array( $pre_connection_messages ) ) {
     157            // The incoming messages aren't an array, so just return Jetpack's messages.
     158            return $jetpack_messages;
     159        }
     160
     161        return array_merge( $pre_connection_messages, $jetpack_messages );
    102162    }
    103163}
Note: See TracChangeset for help on using the changeset viewer.