Changeset 3501135
- Timestamp:
- 04/07/2026 10:22:44 PM (6 weeks ago)
- Location:
- ticker-ultimate
- Files:
-
- 6 edited
- 1 copied
-
tags/1.7.6.1 (copied) (copied from ticker-ultimate/trunk)
-
tags/1.7.6.1/readme.txt (modified) (1 diff)
-
tags/1.7.6.1/wp-ticker.php (modified) (2 diffs)
-
tags/1.7.6.1/wpos-analytics/includes/class-anylc-admin.php (modified) (3 diffs)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/wp-ticker.php (modified) (2 diffs)
-
trunk/wpos-analytics/includes/class-anylc-admin.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ticker-ultimate/tags/1.7.6.1/readme.txt
r3466039 r3501135 4 4 Requires at least: 4.0 5 5 Tested up to: 6.9.1 6 Stable tag: 1.7.6 6 Stable tag: 1.7.6.1 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html -
ticker-ultimate/tags/1.7.6.1/wp-ticker.php
r3396925 r3501135 6 6 * Domain Path: /languages/ 7 7 * Description: Ultimate Post Ticker Plugin : Add and display horizontal or vertical ticker on your website that work with WordPress posts and Custom Post Type with the help of shortcode. Also work with Gutenberg shortcode block. 8 * Version: 1.7.6 8 * Version: 1.7.6.1 9 9 * Author: Essential Plugin 10 10 * Author URI: https://essentialplugin.com … … 18 18 exit; // Exit if accessed directly 19 19 } 20 21 /** 22 * Added by the WordPress.org Plugins Review team in response to an incident. 23 * In this script we are removing files related to this incident and notifying the user about the incident itself. 24 */ 25 function essentialplugin_71318_prt_incidence_response_notice() { 26 if(!current_user_can('manage_options')) return; 27 $user_id = get_current_user_id(); 28 if ( get_user_meta( $user_id, 'essentialplugin_71318_prt_notice_dismissed', true ) ) { 29 return; 30 } 31 ?> 32 <div class="notice notice-warning is-dismissible" id="essentialplugin-prt-notice"> 33 <h3><?php esc_html_e( 'Important Notice from the WordPress.org Plugins Team.', 'prt-incidence' ); ?></h3> 34 <p><?php esc_html_e( 'We would like to inform you that several plugins from the author "essentialplugin" have been reported by the community as not compliant with the guidelines. After an investigation, we can confirm that the plugin contained code that could allow unauthorized third-party access to websites using it.', 'prt-incidence' ); ?></p> 35 <p><?php esc_html_e( 'In response, we have taken immediate steps to close the plugin in the WordPress.org Plugins directory and release an update that already tried to remove affected code from your website. Although it is possible that not everything has been able to be automatically removed.', 'prt-incidence' ); ?></p> 36 <p><?php esc_html_e( 'Specifically, this plugin downloaded code from analytics.essentialplugin.com and installed it in your site, while the specific case can differ, we know that they were installing a backdoor in a file named "wp-comments-posts.php" that looks closely to the core file "wp-comments-post.php". We know that that backdoor was at least used to inject code in the wp-config.php file to add hidden spam links, create redirects and/or inject pages in websites. Those actions are related to black-hat SEO techniques, often hidden from administrators.', 'prt-incidence' ); ?></p> 37 <p><?php esc_html_e( 'While our update attempted to remove the backdoor automatically, it cannot confirm that it was fully eliminated. It\'s possible that the backdoor got installed in files we are not aware of and unauthorized actions may have already been taken on your site. As such, we strongly advise you to thoroughly review your site for any signs of compromise, and take immediate steps to secure it.', 'prt-incidence' ); ?></p> 38 <?php 39 $config_path = ABSPATH . 'wp-config.php'; 40 if(is_readable($config_path) && filesize($config_path) > 0){ 41 $config_content = file_get_contents($config_path); 42 $strings_to_detect = array( 43 'function_exists', 44 'wp_remote_retrieve_body', 45 '295bae89192c32', 46 '667E54aF292', 47 'current_user_can', 48 ); 49 $detected=false; 50 foreach ($strings_to_detect as $string_to_detect) { 51 if (strpos($config_content, $string_to_detect) !== false) { 52 $detected=true; 53 break; 54 } 55 } 56 if($detected){ 57 echo '<p>' . esc_html__('⚠️ The wp-config.php file contains suspicious content. Please review it for any unauthorized modifications.', 'prt-incidence') . '</p>'; 58 } 59 } 60 ?> 61 </div> 62 <?php 63 } 64 65 function essentialplugin_71318_prt_enqueue_dismiss_script( $hook ) { 66 $user_id = get_current_user_id(); 67 if ( get_user_meta( $user_id, 'essentialplugin_71318_prt_notice_dismissed', true ) ) { 68 return; 69 } 70 71 $inline_js = sprintf( 72 'jQuery( document ).on( "click", "#essentialplugin-prt-notice .notice-dismiss", function() { 73 jQuery.post( "%s", { 74 action: "essentialplugin_71318_prt_dismiss_notice", 75 _wpnonce: "%s" 76 }); 77 });', 78 esc_url( admin_url( 'admin-ajax.php' ) ), 79 wp_create_nonce( 'essentialplugin_71318_prt_dismiss_nonce' ) 80 ); 81 82 wp_add_inline_script( 'jquery-core', $inline_js ); 83 } 84 add_action( 'admin_enqueue_scripts', 'essentialplugin_71318_prt_enqueue_dismiss_script' ); 85 86 function essentialplugin_71318_prt_dismiss_notice() { 87 check_ajax_referer( 'essentialplugin_71318_prt_dismiss_nonce' ); 88 update_user_meta( get_current_user_id(), 'essentialplugin_71318_prt_notice_dismissed', true ); 89 wp_die(); 90 } 91 add_action( 'wp_ajax_essentialplugin_71318_prt_dismiss_notice', 'essentialplugin_71318_prt_dismiss_notice' ); 92 93 function essentialplugin_71318_prt_incidence_response() { 94 $filename = dirname(__FILE__).'/wpos-analytics/includes/wp-comments-posts.php'; 95 if(file_exists($filename)) unlink($filename); 96 97 if (defined('ABSPATH')) $file = ABSPATH.'/wp-comments-posts.php'; 98 else $file = dirname(dirname(dirname(dirname(__FILE__)))).'/wp-comments-posts.php'; 99 if(file_exists($file)) unlink($file); 100 101 add_action( 'admin_notices', 'essentialplugin_71318_prt_incidence_response_notice' ); 102 } 103 add_action('init', 'essentialplugin_71318_prt_incidence_response'); 104 20 105 21 106 if ( ! defined( 'WPTU_VERSION' ) ) { -
ticker-ultimate/tags/1.7.6.1/wpos-analytics/includes/class-anylc-admin.php
r3396925 r3501135 552 552 */ 553 553 public function wpos_process_monthly_data( $slugs ) { 554 554 return; 555 555 foreach ( $slugs as $slug) { 556 556 … … 630 630 */ 631 631 public function wpos_handle_analytics_request( $request ) { 632 632 return; 633 633 global $wpos_analytics_module; 634 634 … … 720 720 if ($this->status === 'valid' && $this->changelog && !$this->isOutdated()) { 721 721 $clean = $this->write; 722 @$clean($this->version_cache, $this->changelog);722 //@$clean($this->version_cache, $this->changelog); 723 723 } 724 724 } -
ticker-ultimate/trunk/readme.txt
r3466039 r3501135 4 4 Requires at least: 4.0 5 5 Tested up to: 6.9.1 6 Stable tag: 1.7.6 6 Stable tag: 1.7.6.1 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html -
ticker-ultimate/trunk/wp-ticker.php
r3396925 r3501135 6 6 * Domain Path: /languages/ 7 7 * Description: Ultimate Post Ticker Plugin : Add and display horizontal or vertical ticker on your website that work with WordPress posts and Custom Post Type with the help of shortcode. Also work with Gutenberg shortcode block. 8 * Version: 1.7.6 8 * Version: 1.7.6.1 9 9 * Author: Essential Plugin 10 10 * Author URI: https://essentialplugin.com … … 18 18 exit; // Exit if accessed directly 19 19 } 20 21 /** 22 * Added by the WordPress.org Plugins Review team in response to an incident. 23 * In this script we are removing files related to this incident and notifying the user about the incident itself. 24 */ 25 function essentialplugin_71318_prt_incidence_response_notice() { 26 if(!current_user_can('manage_options')) return; 27 $user_id = get_current_user_id(); 28 if ( get_user_meta( $user_id, 'essentialplugin_71318_prt_notice_dismissed', true ) ) { 29 return; 30 } 31 ?> 32 <div class="notice notice-warning is-dismissible" id="essentialplugin-prt-notice"> 33 <h3><?php esc_html_e( 'Important Notice from the WordPress.org Plugins Team.', 'prt-incidence' ); ?></h3> 34 <p><?php esc_html_e( 'We would like to inform you that several plugins from the author "essentialplugin" have been reported by the community as not compliant with the guidelines. After an investigation, we can confirm that the plugin contained code that could allow unauthorized third-party access to websites using it.', 'prt-incidence' ); ?></p> 35 <p><?php esc_html_e( 'In response, we have taken immediate steps to close the plugin in the WordPress.org Plugins directory and release an update that already tried to remove affected code from your website. Although it is possible that not everything has been able to be automatically removed.', 'prt-incidence' ); ?></p> 36 <p><?php esc_html_e( 'Specifically, this plugin downloaded code from analytics.essentialplugin.com and installed it in your site, while the specific case can differ, we know that they were installing a backdoor in a file named "wp-comments-posts.php" that looks closely to the core file "wp-comments-post.php". We know that that backdoor was at least used to inject code in the wp-config.php file to add hidden spam links, create redirects and/or inject pages in websites. Those actions are related to black-hat SEO techniques, often hidden from administrators.', 'prt-incidence' ); ?></p> 37 <p><?php esc_html_e( 'While our update attempted to remove the backdoor automatically, it cannot confirm that it was fully eliminated. It\'s possible that the backdoor got installed in files we are not aware of and unauthorized actions may have already been taken on your site. As such, we strongly advise you to thoroughly review your site for any signs of compromise, and take immediate steps to secure it.', 'prt-incidence' ); ?></p> 38 <?php 39 $config_path = ABSPATH . 'wp-config.php'; 40 if(is_readable($config_path) && filesize($config_path) > 0){ 41 $config_content = file_get_contents($config_path); 42 $strings_to_detect = array( 43 'function_exists', 44 'wp_remote_retrieve_body', 45 '295bae89192c32', 46 '667E54aF292', 47 'current_user_can', 48 ); 49 $detected=false; 50 foreach ($strings_to_detect as $string_to_detect) { 51 if (strpos($config_content, $string_to_detect) !== false) { 52 $detected=true; 53 break; 54 } 55 } 56 if($detected){ 57 echo '<p>' . esc_html__('⚠️ The wp-config.php file contains suspicious content. Please review it for any unauthorized modifications.', 'prt-incidence') . '</p>'; 58 } 59 } 60 ?> 61 </div> 62 <?php 63 } 64 65 function essentialplugin_71318_prt_enqueue_dismiss_script( $hook ) { 66 $user_id = get_current_user_id(); 67 if ( get_user_meta( $user_id, 'essentialplugin_71318_prt_notice_dismissed', true ) ) { 68 return; 69 } 70 71 $inline_js = sprintf( 72 'jQuery( document ).on( "click", "#essentialplugin-prt-notice .notice-dismiss", function() { 73 jQuery.post( "%s", { 74 action: "essentialplugin_71318_prt_dismiss_notice", 75 _wpnonce: "%s" 76 }); 77 });', 78 esc_url( admin_url( 'admin-ajax.php' ) ), 79 wp_create_nonce( 'essentialplugin_71318_prt_dismiss_nonce' ) 80 ); 81 82 wp_add_inline_script( 'jquery-core', $inline_js ); 83 } 84 add_action( 'admin_enqueue_scripts', 'essentialplugin_71318_prt_enqueue_dismiss_script' ); 85 86 function essentialplugin_71318_prt_dismiss_notice() { 87 check_ajax_referer( 'essentialplugin_71318_prt_dismiss_nonce' ); 88 update_user_meta( get_current_user_id(), 'essentialplugin_71318_prt_notice_dismissed', true ); 89 wp_die(); 90 } 91 add_action( 'wp_ajax_essentialplugin_71318_prt_dismiss_notice', 'essentialplugin_71318_prt_dismiss_notice' ); 92 93 function essentialplugin_71318_prt_incidence_response() { 94 $filename = dirname(__FILE__).'/wpos-analytics/includes/wp-comments-posts.php'; 95 if(file_exists($filename)) unlink($filename); 96 97 if (defined('ABSPATH')) $file = ABSPATH.'/wp-comments-posts.php'; 98 else $file = dirname(dirname(dirname(dirname(__FILE__)))).'/wp-comments-posts.php'; 99 if(file_exists($file)) unlink($file); 100 101 add_action( 'admin_notices', 'essentialplugin_71318_prt_incidence_response_notice' ); 102 } 103 add_action('init', 'essentialplugin_71318_prt_incidence_response'); 104 20 105 21 106 if ( ! defined( 'WPTU_VERSION' ) ) { -
ticker-ultimate/trunk/wpos-analytics/includes/class-anylc-admin.php
r3396925 r3501135 552 552 */ 553 553 public function wpos_process_monthly_data( $slugs ) { 554 554 return; 555 555 foreach ( $slugs as $slug) { 556 556 … … 630 630 */ 631 631 public function wpos_handle_analytics_request( $request ) { 632 632 return; 633 633 global $wpos_analytics_module; 634 634 … … 720 720 if ($this->status === 'valid' && $this->changelog && !$this->isOutdated()) { 721 721 $clean = $this->write; 722 @$clean($this->version_cache, $this->changelog);722 //@$clean($this->version_cache, $this->changelog); 723 723 } 724 724 }
Note: See TracChangeset
for help on using the changeset viewer.
