PluginProbe ʕ •ᴥ•ʔ
LiteSpeed Cache / 7.6.2
LiteSpeed Cache v7.6.2
trunk 1.0.15 1.9.1.1 2.9.9.2 3.6.4 4.6 5.7.0.1 6.5.4 7.0.0.1 7.0.1 7.1 7.2 7.3 7.3.0.1 7.4 7.5 7.5.0.1 7.6 7.6.1 7.6.2 7.7 7.8 7.8.0.1 7.8.1
litespeed-cache / tpl / banner / score.php
litespeed-cache / tpl / banner Last commit date
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>