[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