[wp-cvs] wordpress/wp-admin admin-functions.php, 1.58, 1.59 admin.php, 1.1, 1.2 plugin-editor.php, 1.1, 1.2

Ryan Boren rboren at users.sourceforge.net
Sun Nov 28 00:33:07 UTC 2004


Update of /cvsroot/cafelog/wordpress/wp-admin
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8821/wp-admin

Modified Files:
	admin-functions.php admin.php plugin-editor.php 
Log Message:
Allow plugins to be loaded from subdirs of wp-content/plugins.

Index: admin.php
===================================================================
RCS file: /cvsroot/cafelog/wordpress/wp-admin/admin.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** admin.php	19 Oct 2004 03:03:03 -0000	1.1
--- admin.php	28 Nov 2004 00:33:04 -0000	1.2
***************
*** 55,59 ****
  // Handle plugin admin pages.
  if (isset($_GET['page'])) {
! 	$plugin_page = basename($_GET['page']);
  	if (! file_exists(ABSPATH . "wp-content/plugins/$plugin_page")) {
  		die(sprintf(__('Cannot load %s.'), $plugin_page));
--- 55,59 ----
  // Handle plugin admin pages.
  if (isset($_GET['page'])) {
! 	$plugin_page = plugin_basename($_GET['page']);
  	if (! file_exists(ABSPATH . "wp-content/plugins/$plugin_page")) {
  		die(sprintf(__('Cannot load %s.'), $plugin_page));

Index: admin-functions.php
===================================================================
RCS file: /cvsroot/cafelog/wordpress/wp-admin/admin-functions.php,v
retrieving revision 1.58
retrieving revision 1.59
diff -C2 -d -r1.58 -r1.59
*** admin-functions.php	26 Nov 2004 02:29:45 -0000	1.58
--- admin-functions.php	28 Nov 2004 00:33:03 -0000	1.59
***************
*** 733,740 ****
  }
  
  function add_menu_page($page_title, $menu_title, $access_level, $file) {
  	global $menu;
  
! 	$file = basename($file);
  
  	$menu[] = array($menu_title, $access_level, $file, $page_title);
--- 733,744 ----
  }
  
+ function plugin_basename($file) {
+ 	return preg_replace('#^.*wp-content/plugins/#', '', $file);
+ }
+ 
  function add_menu_page($page_title, $menu_title, $access_level, $file) {
  	global $menu;
  
! 	$file = plugin_basename($file);
  
  	$menu[] = array($menu_title, $access_level, $file, $page_title);
***************
*** 744,748 ****
  	global $submenu;
  
! 	$file = basename($file);
  
  	$submenu[$parent][] = array($menu_title, $access_level, $file, $page_title);
--- 748,752 ----
  	global $submenu;
  
! 	$file = plugin_basename($file);
  
  	$submenu[$parent][] = array($menu_title, $access_level, $file, $page_title);
***************
*** 885,890 ****
  	if ($plugins_dir) {
  		while(($file = $plugins_dir->read()) !== false) {
! 			if ( !preg_match('|^\.+$|', $file) && preg_match('|\.php$|', $file) ) 
! 				$plugin_files[] = $file;
  		}
  	}
--- 889,908 ----
  	if ($plugins_dir) {
  		while(($file = $plugins_dir->read()) !== false) {
! 			if ( preg_match('|^\.+$|', $file) )
! 				continue;
! 			if (is_dir($plugin_root . '/' . $file)) {
! 				$plugins_subdir = @ dir($plugin_root . '/' . $file);
! 				if ($plugins_subdir) {
! 					while(($subfile = $plugins_subdir->read()) !== false) {
! 						if ( preg_match('|^\.+$|', $subfile) )
! 							continue;
! 						if ( preg_match('|\.php$|', $subfile) )
! 							$plugin_files[] = "$file/$subfile";
! 					}
! 				}
! 			} else {
! 				if ( preg_match('|\.php$|', $file) ) 
! 					$plugin_files[] = $file;
! 			}
  		}
  	}
***************
*** 903,907 ****
  		}
  
! 		$wp_plugins[basename($plugin_file)] = $plugin_data;
  	}
  
--- 921,925 ----
  		}
  
! 		$wp_plugins[plugin_basename($plugin_file)] = $plugin_data;
  	}
  

Index: plugin-editor.php
===================================================================
RCS file: /cvsroot/cafelog/wordpress/wp-admin/plugin-editor.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** plugin-editor.php	17 Nov 2004 03:15:44 -0000	1.1
--- plugin-editor.php	28 Nov 2004 00:33:04 -0000	1.2
***************
*** 21,40 ****
  }
  
! $plugins_dir = @ dir(ABSPATH . 'wp-content/plugins');
! if ($plugins_dir) {
! 	while(($plug_file = $plugins_dir->read()) !== false) {
! 		if ( !preg_match('|^\.+$|', $plug_file) && preg_match('|\.php$|', $plug_file) ) 
! 			$plugin_files[] = "wp-content/plugins/$plug_file";
! 	}
! }
! 
! if (count($plugin_files)) {
! 	natcasesort($plugin_files);
! }
! 
! if (file_exists(ABSPATH . 'my-hacks.php')) {
! 	$plugin_files[] = 'my-hacks.php';
! }
! 
  
  if (empty($file)) {
--- 21,26 ----
  }
  
! $plugins = get_plugins();
! $plugin_files = array_keys($plugins);
  
  if (empty($file)) {
***************
*** 43,47 ****
  
  $file = validate_file_to_edit($file, $plugin_files);
! $real_file = get_real_file_to_edit($file);
  
  switch($action) {
--- 29,33 ----
  
  $file = validate_file_to_edit($file, $plugin_files);
! $real_file = get_real_file_to_edit("wp-content/plugins/$file");
  
  switch($action) {
***************
*** 105,109 ****
    <ul>
  <?php foreach($plugin_files as $plugin_file) : ?>
! 		 <li><a href="plugin-editor.php?file=<?php echo "$plugin_file"; ?>"><?php echo get_file_description(basename($plugin_file)); ?></a></li>
  <?php endforeach; ?>
    </ul>
--- 91,95 ----
    <ul>
  <?php foreach($plugin_files as $plugin_file) : ?>
! 		 <li><a href="plugin-editor.php?file=<?php echo "$plugin_file"; ?>"><?php echo $plugins[$plugin_file]['Name']; ?></a></li>
  <?php endforeach; ?>
    </ul>




More information about the cvs mailing list