Changeset 2982169
- Timestamp:
- 10/22/2023 07:19:56 AM (2 years ago)
- Location:
- wp-media-category-management/trunk
- Files:
-
- 3 added
- 11 edited
-
README.txt (modified) (2 diffs)
-
freemius/.editorconfig (added)
-
freemius/includes/class-freemius.php (modified) (15 diffs)
-
freemius/includes/debug/class-fs-debug-bar-panel.php (modified) (1 diff)
-
freemius/includes/fs-core-functions.php (modified) (1 diff)
-
freemius/includes/sdk/FreemiusWordPress.php (modified) (1 diff)
-
freemius/phpcompat.xml (added)
-
freemius/phpstan.neon (added)
-
freemius/start.php (modified) (1 diff)
-
freemius/templates/forms/license-activation.php (modified) (5 diffs)
-
include/admin/class-WP_MCM_Render_Settings.php (modified) (1 diff)
-
include/media/class-WP_MCM_Media_List.php (modified) (3 diffs)
-
include/taxonomy/class-WP_MCM_Taxonomy.php (modified) (1 diff)
-
wp-media-category-management.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
wp-media-category-management/trunk/README.txt
r2939098 r2982169 4 4 Tags: media library, bulk action, bulk toggle, toggle category, taxonomy, taxonomies, attachment, media category, media categories, media tag, media tags, media taxonomy, media taxonomies, media filter, media organizer, media types, media uploader, custom, media management, attachment management, files management, user experience, wp-admin, admin, user media management, export 5 5 Requires at least: 5.0 6 Tested up to: 6. 2.27 Stable tag: 2.1. 36 Tested up to: 6.3.2 7 Stable tag: 2.1.4 8 8 License: GPLv3 9 9 License URI: https://www.gnu.org/licenses/gpl-3.0.html … … 103 103 == Changelog == 104 104 105 = 2.1.4 = 106 * Replaced strpos with str_contains or str_starts_with functionality 107 * Tested for WP 6.3.2 108 * Updated Freemius sdk to v2.5.12 109 105 110 = 2.1.3 = 106 111 * Fixed issue with searching for posts -
wp-media-category-management/trunk/freemius/includes/class-freemius.php
r2939098 r2982169 1532 1532 $this->add_filter( 'after_code_type_change', array( &$this, '_after_code_type_change' ) ); 1533 1533 1534 add_action( 'admin_init', array( &$this, '_add_trial_notice' ) ); 1535 add_action( 'admin_init', array( &$this, '_add_affiliate_program_notice' ) ); 1534 add_action( 'admin_init', array( &$this, '_add_trial_notice' ) ); // @phpstan-ignore-line 1535 add_action( 'admin_init', array( &$this, '_add_affiliate_program_notice' ) ); // @phpstan-ignore-line 1536 1536 add_action( 'admin_enqueue_scripts', array( &$this, '_enqueue_common_css' ) ); 1537 1537 … … 1643 1643 * @since 2.2.3 1644 1644 * 1645 * @return string1645 * @return void 1646 1646 */ 1647 1647 static function _prepend_fs_allow_updater_and_dialog_flag_url_param() { … … 3493 3493 */ 3494 3494 static function get_unfiltered_site_url( $blog_id = null, $strip_protocol = false, $add_trailing_slash = false ) { 3495 $url = ( ! is_multisite() && defined( 'WP_SITEURL' ) ) ? WP_SITEURL : self::get_site_url_from_wp_option( $blog_id ); 3496 3497 if ( $strip_protocol ) { 3498 $url = fs_strip_url_protocol( $url ); 3499 } 3500 3501 if ( $add_trailing_slash ) { 3502 $url = trailingslashit( $url ); 3503 } 3504 3505 return $url; 3506 } 3507 3508 /** 3509 * @author Leo Fajardo (@leorw) 3510 * @since 2.6.0 3511 * 3512 * @param int|null $blog_id 3513 * 3514 * @return string 3515 */ 3516 private static function get_site_url_from_wp_option( $blog_id = null ) { 3495 3517 global $wp_filter; 3496 3518 … … 3517 3539 $wp_filter[ $hook_name ] = $site_url_filter; 3518 3540 } 3519 }3520 3521 if ( $strip_protocol ) {3522 $url = fs_strip_url_protocol( $url );3523 }3524 3525 if ( $add_trailing_slash ) {3526 $url = trailingslashit( $url );3527 3541 } 3528 3542 … … 4081 4095 4082 4096 if ( function_exists( 'random_int' ) ) { 4083 $random = random_int( $min, $max ); 4097 $random = random_int( $min, $max ); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.random_intFound 4084 4098 } else { 4085 4099 $random = rand( $min, $max ); … … 4400 4414 4401 4415 // Get the UTF encoded domain name. 4402 $domain = idn_to_ascii( $parts[1] ) . '.'; 4416 /** 4417 * @note - The check of `defined('...')` is there to account for PHP servers compiled with some older version of ICU where the constants are not defined. 4418 * @author - @swashata 4419 */ 4420 $is_new_idn_available = ( 4421 version_compare( PHP_VERSION, '5.6.40') > 0 && 4422 defined( 'IDNA_DEFAULT' ) && 4423 defined( 'INTL_IDNA_VARIANT_UTS46' ) 4424 ); 4425 if ( $is_new_idn_available ) { 4426 $domain = idn_to_ascii( $parts[1], IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46 ); 4427 } else { 4428 $domain = idn_to_ascii( $parts[1] ); // phpcs:ignore PHPCompatibility.ParameterValues.NewIDNVariantDefault.NotSet 4429 } 4430 4431 $domain = $domain . '.'; 4403 4432 4404 4433 return ( checkdnsrr( $domain, 'MX' ) || checkdnsrr( $domain, 'A' ) ); … … 5616 5645 } 5617 5646 5618 if ( $this->is_registered() ) { 5619 if ( ! $this->is_addon() ) { 5620 add_action( 5621 is_admin() ? 'admin_init' : 'init', 5622 array( &$this, '_plugin_code_type_changed' ) 5623 ); 5624 } 5625 5626 if ( $this->is_premium() ) { 5627 // Purge cached payments after switching to the premium version. 5628 // @todo This logic doesn't handle purging the cache for serviceware module upgrade. 5629 $this->get_api_user_scope()->purge_cache( "/plugins/{$this->_module_id}/payments.json?include_addons=true" ); 5630 } 5647 if ( ! $this->is_addon() ) { 5648 add_action( 5649 is_admin() ? 'admin_init' : 'init', 5650 array( &$this, '_plugin_code_type_changed' ) 5651 ); 5652 } 5653 5654 if ( $this->is_registered() && $this->is_premium() ) { 5655 // Purge cached payments after switching to the premium version. 5656 // @todo This logic doesn't handle purging the cache for serviceware module upgrade. 5657 $this->get_api_user_scope()->purge_cache( "/plugins/{$this->_module_id}/payments.json?include_addons=true" ); 5631 5658 } 5632 5659 } … … 5692 5719 } 5693 5720 5694 // Schedule code type changes event. 5695 $this->schedule_install_sync(); 5721 if ( $this->is_registered() ) { 5722 // Schedule code type changes event. 5723 $this->schedule_install_sync(); 5724 } 5696 5725 5697 5726 /** … … 9991 10020 * @param string $caller 9992 10021 * 9993 * @return string10022 * @return void 9994 10023 */ 9995 10024 function set_basename( $is_premium, $caller ) { … … 12417 12446 $install_2_blog_map = array(); 12418 12447 foreach ( $blog_2_install_map as $blog_id => $install ) { 12419 $params[] = array( 'id' => $install->id );12448 $params[] = array( 'id' => $install->id, 'url' => $install->url ); 12420 12449 12421 12450 $install_2_blog_map[ $install->id ] = $blog_id; … … 16698 16727 * @return FS_User|false 16699 16728 */ 16700 static function _get_user_by_email( $email ) {16729 public static function _get_user_by_email( $email ) { 16701 16730 self::$_static_logger->entrance(); 16702 16731 … … 17872 17901 * @param bool $redirect 17873 17902 * 17874 * @return string If redirect is `false`, returns the next page the user should be redirected to.17903 * @return void 17875 17904 */ 17876 17905 private function install_many_pending_with_user( … … 23266 23295 23267 23296 /** 23297 * Adds CSS classes for the body tag in the admin. 23298 * 23299 * @param string $classes Space-separated string of class names. 23300 * 23301 * @return string $classes FS Admin body tag class names. 23302 */ 23303 public function fs_addons_body_class( $classes ) { 23304 $classes .= ' plugins-php'; 23305 return $classes; 23306 } 23307 23308 /** 23268 23309 * Account page resources load. 23269 23310 * … … 23281 23322 wp_enqueue_script( 'plugin-install' ); 23282 23323 add_thickbox(); 23283 23284 function fs_addons_body_class( $classes ) { 23285 $classes .= ' plugins-php'; 23286 23287 return $classes; 23288 } 23289 23290 add_filter( 'admin_body_class', 'fs_addons_body_class' ); 23324 add_filter( 'admin_body_class', array( $this, 'fs_addons_body_class' ) ); 23291 23325 } 23292 23326 … … 23423 23457 wp_enqueue_script( 'plugin-install' ); 23424 23458 add_thickbox(); 23425 23426 function fs_addons_body_class( $classes ) { 23427 $classes .= ' plugins-php'; 23428 23429 return $classes; 23430 } 23431 23432 add_filter( 'admin_body_class', 'fs_addons_body_class' ); 23459 add_filter( 'admin_body_class', array( $this, 'fs_addons_body_class' ) ); 23433 23460 23434 23461 if ( ! $this->is_registered() && $this->is_org_repo_compliant() ) { -
wp-media-category-management/trunk/freemius/includes/debug/class-fs-debug-bar-panel.php
r2908847 r2982169 11 11 } 12 12 13 /** 14 * Extends Debug Bar plugin by adding a panel to show all Freemius API requests. 15 * 16 * @author Vova Feldman (@svovaf) 17 * @since 1.1.7.3 18 * 19 * Class Freemius_Debug_Bar_Panel 20 */ 21 class Freemius_Debug_Bar_Panel extends Debug_Bar_Panel { 22 function init() { 23 $this->title( 'Freemius' ); 24 } 13 if ( class_exists( 'Debug_Bar_Panel' ) ) { 25 14 26 static function requests_count() { 27 if ( class_exists( 'Freemius_Api_WordPress' ) ) { 28 $logger = Freemius_Api_WordPress::GetLogger(); 29 } else { 30 $logger = array(); 15 /** 16 * Extends Debug Bar plugin by adding a panel to show all Freemius API requests. 17 * 18 * @author Vova Feldman (@svovaf) 19 * @since 1.1.7.3 20 * 21 * Class Freemius_Debug_Bar_Panel 22 */ 23 class Freemius_Debug_Bar_Panel extends Debug_Bar_Panel { 24 25 public function init() { 26 $this->title( 'Freemius' ); // @phpstan-ignore-line 31 27 } 32 28 33 return number_format( count( $logger ) ); 34 } 29 public static function requests_count() { 30 if ( class_exists( 'Freemius_Api_WordPress' ) ) { 31 $logger = Freemius_Api_WordPress::GetLogger(); 32 } else { 33 $logger = array(); 34 } 35 35 36 static function total_time() { 37 if ( class_exists( 'Freemius_Api_WordPress' ) ) { 38 $logger = Freemius_Api_WordPress::GetLogger(); 39 } else { 40 $logger = array(); 36 return number_format( count( $logger ) ); 41 37 } 42 38 43 $total_time = .0; 44 foreach ( $logger as $l ) { 45 $total_time += $l['total']; 39 public static function total_time() { 40 if ( class_exists( 'Freemius_Api_WordPress' ) ) { 41 $logger = Freemius_Api_WordPress::GetLogger(); 42 } else { 43 $logger = array(); 44 } 45 46 $total_time = .0; 47 foreach ( $logger as $l ) { 48 $total_time += $l['total']; 49 } 50 51 return number_format( 100 * $total_time, 2 ) . ' ' . fs_text_x_inline( 'ms', 'milliseconds' ); 46 52 } 47 53 48 return number_format( 100 * $total_time, 2 ) . ' ' . fs_text_x_inline( 'ms', 'milliseconds' ); 49 } 50 51 function render() { 52 ?> 53 <div id='debug-bar-php'> 54 <?php fs_require_template( '/debug/api-calls.php' ) ?> 55 <br> 56 <?php fs_require_template( '/debug/scheduled-crons.php' ) ?> 57 <br> 58 <?php fs_require_template( '/debug/plugins-themes-sync.php' ) ?> 59 <br> 60 <?php fs_require_template( '/debug/logger.php' ) ?> 61 </div> 62 <?php 54 public function render() { 55 ?> 56 <div id='debug-bar-php'> 57 <?php fs_require_template( '/debug/api-calls.php' ) ?> 58 <br> 59 <?php fs_require_template( '/debug/scheduled-crons.php' ) ?> 60 <br> 61 <?php fs_require_template( '/debug/plugins-themes-sync.php' ) ?> 62 <br> 63 <?php fs_require_template( '/debug/logger.php' ) ?> 64 </div> 65 <?php 66 } 63 67 } 64 68 } -
wp-media-category-management/trunk/freemius/includes/fs-core-functions.php
r2939098 r2982169 1205 1205 * @param string $slug Module slug for overrides. 1206 1206 * 1207 * @return string1207 * @return void 1208 1208 */ 1209 1209 function fs_esc_js_echo_x_inline( $text, $context, $key = '', $slug = 'freemius' ) { -
wp-media-category-management/trunk/freemius/includes/sdk/FreemiusWordPress.php
r2908847 r2982169 474 474 if ( filter_var( $matches[1], FILTER_VALIDATE_IP ) ) { 475 475 if ( strlen( inet_pton( $matches[1] ) ) === 16 ) { 476 // error_log('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.'); 477 // Hook to an action triggered just before cURL is executed to resolve the IP version to v4. 476 /** 477 * error_log('Invalid IPv6 configuration on server, Please disable or get native IPv6 on your server.'); 478 * Hook to an action triggered just before cURL is executed to resolve the IP version to v4. 479 * 480 * @phpstan-ignore-next-line 481 */ 478 482 add_action( 'http_api_curl', 'Freemius_Api_WordPress::CurlResolveToIPv4', 10, 1 ); 479 483 -
wp-media-category-management/trunk/freemius/start.php
r2939098 r2982169 16 16 * @var string 17 17 */ 18 $this_sdk_version = '2.5.1 0';18 $this_sdk_version = '2.5.12'; 19 19 20 20 #region SDK Selection Logic -------------------------------------------------------------------- -
wp-media-category-management/trunk/freemius/templates/forms/license-activation.php
r2908847 r2982169 53 53 $all_sites = Freemius::get_sites(); 54 54 55 $subsite_data_by_install_id = array(); 56 $install_url_by_install_id = array(); 55 $all_site_details = array(); 56 $subsite_url_by_install_id = array(); 57 $install_url_by_install_id = array(); 57 58 58 59 foreach ( $all_sites as $site ) { … … 67 68 68 69 if ( is_object( $install ) ) { 69 if ( isset( $subsite_ data_by_install_id[ $install->id ] ) ) {70 $clone_subsite_ data = $subsite_data_by_install_id[ $install->id ];71 $clone_install_url = $install_url_by_install_id[ $install->id ];70 if ( isset( $subsite_url_by_install_id[ $install->id ] ) ) { 71 $clone_subsite_url = $subsite_url_by_install_id[ $install->id ]; 72 $clone_install_url = $install_url_by_install_id[ $install->id ]; 72 73 73 74 if ( … … 78 79 * @since 2.5.0 79 80 */ 80 fs_strip_url_protocol( untrailingslashit( $clone_install_url ) ) === fs_strip_url_protocol( untrailingslashit( $clone_subsite_ data['url']) ) ||81 fs_strip_url_protocol( untrailingslashit( $clone_install_url ) ) === fs_strip_url_protocol( untrailingslashit( $clone_subsite_url ) ) || 81 82 fs_strip_url_protocol( untrailingslashit( $install->url ) ) !== fs_strip_url_protocol( untrailingslashit( $site_details['url'] ) ) 82 83 ) { … … 89 90 } 90 91 91 $subsite_data_by_install_id[ $install->id ] = $site_details; 92 $install_url_by_install_id[ $install->id ] = $install->url; 93 } 92 $subsite_url_by_install_id[ $install->id ] = $site_details['url']; 93 $install_url_by_install_id[ $install->id ] = $install->url; 94 } 95 96 $all_site_details[] = $site_details; 94 97 } 95 98 … … 97 100 $vars = array( 98 101 'id' => $fs->get_id(), 99 'sites' => array_values( $subsite_data_by_install_id ),102 'sites' => $all_site_details, 100 103 'require_license_key' => true 101 104 ); -
wp-media-category-management/trunk/include/admin/class-WP_MCM_Render_Settings.php
r2908847 r2982169 815 815 // $this->debugMP('pr',__FUNCTION__.' found icon:', $icon ); 816 816 while ($filename = readdir($iconDir)) { 817 if (strpos($filename, '.') === 0) { continue; } 817 if ( str_starts_with($filename, '.') ) { 818 continue; 819 } 818 820 $files[$filename] = $fqURLIndex; 819 821 }; -
wp-media-category-management/trunk/include/media/class-WP_MCM_Media_List.php
r2936153 r2982169 211 211 'ids' 212 212 ), wp_get_referer() ); 213 if ( !$sendback || false === strpos( wp_get_referer(), 'upload.php' ) ) {213 if ( !$sendback || !str_contains( wp_get_referer(), 'upload.php' ) ) { 214 214 $sendback = admin_url( "upload.php" ); 215 215 } … … 454 454 } elseif ( 'tags' === $key ) { 455 455 $taxonomy_key = 'post_tag'; 456 } elseif ( 0 === strpos( $key, 'taxonomy-' ) ) {456 } elseif ( str_starts_with( $key, 'taxonomy-' ) ) { 457 457 $taxonomy_key = substr( $key, 9 ); 458 458 } else { … … 499 499 } elseif ( 'tags' === $key ) { 500 500 $taxonomy_key = 'post_tag'; 501 } elseif ( 0 === strpos( $key, 'taxonomy-' ) ) {501 } elseif ( str_starts_with( $key, 'taxonomy-' ) ) { 502 502 $taxonomy_key = substr( $key, 9 ); 503 503 } else { -
wp-media-category-management/trunk/include/taxonomy/class-WP_MCM_Taxonomy.php
r2939098 r2982169 256 256 $mcm_html = $html; 257 257 // Check whether the html contains a href indication 258 if ( false === strpos( $mcm_html, 'img' ) ) {258 if ( !str_contains( $mcm_html, 'img' ) ) { 259 259 $this->debugMP( 'msg', __FUNCTION__ . ' attachment[' . $post_id . '] does not contain IMG tag in mcm_html :' . $mcm_html ); 260 260 } -
wp-media-category-management/trunk/wp-media-category-management.php
r2939098 r2982169 7 7 Author: DeBAAT 8 8 Author URI: https://www.de-baat.nl/WP_MCM/ 9 Version: 2.1. 39 Version: 2.1.4 10 10 Text Domain: wp-media-category-management 11 11 Domain Path: /languages/
Note: See TracChangeset
for help on using the changeset viewer.