Ticket #16953: 16953.alternative.diff
File 16953.alternative.diff, 2.7 KB (added by , 13 years ago) |
---|
-
wp-includes/plugin.php
569 569 $plugin_dir = preg_replace('|/+|','/', $plugin_dir); // remove any duplicate slash 570 570 $mu_plugin_dir = str_replace('\\','/',WPMU_PLUGIN_DIR); // sanitize for Win32 installs 571 571 $mu_plugin_dir = preg_replace('|/+|','/', $mu_plugin_dir); // remove any duplicate slash 572 573 static $plugin_links_replaces; 574 $plugin_links_replaces = plugin_links_replaces(); 575 $file = preg_replace( array_keys($plugin_links_replaces), array_values($plugin_links_replaces), $file); 576 572 577 $file = preg_replace('#^' . preg_quote($plugin_dir, '#') . '/|^' . preg_quote($mu_plugin_dir, '#') . '/#','',$file); // get relative path from plugins dir 573 578 $file = trim($file, '/'); 574 579 return $file; 575 580 } 576 581 582 function plugin_links( $plugin_root = WP_PLUGIN_DIR ) { 583 $links = array(); 584 585 $plugins_dir = @ opendir( $plugin_root ); 586 while (($file = readdir( $plugins_dir ) ) !== false ) { 587 if ( substr($file, 0, 1) == '.' ) 588 continue; 589 590 if ( is_link( $plugin_root.'/'.$file ) ) { 591 $links[$file] = untrailingslashit(readlink( $plugin_root.'/'.$file )); 592 } 593 } 594 @closedir( $plugins_dir ); 595 596 return $links; 597 } 598 599 function plugin_links_replaces( $plugin_root = WP_PLUGIN_DIR ) { 600 $links = array(); 601 $plugin_links = plugin_links( $plugin_root ); 602 foreach ( $plugin_links as $file => $target ) 603 $links['#^' . preg_quote($target, '#') . '(/|$)#'] = $file . '$1'; 604 return $links; 605 } 606 577 607 /** 578 608 * Gets the filesystem directory path (with trailing slash) for the plugin __FILE__ passed in 579 609 * @package WordPress -
wp-admin/includes/plugin.php
245 245 $plugin_root .= $plugin_folder; 246 246 247 247 // Files in wp-content/plugins directory 248 $plugins_dir = @ opendir( $plugin_root );248 $plugins_dir = @ opendir( $plugin_root ); 249 249 $plugin_files = array(); 250 250 if ( $plugins_dir ) { 251 251 while (($file = readdir( $plugins_dir ) ) !== false ) { 252 252 if ( substr($file, 0, 1) == '.' ) 253 253 continue; 254 if ( is_dir( $plugin_root.'/'.$file ) ) { 255 $plugins_subdir = @ opendir( $plugin_root.'/'.$file ); 254 255 $full_file_path = $plugin_root.'/'.$file; 256 if ( is_link( $full_file_path ) ) 257 $full_file_path = readlink( $full_file_path ); 258 259 if ( is_dir( $full_file_path ) ) { 260 $plugins_subdir = @ opendir( $full_file_path ); 256 261 if ( $plugins_subdir ) { 257 262 while (($subfile = readdir( $plugins_subdir ) ) !== false ) { 258 263 if ( substr($subfile, 0, 1) == '.' )