Allow wp-content to exist outside of webroot. Props sambauers. see #6938
git-svn-id: http://svn.automattic.com/wordpress/trunk@7999 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -58,7 +58,7 @@ if (isset($plugin_page)) {
|
||||
wp_die(__('Invalid plugin page'));
|
||||
}
|
||||
|
||||
if (! ( file_exists(ABSPATH . PLUGINDIR . "/$plugin_page") && is_file( ABSPATH . PLUGINDIR . "/$plugin_page") ) )
|
||||
if (! ( file_exists(WP_PLUGIN_DIR . "/$plugin_page") && is_file(WP_PLUGIN_DIR . "/$plugin_page") ) )
|
||||
wp_die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));
|
||||
|
||||
do_action('load-' . $plugin_page);
|
||||
@@ -66,7 +66,7 @@ if (isset($plugin_page)) {
|
||||
if (! isset($_GET['noheader']))
|
||||
require_once(ABSPATH . 'wp-admin/admin-header.php');
|
||||
|
||||
include(ABSPATH . PLUGINDIR . "/$plugin_page");
|
||||
include(WP_PLUGIN_DIR . "/$plugin_page");
|
||||
}
|
||||
|
||||
include(ABSPATH . 'wp-admin/admin-footer.php');
|
||||
|
||||
@@ -179,7 +179,7 @@ class MT_Import {
|
||||
|
||||
function select_authors() {
|
||||
if ( $_POST['upload_type'] === 'ftp' ) {
|
||||
$file['file'] = ABSPATH . 'wp-content/mt-export.txt';
|
||||
$file['file'] = WP_CONTENT_DIR . '/mt-export.txt';
|
||||
if ( !file_exists($file['file']) )
|
||||
$file['error'] = __('<code>mt-export.txt</code> does not exist');
|
||||
} else {
|
||||
@@ -426,7 +426,7 @@ class MT_Import {
|
||||
function import() {
|
||||
$this->id = (int) $_GET['id'];
|
||||
if ( $this->id == 0 )
|
||||
$this->file = ABSPATH . 'wp-content/mt-export.txt';
|
||||
$this->file = WP_CONTENT_DIR . '/mt-export.txt';
|
||||
else
|
||||
$this->file = get_attached_file($this->id);
|
||||
$this->get_authors_from_post();
|
||||
|
||||
@@ -13,10 +13,12 @@ class WP_Filesystem_Direct{
|
||||
function setDefaultPermissions($perm){
|
||||
$this->permission = $perm;
|
||||
}
|
||||
function find_base_dir($base = '.', $echo = false){
|
||||
return str_replace('\\','/',ABSPATH);
|
||||
function find_base_dir($path = false, $base = '.', $echo = false){
|
||||
if (!$path)
|
||||
$path = ABSPATH;
|
||||
return str_replace('\\','/',$path);
|
||||
}
|
||||
function get_base_dir($base = '.', $echo = false){
|
||||
function get_base_dir($path = false, $base = '.', $echo = false){
|
||||
return $this->find_base_dir($base, $echo);
|
||||
}
|
||||
function get_contents($file){
|
||||
|
||||
@@ -84,12 +84,15 @@ class WP_Filesystem_FTPext{
|
||||
$this->permission = $perm;
|
||||
}
|
||||
|
||||
function find_base_dir($base = '.',$echo = false, $loop = false) {
|
||||
function find_base_dir($path = false, $base = '.',$echo = false, $loop = false) {
|
||||
if (!$path)
|
||||
$path = ABSPATH;
|
||||
|
||||
//Sanitize the Windows path formats, This allows easier conparison and aligns it to FTP output.
|
||||
$abspath = str_replace('\\','/',ABSPATH); //windows: Straighten up the paths..
|
||||
if( strpos($abspath, ':') ){ //Windows, Strip out the driveletter
|
||||
if( preg_match("|.{1}\:(.+)|i", $abspath, $mat) )
|
||||
$abspath = $mat[1];
|
||||
$path = str_replace('\\','/',$path); //windows: Straighten up the paths..
|
||||
if( strpos($path, ':') ){ //Windows, Strip out the driveletter
|
||||
if( preg_match("|.{1}\:(.+)|i", $path, $mat) )
|
||||
$path = $mat[1];
|
||||
}
|
||||
|
||||
//Set up the base directory (Which unless specified, is the current one)
|
||||
@@ -97,9 +100,9 @@ class WP_Filesystem_FTPext{
|
||||
$base = trailingslashit($base);
|
||||
|
||||
//Can we see the Current directory as part of the ABSPATH?
|
||||
$location = strpos($abspath, $base);
|
||||
$location = strpos($path, $base);
|
||||
if( false !== $location ) {
|
||||
$newbase = path_join($base, substr($abspath, $location + strlen($base)));
|
||||
$newbase = path_join($base, substr($path, $location + strlen($base)));
|
||||
|
||||
if( false !== $this->chdir($newbase) ){ //chdir sometimes returns null under certain circumstances, even when its changed correctly, FALSE will be returned if it doesnt change correctly.
|
||||
if($echo) printf( __('Changing to %s') . '<br/>', $newbase );
|
||||
@@ -116,7 +119,7 @@ class WP_Filesystem_FTPext{
|
||||
//Get a list of the files in the current directory, See if we can locate where we are in the folder stucture.
|
||||
$files = $this->dirlist($base);
|
||||
|
||||
$arrPath = explode('/', $abspath);
|
||||
$arrPath = explode('/', $path);
|
||||
foreach($arrPath as $key){
|
||||
//Working from /home/ to /user/ to /wordpress/ see if that file exists within the current folder,
|
||||
// If its found, change into it and follow through looking for it.
|
||||
@@ -126,7 +129,7 @@ class WP_Filesystem_FTPext{
|
||||
//Lets try that folder:
|
||||
$folder = path_join($base, $key);
|
||||
if($echo) printf( __('Changing to %s') . '<br/>', $folder );
|
||||
$ret = $this->find_base_dir( $folder, $echo, $loop);
|
||||
$ret = $this->find_base_dir( $path, $folder, $echo, $loop);
|
||||
if( $ret )
|
||||
return $ret;
|
||||
}
|
||||
@@ -139,14 +142,14 @@ class WP_Filesystem_FTPext{
|
||||
if( $loop )
|
||||
return false;//Prevent tihs function looping again.
|
||||
//As an extra last resort, Change back to / if the folder wasnt found. This comes into effect when the CWD is /home/user/ but WP is at /var/www/.... mainly dedicated setups.
|
||||
return $this->find_base_dir('/', $echo, true);
|
||||
return $this->find_base_dir($path, '/', $echo, true);
|
||||
}
|
||||
|
||||
function get_base_dir($base = '.', $echo = false){
|
||||
function get_base_dir($path = false, $base = '.', $echo = false){
|
||||
if( defined('FTP_BASE') )
|
||||
$this->wp_base = FTP_BASE;
|
||||
if( empty($this->wp_base) )
|
||||
$this->wp_base = $this->find_base_dir($base,$echo);
|
||||
$this->wp_base = $this->find_base_dir($path, $base, $echo);
|
||||
return $this->wp_base;
|
||||
}
|
||||
function get_contents($file,$type='',$resumepos=0){
|
||||
|
||||
@@ -86,12 +86,15 @@ class WP_Filesystem_ftpsockets{
|
||||
$this->permission = $perm;
|
||||
}
|
||||
|
||||
function find_base_dir($base = '.',$echo = false, $loop = false) {
|
||||
function find_base_dir($path = false, $base = '.',$echo = false, $loop = false) {
|
||||
if (!$path)
|
||||
$path = ABSPATH;
|
||||
|
||||
//Sanitize the Windows path formats, This allows easier conparison and aligns it to FTP output.
|
||||
$abspath = str_replace('\\','/',ABSPATH); //windows: Straighten up the paths..
|
||||
if( strpos($abspath, ':') ){ //Windows, Strip out the driveletter
|
||||
if( preg_match("|.{1}\:(.+)|i", $abspath, $mat) )
|
||||
$abspath = $mat[1];
|
||||
$path = str_replace('\\','/',$path); //windows: Straighten up the paths..
|
||||
if( strpos($path, ':') ){ //Windows, Strip out the driveletter
|
||||
if( preg_match("|.{1}\:(.+)|i", $path, $mat) )
|
||||
$path = $mat[1];
|
||||
}
|
||||
|
||||
//Set up the base directory (Which unless specified, is the current one)
|
||||
@@ -99,9 +102,9 @@ class WP_Filesystem_ftpsockets{
|
||||
$base = trailingslashit($base);
|
||||
|
||||
//Can we see the Current directory as part of the ABSPATH?
|
||||
$location = strpos($abspath, $base);
|
||||
$location = strpos($path, $base);
|
||||
if( false !== $location ) {
|
||||
$newbase = path_join($base, substr($abspath, $location + strlen($base)));
|
||||
$newbase = path_join($base, substr($path, $location + strlen($base)));
|
||||
|
||||
if( false !== $this->chdir($newbase) ){ //chdir sometimes returns null under certain circumstances, even when its changed correctly, FALSE will be returned if it doesnt change correctly.
|
||||
if($echo) printf( __('Changing to %s') . '<br/>', $newbase );
|
||||
@@ -118,7 +121,7 @@ class WP_Filesystem_ftpsockets{
|
||||
//Get a list of the files in the current directory, See if we can locate where we are in the folder stucture.
|
||||
$files = $this->dirlist($base);
|
||||
|
||||
$arrPath = explode('/', $abspath);
|
||||
$arrPath = explode('/', $path);
|
||||
foreach($arrPath as $key){
|
||||
//Working from /home/ to /user/ to /wordpress/ see if that file exists within the current folder,
|
||||
// If its found, change into it and follow through looking for it.
|
||||
@@ -128,7 +131,7 @@ class WP_Filesystem_ftpsockets{
|
||||
//Lets try that folder:
|
||||
$folder = path_join($base, $key);
|
||||
if($echo) printf( __('Changing to %s') . '<br/>', $folder );
|
||||
$ret = $this->find_base_dir( $folder, $echo, $loop);
|
||||
$ret = $this->find_base_dir($path, $folder, $echo, $loop);
|
||||
if( $ret )
|
||||
return $ret;
|
||||
}
|
||||
@@ -141,14 +144,14 @@ class WP_Filesystem_ftpsockets{
|
||||
if( $loop )
|
||||
return false;//Prevent tihs function looping again.
|
||||
//As an extra last resort, Change back to / if the folder wasnt found. This comes into effect when the CWD is /home/user/ but WP is at /var/www/.... mainly dedicated setups.
|
||||
return $this->find_base_dir('/', $echo, true);
|
||||
return $this->find_base_dir($path, '/', $echo, true);
|
||||
}
|
||||
|
||||
function get_base_dir($base = '.', $echo = false){
|
||||
function get_base_dir($path = false, $base = '.', $echo = false){
|
||||
if( defined('FTP_BASE') )
|
||||
$this->wp_base = FTP_BASE;
|
||||
if( empty($this->wp_base) )
|
||||
$this->wp_base = $this->find_base_dir($base, $echo);
|
||||
$this->wp_base = $this->find_base_dir($path, $base, $echo);
|
||||
return $this->wp_base;
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ function get_temp_dir() {
|
||||
if ( defined('WP_TEMP_DIR') )
|
||||
return trailingslashit(WP_TEMP_DIR);
|
||||
|
||||
$temp = ABSPATH . 'wp-content/';
|
||||
$temp = WP_CONTENT_DIR . '/';
|
||||
if ( is_dir($temp) && is_writable($temp) )
|
||||
return $temp;
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ function get_plugins($plugin_folder = '') {
|
||||
}
|
||||
|
||||
$wp_plugins = array ();
|
||||
$plugin_root = ABSPATH . PLUGINDIR;
|
||||
$plugin_root = WP_PLUGIN_DIR;
|
||||
if( !empty($plugin_folder) )
|
||||
$plugin_root .= $plugin_folder;
|
||||
|
||||
@@ -104,7 +104,7 @@ function activate_plugin($plugin, $redirect = '') {
|
||||
if ( !empty($redirect) )
|
||||
wp_redirect(add_query_arg('_error_nonce', wp_create_nonce('plugin-activation-error_' . $plugin), $redirect)); // we'll override this later if the plugin can be included without fatal error
|
||||
ob_start();
|
||||
@include(ABSPATH . PLUGINDIR . '/' . $plugin);
|
||||
@include(WP_PLUGIN_DIR . '/' . $plugin);
|
||||
$current[] = $plugin;
|
||||
sort($current);
|
||||
update_option('active_plugins', $current);
|
||||
@@ -179,7 +179,7 @@ function validate_active_plugins() {
|
||||
// If a plugin file does not exist, remove it from the list of active
|
||||
// plugins.
|
||||
foreach ( $check_plugins as $check_plugin ) {
|
||||
if ( !file_exists(ABSPATH . PLUGINDIR . '/' . $check_plugin) ) {
|
||||
if ( !file_exists(WP_PLUGIN_DIR . '/' . $check_plugin) ) {
|
||||
$current = get_option('active_plugins');
|
||||
$key = array_search($check_plugin, $current);
|
||||
if ( false !== $key && NULL !== $key ) {
|
||||
@@ -193,7 +193,7 @@ function validate_active_plugins() {
|
||||
function validate_plugin($plugin) {
|
||||
if ( validate_file($plugin) )
|
||||
return new WP_Error('plugin_invalid', __('Invalid plugin.'));
|
||||
if ( ! file_exists(ABSPATH . PLUGINDIR . '/' . $plugin) )
|
||||
if ( ! file_exists(WP_PLUGIN_DIR . '/' . $plugin) )
|
||||
return new WP_Error('plugin_not_found', __('Plugin file does not exist.'));
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -226,10 +226,10 @@ function populate_options() {
|
||||
if ( ini_get('safe_mode') ) {
|
||||
// Safe mode screws up mkdir(), so we must use a flat structure.
|
||||
add_option('uploads_use_yearmonth_folders', 0);
|
||||
add_option('upload_path', 'wp-content');
|
||||
add_option('upload_path', WP_CONTENT_DIR);
|
||||
} else {
|
||||
add_option('uploads_use_yearmonth_folders', 1);
|
||||
add_option('upload_path', 'wp-content/uploads');
|
||||
add_option('upload_path', WP_CONTENT_DIR . '/uploads');
|
||||
}
|
||||
|
||||
// 2.0.3
|
||||
|
||||
@@ -159,8 +159,8 @@ function wp_update_plugin($plugin, $feedback = '') {
|
||||
if ( $wp_filesystem->errors->get_error_code() )
|
||||
return new WP_Error('fs_error', __('Filesystem error'), $wp_filesystem->errors);
|
||||
|
||||
//Get the Base folder
|
||||
$base = $wp_filesystem->get_base_dir();
|
||||
//Get the base plugin folder
|
||||
$base = $wp_filesystem->get_base_dir(WP_PLUGIN_DIR);
|
||||
|
||||
if ( empty($base) )
|
||||
return new WP_Error('fs_nowordpress', __('Unable to locate WordPress directory.'));
|
||||
@@ -179,7 +179,7 @@ function wp_update_plugin($plugin, $feedback = '') {
|
||||
if ( is_wp_error($file) )
|
||||
return new WP_Error('download_failed', __('Download failed.'), $file->get_error_message());
|
||||
|
||||
$working_dir = $base . 'wp-content/upgrade/' . basename($plugin, '.php');
|
||||
$working_dir = $wp_filesystem->get_base_dir(WP_CONTENT_DIR) . '/upgrade/' . basename($plugin, '.php');
|
||||
|
||||
// Clean up working directory
|
||||
if ( $wp_filesystem->is_dir($working_dir) )
|
||||
@@ -205,14 +205,14 @@ function wp_update_plugin($plugin, $feedback = '') {
|
||||
|
||||
// Remove the existing plugin.
|
||||
apply_filters('update_feedback', __('Removing the old version of the plugin'));
|
||||
$plugin_dir = dirname($base . PLUGINDIR . "/$plugin");
|
||||
$plugin_dir = dirname($base . "/$plugin");
|
||||
$plugin_dir = trailingslashit($plugin_dir);
|
||||
|
||||
// If plugin is in its own directory, recursively delete the directory.
|
||||
if ( strpos($plugin, '/') && $plugin_dir != $base . PLUGINDIR . '/' ) //base check on if plugin includes directory seperator AND that its not the root plugin folder
|
||||
if ( strpos($plugin, '/') && $plugin_dir != $base . '/' ) //base check on if plugin includes directory seperator AND that its not the root plugin folder
|
||||
$deleted = $wp_filesystem->delete($plugin_dir, true);
|
||||
else
|
||||
$deleted = $wp_filesystem->delete($base . PLUGINDIR . "/$plugin");
|
||||
$deleted = $wp_filesystem->delete($base . '/' . $plugin);
|
||||
|
||||
if ( !$deleted ) {
|
||||
$wp_filesystem->delete($working_dir, true);
|
||||
@@ -221,7 +221,7 @@ function wp_update_plugin($plugin, $feedback = '') {
|
||||
|
||||
apply_filters('update_feedback', __('Installing the latest version'));
|
||||
// Copy new version of plugin into place.
|
||||
if ( !copy_dir($working_dir, $base . PLUGINDIR) ) {
|
||||
if ( !copy_dir($working_dir, $base) ) {
|
||||
//$wp_filesystem->delete($working_dir, true); //TODO: Uncomment? This DOES mean that the new files are available in the upgrade folder if it fails.
|
||||
return new WP_Error('install_failed', __('Installation failed'));
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
if ( file_exists(ABSPATH . 'wp-content/install.php') )
|
||||
require (ABSPATH . 'wp-content/install.php');
|
||||
if ( file_exists(WP_CONTENT_DIR . '/install.php') )
|
||||
require (WP_CONTENT_DIR . '/install.php');
|
||||
require_once(ABSPATH . 'wp-admin/includes/admin.php');
|
||||
require_once(ABSPATH . 'wp-admin/includes/schema.php');
|
||||
|
||||
@@ -1086,7 +1086,7 @@ function make_db_current_silent() {
|
||||
|
||||
function make_site_theme_from_oldschool($theme_name, $template) {
|
||||
$home_path = get_home_path();
|
||||
$site_dir = ABSPATH . "wp-content/themes/$template";
|
||||
$site_dir = WP_CONTENT_DIR . "/themes/$template";
|
||||
|
||||
if (! file_exists("$home_path/index.php"))
|
||||
return false;
|
||||
@@ -1105,7 +1105,7 @@ function make_site_theme_from_oldschool($theme_name, $template) {
|
||||
if ($oldfile == 'index.php') { // Check to make sure it's not a new index
|
||||
$index = implode('', file("$oldpath/$oldfile"));
|
||||
if (strpos($index, 'WP_USE_THEMES') !== false) {
|
||||
if (! @copy(ABSPATH . 'wp-content/themes/default/index.php', "$site_dir/$newfile"))
|
||||
if (! @copy(WP_CONTENT_DIR . '/themes/default/index.php', "$site_dir/$newfile"))
|
||||
return false;
|
||||
continue; // Don't copy anything
|
||||
}
|
||||
@@ -1153,8 +1153,8 @@ function make_site_theme_from_oldschool($theme_name, $template) {
|
||||
}
|
||||
|
||||
function make_site_theme_from_default($theme_name, $template) {
|
||||
$site_dir = ABSPATH . "wp-content/themes/$template";
|
||||
$default_dir = ABSPATH . 'wp-content/themes/default';
|
||||
$site_dir = WP_CONTENT_DIR . "/themes/$template";
|
||||
$default_dir = WP_CONTENT_DIR . '/themes/default';
|
||||
|
||||
// Copy files from the default theme to the site theme.
|
||||
//$files = array('index.php', 'comments.php', 'comments-popup.php', 'footer.php', 'header.php', 'sidebar.php', 'style.css');
|
||||
@@ -1211,7 +1211,7 @@ function make_site_theme() {
|
||||
// Name the theme after the blog.
|
||||
$theme_name = __get_option('blogname');
|
||||
$template = sanitize_title($theme_name);
|
||||
$site_dir = ABSPATH . "wp-content/themes/$template";
|
||||
$site_dir = WP_CONTENT_DIR . "/themes/$template";
|
||||
|
||||
// If the theme already exists, nothing to do.
|
||||
if ( is_dir($site_dir)) {
|
||||
@@ -1219,7 +1219,7 @@ function make_site_theme() {
|
||||
}
|
||||
|
||||
// We must be able to write to the themes dir.
|
||||
if (! is_writable(ABSPATH . "wp-content/themes")) {
|
||||
if (! is_writable(WP_CONTENT_DIR . "/themes")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -19,13 +19,13 @@ foreach ( $menu as $key => $item ) {
|
||||
if ( !empty($submenu[$item[2]]) ) {
|
||||
$submenu[$item[2]] = array_values($submenu[$item[2]]); // Re-index.
|
||||
$menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
|
||||
if ( file_exists(ABSPATH . PLUGINDIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
|
||||
if ( file_exists(WP_PLUGIN_DIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
|
||||
echo "\n\t<li><a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
|
||||
else
|
||||
echo "\n\t<li><a href='{$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
|
||||
} else if ( current_user_can($item[1]) ) {
|
||||
$menu_hook = get_plugin_page_hook($item[2], 'admin.php');
|
||||
if ( file_exists(ABSPATH . PLUGINDIR . "/{$item[2]}") || !empty($menu_hook) )
|
||||
if ( file_exists(WP_PLUGIN_DIR . "/{$item[2]}") || !empty($menu_hook) )
|
||||
echo "\n\t<li><a href='admin.php?page={$item[2]}'$class>{$item[0]}</a></li>";
|
||||
else
|
||||
echo "\n\t<li><a href='{$item[2]}'$class>{$item[0]}</a></li>";
|
||||
@@ -49,13 +49,13 @@ foreach ( $menu as $key => $item ) {
|
||||
if ( !empty($submenu[$item[2]]) ) {
|
||||
$submenu[$item[2]] = array_values($submenu[$item[2]]); // Re-index.
|
||||
$menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
|
||||
if ( file_exists(ABSPATH . PLUGINDIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
|
||||
if ( file_exists(WP_PLUGIN_DIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
|
||||
echo "\n\t<li><a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
|
||||
else
|
||||
echo "\n\t<li><a href='{$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
|
||||
} else if ( current_user_can($item[1]) ) {
|
||||
$menu_hook = get_plugin_page_hook($item[2], 'admin.php');
|
||||
if ( file_exists(ABSPATH . PLUGINDIR . "/{$item[2]}") || !empty($menu_hook) )
|
||||
if ( file_exists(WP_PLUGIN_DIR . "/{$item[2]}") || !empty($menu_hook) )
|
||||
echo "\n\t<li><a href='admin.php?page={$item[2]}'$class>{$item[0]}</a></li>";
|
||||
else
|
||||
echo "\n\t<li><a href='{$item[2]}'$class>{$item[0]}</a></li>";
|
||||
@@ -74,13 +74,13 @@ foreach ( $menu as $key => $item ) {
|
||||
if ( !empty($submenu[$item[2]]) ) {
|
||||
$submenu[$item[2]] = array_values($submenu[$item[2]]); // Re-index.
|
||||
$menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
|
||||
if ( file_exists(ABSPATH . PLUGINDIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
|
||||
if ( file_exists(WP_PLUGIN_DIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
|
||||
echo "\n\t<li><a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
|
||||
else
|
||||
echo "\n\t<li><a href='{$submenu[$item[2]][0][2]}'$class>{$item[0]}</a></li>";
|
||||
} else if ( current_user_can($item[1]) ) {
|
||||
$menu_hook = get_plugin_page_hook($item[2], 'admin.php');
|
||||
if ( file_exists(ABSPATH . PLUGINDIR . "/{$item[2]}") || !empty($menu_hook) )
|
||||
if ( file_exists(WP_PLUGIN_DIR . "/{$item[2]}") || !empty($menu_hook) )
|
||||
echo "\n\t<li><a href='admin.php?page={$item[2]}'$class>{$item[0]}</a></li>";
|
||||
else
|
||||
echo "\n\t<li><a href='{$item[2]}'$class>{$item[0]}</a></li>";
|
||||
@@ -106,13 +106,13 @@ foreach ( $menu as $key => $item ) {
|
||||
if ( !empty($submenu[$item[2]]) ) {
|
||||
$submenu[$item[2]] = array_values($submenu[$item[2]]); // Re-index.
|
||||
$menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]);
|
||||
if ( file_exists(ABSPATH . PLUGINDIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
|
||||
if ( file_exists(WP_PLUGIN_DIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook))
|
||||
$side_items[] = "\n\t<li><a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a>";
|
||||
else
|
||||
$side_items[] = "\n\t<li><a href='{$submenu[$item[2]][0][2]}'$class>{$item[0]}</a>";
|
||||
} else if ( current_user_can($item[1]) ) {
|
||||
$menu_hook = get_plugin_page_hook($item[2], 'admin.php');
|
||||
if ( file_exists(ABSPATH . PLUGINDIR . "/{$item[2]}") || !empty($menu_hook) )
|
||||
if ( file_exists(WP_PLUGIN_DIR . "/{$item[2]}") || !empty($menu_hook) )
|
||||
$side_items[] = "\n\t<li><a href='admin.php?page={$item[2]}'$class>{$item[0]}</a>";
|
||||
else
|
||||
$side_items[] = "\n\t<li><a href='{$item[2]}'$class>{$item[0]}</a>";
|
||||
@@ -143,7 +143,7 @@ else $class = '';
|
||||
|
||||
$menu_hook = get_plugin_page_hook($item[2], $parent_file);
|
||||
|
||||
if (file_exists(ABSPATH . PLUGINDIR . "/{$item[2]}") || ! empty($menu_hook)) {
|
||||
if (file_exists(WP_PLUGIN_DIR . "/{$item[2]}") || ! empty($menu_hook)) {
|
||||
if ( 'admin.php' == $pagenow )
|
||||
echo "\n\t<li><a href='admin.php?page={$item[2]}'$class>{$item[0]}</a></li>";
|
||||
else
|
||||
|
||||
@@ -15,7 +15,7 @@ if (empty($file))
|
||||
$file = $plugin_files[0];
|
||||
|
||||
$file = validate_file_to_edit($file, $plugin_files);
|
||||
$real_file = get_real_file_to_edit( PLUGINDIR . "/$file");
|
||||
$real_file = WP_PLUGIN_DIR . '/' . $file;
|
||||
|
||||
switch($action) {
|
||||
|
||||
@@ -68,7 +68,7 @@ default:
|
||||
|
||||
require_once('admin-header.php');
|
||||
|
||||
update_recently_edited(PLUGINDIR . "/$file");
|
||||
update_recently_edited(WP_PLUGIN_DIR . '/' . $file);
|
||||
|
||||
if ( ! is_file($real_file) )
|
||||
$error = 1;
|
||||
|
||||
@@ -18,7 +18,7 @@ if ( isset($_GET['action']) ) {
|
||||
wp_die($valid);
|
||||
error_reporting( E_ALL ^ E_NOTICE );
|
||||
@ini_set('display_errors', true); //Ensure that Fatal errors are displayed.
|
||||
include(ABSPATH . PLUGINDIR . '/' . $plugin);
|
||||
include(WP_PLUGIN_DIR . '/' . $plugin);
|
||||
} elseif ( 'deactivate' == $_GET['action'] ) {
|
||||
check_admin_referer('deactivate-plugin_' . $_GET['plugin']);
|
||||
deactivate_plugins($_GET['plugin']);
|
||||
@@ -123,7 +123,7 @@ if (empty($plugins)) {
|
||||
} else {
|
||||
$action_links[] = "<a href='" . wp_nonce_url("plugins.php?action=activate&plugin=$plugin_file", 'activate-plugin_' . $plugin_file) . "' title='".__('Activate this plugin')."' class='edit'>".__('Activate')."</a>";
|
||||
}
|
||||
if ( current_user_can('edit_plugins') && is_writable(ABSPATH . PLUGINDIR . '/' . $plugin_file) )
|
||||
if ( current_user_can('edit_plugins') && is_writable(WP_PLUGIN_DIR . '/' . $plugin_file) )
|
||||
$action_links[] = "<a href='plugin-editor.php?file=$plugin_file' title='".__('Open this file in the Plugin Editor')."' class='edit'>".__('Edit')."</a>";
|
||||
|
||||
$plugins_allowedtags = array('a' => array('href' => array(),'title' => array()),'abbr' => array('title' => array()),'acronym' => array('title' => array()),'code' => array(),'em' => array(),'strong' => array());
|
||||
@@ -166,11 +166,11 @@ if (empty($plugins)) {
|
||||
}
|
||||
?>
|
||||
|
||||
<p><?php printf(__('If something goes wrong with a plugin and you can’t use WordPress, delete or rename that file in the <code>%s</code> directory and it will be automatically deactivated.'), PLUGINDIR); ?></p>
|
||||
<p><?php printf(__('If something goes wrong with a plugin and you can’t use WordPress, delete or rename that file in the <code>%s</code> directory and it will be automatically deactivated.'), WP_PLUGIN_DIR); ?></p>
|
||||
|
||||
<h2><?php _e('Get More Plugins'); ?></h2>
|
||||
<p><?php _e('You can find additional plugins for your site in the <a href="http://wordpress.org/extend/plugins/">WordPress plugin directory</a>.'); ?></p>
|
||||
<p><?php printf(__('To install a plugin you generally just need to upload the plugin file into your <code>%s</code> directory. Once a plugin is uploaded, you may activate it here.'), PLUGINDIR); ?></p>
|
||||
<p><?php printf(__('To install a plugin you generally just need to upload the plugin file into your <code>%s</code> directory. Once a plugin is uploaded, you may activate it here.'), WP_PLUGIN_DIR); ?></p>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ function do_plugin_upgrade($plugin) {
|
||||
if ( is_wp_error($result) ) {
|
||||
show_message($result);
|
||||
} else {
|
||||
//Result is the new plugin file relative to PLUGINDIR
|
||||
//Result is the new plugin file relative to WP_PLUGIN_DIR
|
||||
show_message(__('Plugin upgraded successfully'));
|
||||
if( $result && $was_activated ){
|
||||
show_message(__('Attempting reactivation of the plugin'));
|
||||
@@ -164,7 +164,7 @@ wp_admin_css( 'colors', true );
|
||||
echo '<p>' . __('Plugin failed to reactivate due to a fatal error.') . '</p>';
|
||||
error_reporting( E_ALL ^ E_NOTICE );
|
||||
@ini_set('display_errors', true); //Ensure that Fatal errors are displayed.
|
||||
include(ABSPATH . PLUGINDIR . '/' . $plugin);
|
||||
include(WP_PLUGIN_DIR . '/' . $plugin);
|
||||
}
|
||||
echo "</body></html>";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user