Ticket #18013: 18013.diff

File 18013.diff, 1.2 KB (added by ryan, 23 months ago)
Line 
1Index: wp-admin/includes/class-wp-ms-sites-list-table.php
2===================================================================
3--- wp-admin/includes/class-wp-ms-sites-list-table.php  (revision 18403)
4+++ wp-admin/includes/class-wp-ms-sites-list-table.php  (working copy)
5@@ -52,8 +52,11 @@
6 
7                if ( empty($s) ) {
8                        // Nothing to do.
9-               } elseif ( preg_match('/^[0-9]+\./', $s) ) {
10-                       // IP address
11+               } elseif ( preg_match( '/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/', $s ) ||
12+                                       preg_match( '/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.?$/', $s ) ||
13+                                       preg_match( '/^[0-9]{1,3}\.[0-9]{1,3}\.?$/', $s ) ||
14+                                       preg_match( '/^[0-9]{1,3}\.$/', $s ) ) {
15+                       // IPv4 address
16                        $reg_blog_ids = $wpdb->get_col( "SELECT blog_id FROM {$wpdb->registration_log} WHERE {$wpdb->registration_log}.IP LIKE ( '{$like_s}$wild' )" );
17 
18                        if ( !$reg_blog_ids )
19@@ -64,7 +67,7 @@
20                                WHERE site_id = '{$wpdb->siteid}'
21                                AND {$wpdb->blogs}.blog_id IN (" . implode( ', ', $reg_blog_ids ) . ")";
22                } else {
23-                       if ( is_numeric($s) ) {
24+                       if ( is_numeric($s) && empty( $wild ) ) {
25                                $query .= " AND ( {$wpdb->blogs}.blog_id = '{$like_s}' )";
26                        } elseif ( is_subdomain_install() ) {
27                                $blog_s = str_replace( '.' . $current_site->domain, '', $like_s );