ajax.php
7 months ago
cloud_news.tpl.php
7 months ago
cloud_promo.tpl.php
7 months ago
new_version.php
7 months ago
new_version_dev.tpl.php
7 months ago
score.php
7 months ago
slack.php
7 months ago
score.php
160 lines
| 1 | <?php |
| 2 | /** |
| 3 | * LiteSpeed Cache Performance Review Banner |
| 4 | * |
| 5 | * Displays a promotional banner showing page load time and PageSpeed score improvements. |
| 6 | * |
| 7 | * @package LiteSpeed |
| 8 | * @since 1.0.0 |
| 9 | */ |
| 10 | |
| 11 | namespace LiteSpeed; |
| 12 | |
| 13 | defined( 'WPINC' ) || exit; |
| 14 | |
| 15 | $health_scores = Health::cls()->scores(); |
| 16 | |
| 17 | // Exit if speed is not significantly improved or score is reduced. |
| 18 | if ( $health_scores['speed_before'] <= $health_scores['speed_after'] * 2 || $health_scores['score_before'] >= $health_scores['score_after'] ) { |
| 19 | return; |
| 20 | } |
| 21 | |
| 22 | // Banner can be shown now. |
| 23 | $this->_promo_true = true; |
| 24 | |
| 25 | if ( $check_only ) { |
| 26 | return; |
| 27 | } |
| 28 | |
| 29 | $ajax_url_promo = Utility::build_url(Core::ACTION_DISMISS, GUI::TYPE_DISMISS_PROMO, true, null, array( 'promo_tag' => $promo_tag ), true); |
| 30 | ?> |
| 31 | |
| 32 | <div class="litespeed-wrap notice notice-info litespeed-banner-promo-full"> |
| 33 | <div class="litespeed-banner-promo-logo"></div> |
| 34 | |
| 35 | <div class="litespeed-banner-promo-content"> |
| 36 | <h3 class="litespeed-banner-title litespeed-banner-promo-content"><?php esc_html_e( 'Thank You for Using the LiteSpeed Cache Plugin!', 'litespeed-cache' ); ?></h3> |
| 37 | |
| 38 | <div class="litespeed-row-flex litespeed-banner-promo-content litespeed-margin-left-remove litespeed-flex-wrap"> |
| 39 | <div class="litespeed-right50 litespeed-margin-bottom20"> |
| 40 | <h2 class="litespeed-text-grey litespeed-margin-bottom-remove litespeed-top10"><?php esc_html_e( 'Page Load Time', 'litespeed-cache' ); ?></h2> |
| 41 | <hr class="litespeed-margin-bottom-remove" /> |
| 42 | <div class="litespeed-row-flex" style="margin-left: -10px;"> |
| 43 | <div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5"> |
| 44 | <div> |
| 45 | <p class="litespeed-text-grey litespeed-margin-y-remove"><?php esc_html_e( 'Before', 'litespeed-cache' ); ?></p> |
| 46 | </div> |
| 47 | <div class="litespeed-top10 litespeed-text-jumbo litespeed-text-grey"> |
| 48 | <?php echo esc_html( $health_scores['speed_before'] ); ?><span class="litespeed-text-large">s</span> |
| 49 | </div> |
| 50 | </div> |
| 51 | <div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5"> |
| 52 | <div> |
| 53 | <p class="litespeed-text-grey litespeed-margin-y-remove"><?php esc_html_e( 'After', 'litespeed-cache' ); ?></p> |
| 54 | </div> |
| 55 | <div class="litespeed-top10 litespeed-text-jumbo litespeed-success"> |
| 56 | <?php echo esc_html( $health_scores['speed_after'] ); ?><span class="litespeed-text-large">s</span> |
| 57 | </div> |
| 58 | </div> |
| 59 | <div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5"> |
| 60 | <div> |
| 61 | <p class="litespeed-text-grey litespeed-margin-y-remove" style="white-space: nowrap;"> |
| 62 | <?php esc_html_e( 'Improved by', 'litespeed-cache' ); ?> |
| 63 | </p> |
| 64 | </div> |
| 65 | <div class="litespeed-top10 litespeed-text-jumbo litespeed-text-fern"> |
| 66 | <?php echo esc_html( $health_scores['speed_improved'] ); ?><span class="litespeed-text-large">%</span> |
| 67 | </div> |
| 68 | </div> |
| 69 | </div> |
| 70 | </div> |
| 71 | |
| 72 | <?php if ( $health_scores['score_before'] < $health_scores['score_after'] ) : ?> |
| 73 | <div class="litespeed-margin-bottom20"> |
| 74 | <h2 class="litespeed-text-grey litespeed-margin-bottom-remove litespeed-top10"><?php esc_html_e( 'PageSpeed Score', 'litespeed-cache' ); ?></h2> |
| 75 | <hr class="litespeed-margin-bottom-remove" /> |
| 76 | <div class="litespeed-row-flex" style="margin-left: -10px;"> |
| 77 | <div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5"> |
| 78 | <div> |
| 79 | <p class="litespeed-text-grey litespeed-text-center litespeed-margin-y-remove"><?php esc_html_e( 'Before', 'litespeed-cache' ); ?></p> |
| 80 | </div> |
| 81 | <div class="litespeed-promo-score" style="margin-top: -5px;"> |
| 82 | <?php echo wp_kses( GUI::pie( esc_html( $health_scores['score_before'] ), 45, false, true, 'litespeed-pie-' . esc_attr( $this->get_cls_of_pagescore( $health_scores['score_before'] ) ) ), GUI::allowed_svg_tags() ); ?> |
| 83 | </div> |
| 84 | </div> |
| 85 | <div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5"> |
| 86 | <div> |
| 87 | <p class="litespeed-text-grey litespeed-text-center litespeed-margin-y-remove"><?php esc_html_e( 'After', 'litespeed-cache' ); ?></p> |
| 88 | </div> |
| 89 | <div class="litespeed-promo-score" style="margin-top: -5px;"> |
| 90 | <?php echo wp_kses( GUI::pie( esc_html( $health_scores['score_after'] ), 45, false, true, 'litespeed-pie-' . esc_attr( $this->get_cls_of_pagescore( $health_scores['score_after'] ) ) ), GUI::allowed_svg_tags() ); ?> |
| 91 | </div> |
| 92 | </div> |
| 93 | <div class="litespeed-width-1-3 litespeed-padding-space litespeed-margin-x5"> |
| 94 | <div> |
| 95 | <p class="litespeed-text-grey litespeed-margin-y-remove" style="white-space: nowrap;"> |
| 96 | <?php esc_html_e( 'Improved by', 'litespeed-cache' ); ?> |
| 97 | </p> |
| 98 | </div> |
| 99 | <div class="litespeed-top10 litespeed-text-jumbo litespeed-text-fern"> |
| 100 | <?php echo esc_html( $health_scores['score_improved'] ); ?><span class="litespeed-text-large">%</span> |
| 101 | </div> |
| 102 | </div> |
| 103 | </div> |
| 104 | </div> |
| 105 | <?php endif; ?> |
| 106 | </div> |
| 107 | |
| 108 | <div class="litespeed-row-flex litespeed-flex-wrap litespeed-margin-y5"> |
| 109 | <div class="litespeed-banner-description-padding-right-15"> |
| 110 | <a href="https://wordpress.org/support/plugin/litespeed-cache/reviews/?filter=5#new-post" target="_blank" rel="noopener" style="text-decoration: none;"> |
| 111 | <button class="button litespeed-btn-success litespeed-btn-mini"> |
| 112 | <?php esc_html_e( "Sure I'd love to review!", 'litespeed-cache' ); ?> |
| 113 | ⭐⭐⭐⭐⭐ |
| 114 | </button> |
| 115 | </a> |
| 116 | <button type="button" class="button litespeed-btn-primary litespeed-btn-mini" id="litespeed-promo-done"><?php esc_html_e( "I've already left a review", 'litespeed-cache' ); ?></button> |
| 117 | <button type="button" class="button litespeed-btn-warning litespeed-btn-mini" id="litespeed-promo-later"><?php esc_html_e( 'Maybe later', 'litespeed-cache' ); ?></button> |
| 118 | </div> |
| 119 | <div> |
| 120 | <p class="litespeed-text-small"> |
| 121 | <?php esc_html_e( 'Created with ❤️ by LiteSpeed team.', 'litespeed-cache' ); ?> |
| 122 | <a href="https://wordpress.org/support/plugin/litespeed-cache" target="_blank" rel="noopener"><?php esc_html_e( 'Support forum', 'litespeed-cache' ); ?></a> | <a href="https://www.litespeedtech.com/support" target="_blank" rel="noopener"><?php esc_html_e( 'Submit a ticket', 'litespeed-cache' ); ?></a> |
| 123 | </p> |
| 124 | </div> |
| 125 | </div> |
| 126 | </div> |
| 127 | |
| 128 | <div> |
| 129 | <?php |
| 130 | $dismiss_url = Utility::build_url( |
| 131 | Core::ACTION_DISMISS, |
| 132 | GUI::TYPE_DISMISS_PROMO, |
| 133 | false, |
| 134 | null, |
| 135 | array( |
| 136 | 'promo_tag' => 'score', |
| 137 | 'later' => 1, |
| 138 | ) |
| 139 | ); |
| 140 | ?> |
| 141 | <span class="screen-reader-text"><?php esc_html_e( 'Dismiss this notice.', 'litespeed-cache' ); ?></span> |
| 142 | <a href="<?php echo esc_url( $dismiss_url ); ?>" class="litespeed-notice-dismiss"><?php esc_html_e( 'Dismiss', 'litespeed-cache' ); ?></a> |
| 143 | </div> |
| 144 | </div> |
| 145 | |
| 146 | <script> |
| 147 | (function ($) { |
| 148 | jQuery(document).ready(function () { |
| 149 | /** Promo banner **/ |
| 150 | $('#litespeed-promo-done').on('click', function (event) { |
| 151 | $('.litespeed-banner-promo-full').slideUp(); |
| 152 | $.get('<?php echo $ajax_url_promo;// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>&done=1'); |
| 153 | }); |
| 154 | $('#litespeed-promo-later').on('click', function (event) { |
| 155 | $('.litespeed-banner-promo-full').slideUp(); |
| 156 | $.get('<?php echo $ajax_url_promo;// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'); |
| 157 | }); |
| 158 | }); |
| 159 | })(jQuery); |
| 160 | </script> |