PluginProbe
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization / trunk
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization vtrunk
4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 2.5.5 2.5.6 2.5.7 3.0.0 3.0.1 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.12.0 All 135 releases
← All changes | vendor/codeinwp/themeisle-sdk/src/Modules/Dashboard_widget.php +39 -7 3.11.1 → trunk View file →
@@ -11,8 +11,9 @@
11 11
12 12 namespace ThemeisleSDK\Modules;
13 13
14 14 use ThemeisleSDK\Common\Abstract_Module;
15 +use ThemeisleSDK\Loader;
15 16 use ThemeisleSDK\Product;
16 17
17 18 // Exit if accessed directly.
18 19 if ( ! defined( 'ABSPATH' ) ) {
@@ -75,14 +76,13 @@
75 76 if ( apply_filters( 'themeisle_sdk_hide_dashboard_widget', false ) ) {
76 77 return;
77 78 }
78 79 $this->product = $product;
79 - $this->dashboard_name = apply_filters( 'themeisle_sdk_dashboard_widget_name', 'WordPress Guides/Tutorials' );
80 + $this->dashboard_name = apply_filters( 'themeisle_sdk_dashboard_widget_name', Loader::$labels['dashboard_widget']['title'] );
80 81 $this->feeds = apply_filters(
81 82 'themeisle_sdk_dashboard_widget_feeds',
82 83 [
83 84 'https://themeisle.com/blog/feed',
84 - 'https://www.codeinwp.com/blog/feed',
85 85 'https://wpshout.com/feed',
86 86 ]
87 87 );
88 88 add_action( 'wp_dashboard_setup', array( &$this, 'add_widget' ) );
@@ -122,8 +122,12 @@
122 122 return;
123 123 }
124 124 ?>
125 125 <style type="text/css">
126 + #dashboard-widgets #themeisle .hndle {
127 + padding-left: 39px;
128 + }
129 +
126 130 #themeisle ul li.ti-dw-recommend-item {
127 131 padding-left: 7px;
128 132 border-top: 1px solid #eee;
129 133 margin-bottom: 0px;
@@ -134,9 +138,8 @@
134 138 background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABbCAMAAADncTNAAAAAtFBMVEVHcEyAgIB/f3+xsbGgoaGBgYGCgoKKioqAgIC1tbW5ubnFx8iAgIDU1taBgYGCgoKAgIC0tLXW19jW2NiAgIC3uLiBgYHLzMy4uLhycnLW19d/f3/T1NW0tLTX19mVlZWvr6+BgYHl5eWKiottbW5JSUnW2Nm5ubnh4eHT1NWVlZVjY2N4eHh9fX6pqqq+v79PT0/39/fu7u7Nzc7Z2ttYWFgBAQHDw8P////JysoZGRk0NTZqJc/sAAAAIXRSTlMA0FL7/oEnEPL6eibivm9gwJya76/enFq2CXI+2lFAyM8GATmPAAADj0lEQVR4Xu2YaW/iOhSGAwRCWDosnXa6znjJvm8svf//f12TuARyhiR2pfnUR6gSEnr0+uT4xK7yRb755pvhHePli5K7Bfpkuhoq8ozRJdMH+WWha6Z3sqYparCSLRJqspjImVbANJU03cNMMpofAwQZCGsmpQYyFvVM0Q00OQ9koMl5IPcCoro+RA1Dt2Ea9n9eZ0+YHJLkgIlkDywQx00wCTyaReiKH8LbNU9ybJOdkchV6QFxyCFLbVvdfaREqgUWg/tx2UbqIcK2Hex2TdGLwFTjIj3XP3YfCZFsb23KRZn/3263oymSFI0/a5S4PqUBjoBIJBDjeEhCN0wxQSRybIxtJ3K5SGzuE/vAwIQc8ZmMMJFAIM4oikZItfEFtorGgoE43FObwqHU68OtPCnOz8KZ2Jbl5LgkSW0Tc7YyIz/EFWmS4jMbiZU5mJOmKRaJpKGGyLZtDJh3iyaNUu/3+xyKnrtFL71EG+FTiMpENhQtxUQ8kSOXCIr2tnCNhg/gTX0SHYFp0t7TCwQZ7U841yoHrW6rtGroUwTWVnLMssxx+H4bgZcSOFf5MYx0Ae8FghomMDyC2EBNImBywPkNTDNqGLQpIg2TjUNU8tBy9DQMo0DAZF16rAi7vJAtFTIYFAHUc6hIRW6OuOhJgaCSwmDEAYK4oa7ro+qIEyJU/US7KTJKPNSFT9tFgVFBu0SF1y7yjX4masRA9Da7EFGj28R/BkQz6xGIOurkx38T/bKs9Uk8aIiMwm/Jw0VP1yLrJwt13xAxvABBgsK4KWLov35DkRF7ZaqgzuZ7MQ8MOntmVYyAqKTwaICKqvSUFnVccMN5sziEP/5+xGDTahbH5Q3ZB76zr8fI+nJtvUUU3t3ml5GKviK/npCg3CGodnuJ4JVkfRFJYGVDBZrqKnn9RLf+CzDTS5PaN5J38+auzX4ykU4Qoj0rdKfcYs5ijfo9OL/uRUgZyQr7NCWtWwiUSLc4arfJa7lpszTA1OJZAQ8w8dXFrR5YHzCWSnS3pZ18tOi4Ps4vl/c7i/6qomjRecN+UubrPyPGn/VEMU3T0UFHkaPzpgjxmJsnjmrtionlMDZiog0TsY/DPtn8SXtlBvbtxKtwopy7lqW3smQO+yoGE1Uu55GJ3pmI8ygoejZNnqj0vnIRCyTKfLstRdtStGQi09myUsvwvlkuzSUXbV+Xz5ryBebV33fln/A/moud69FZiEYAAAAASUVORK5CYII=');
135 139 background-repeat: no-repeat;
136 140 background-position: 2% 50%;
137 141 background-size: 25px;
138 - padding-left: 39px;
139 142 }
140 143
141 144 #themeisle .inside {
142 145 padding: 0;
@@ -279,9 +282,9 @@
279 282 }
280 283 ?>
281 284 <div class="ti-dw-footer">
282 285 <span class="ti-dw-recommend-item ">
283 - <span class="ti-dw-recommend"><?php echo esc_attr( apply_filters( 'themeisle_sdk_dashboard_popular_label', sprintf( 'Popular %s', ucwords( $type ) ) ) ); ?>
286 + <span class="ti-dw-recommend"><?php echo esc_attr( apply_filters( 'themeisle_sdk_dashboard_popular_label', sprintf( Loader::$labels['dashboard_widget']['popular'], ucwords( $type ) ) ) ); ?>
284 287 : </span>
285 288 <?php
286 289 echo esc_attr(
287 290 trim(
@@ -298,11 +301,11 @@
298 301 )
299 302 );
300 303 ?>
301 304 (<a class="thickbox open-plugin-details-modal"
302 - href="<?php echo esc_url( $url . '&TB_iframe=true&width=600&height=500' ); ?>"><?php echo esc_attr( apply_filters( 'themeisle_sdk_dashboard_install_label', 'Install' ) ); ?></a>)
305 + href="<?php echo esc_url( $url . '&TB_iframe=true&width=600&height=500' ); ?>"><?php echo esc_attr( apply_filters( 'themeisle_sdk_dashboard_install_label', Loader::$labels['dashboard_widget']['install'] ) ); ?></a>)
303 306 </span>
304 - <span class="ti-dw-powered-by"><span><?php echo esc_attr( apply_filters( 'themeisle_sdk_dashboard_widget_powered_by', sprintf( 'Powered by %s', $this->product->get_friendly_name() ) ) ); ?></span></span>
307 + <span class="ti-dw-powered-by"><span><?php echo esc_attr( apply_filters( 'themeisle_sdk_dashboard_widget_powered_by', sprintf( Loader::$labels['dashboard_widget']['powered'], $this->product->get_friendly_name() ) ) ); ?></span></span>
305 308 </div>
306 309
307 310 <?php
308 311
@@ -312,10 +315,39 @@
312 315 * Setup feed items.
313 316 */
314 317 private function setup_feeds() {
315 318 if ( false === ( $items_normalized = get_transient( 'themeisle_sdk_feed_items' ) ) ) { //phpcs:ignore Squiz.PHP.DisallowMultipleAssignments.FoundInControlStructure
319 + // Do not force the feed for the items in the sdk feeds list.
320 + // this prevents showing notices if another plugin will force all SimplePie feeds to load, instead it will
321 + // use the regular SimplePie validation and abort early if the feed is not valid.
322 + $sdk_feeds = $this->feeds;
323 + add_action(
324 + 'wp_feed_options',
325 + function ( $feed, $url ) use ( $sdk_feeds ) {
326 + if ( defined( 'TI_SDK_PHPUNIT' ) && true === TI_SDK_PHPUNIT ) {
327 + return;
328 + }
329 +
330 + if ( ! is_string( $url ) && in_array( $url, $sdk_feeds, true ) ) {
331 + $feed->force_feed( false );
332 +
333 + return;
334 + }
335 + if ( is_array( $url ) ) {
336 + foreach ( $url as $feed_url ) {
337 + if ( in_array( $feed_url, $sdk_feeds, true ) ) {
338 + $feed->force_feed( false );
339 +
340 + return;
341 + }
342 + }
343 + }
344 + },
345 + PHP_INT_MAX,
346 + 2
347 + );
316 348 // Load SimplePie Instance.
317 - $feed = fetch_feed( $this->feeds );
349 + $feed = fetch_feed( $sdk_feeds );
318 350 // TODO report error when is an error loading the feed.
319 351 if ( is_wp_error( $feed ) ) {
320 352 return;
321 353 }