Stop fatal error in post revisions when setting the include path is disabled. Props santosj, for 2.7
git-svn-id: https://develop.svn.wordpress.org/trunk@8562 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
17bc095dd1
commit
b07aca4429
@ -1527,13 +1527,12 @@ if ( !function_exists( 'wp_text_diff' ) ) :
|
||||
* @return string Empty string if strings are equivalent or HTML with differences.
|
||||
*/
|
||||
function wp_text_diff( $left_string, $right_string, $args = null ) {
|
||||
if ( defined( 'WP_INCLUDE_PATH_DISABLED' ) )
|
||||
return '';
|
||||
|
||||
$defaults = array( 'title' => '', 'title_left' => '', 'title_right' => '' );
|
||||
$args = wp_parse_args( $args, $defaults );
|
||||
|
||||
// PEAR Text_Diff is lame; it includes things from include_path rather than it's own path.
|
||||
// Not sure of the ramifications of disttributing modified code.
|
||||
ini_set('include_path', '.' . PATH_SEPARATOR . ABSPATH . WPINC );
|
||||
|
||||
if ( !class_exists( 'WP_Text_Diff_Renderer_Table' ) )
|
||||
require( ABSPATH . WPINC . '/wp-diff.php' );
|
||||
|
||||
@ -1552,8 +1551,6 @@ function wp_text_diff( $left_string, $right_string, $args = null ) {
|
||||
$renderer = new WP_Text_Diff_Renderer_Table();
|
||||
$diff = $renderer->render($text_diff);
|
||||
|
||||
ini_restore('include_path');
|
||||
|
||||
if ( !$diff )
|
||||
return '';
|
||||
|
||||
|
@ -182,6 +182,20 @@ if ( defined('WP_CACHE') )
|
||||
*/
|
||||
define('WPINC', 'wp-includes');
|
||||
|
||||
if ( constant('WP_POST_REVISIONS') ) {
|
||||
/*
|
||||
* PEAR Text_Diff depends on the include path matching its directory
|
||||
* structure. This prevents modifying source code and maintaining the
|
||||
* modifications when the package is updated.
|
||||
*/
|
||||
if ( function_exists( 'set_include_path' ) )
|
||||
set_include_path( get_include_path() . PATH_SEPARATOR . ABSPATH . WPINC );
|
||||
else if ( function_exists( 'ini_set' ) )
|
||||
ini_set( 'include_path', ini_get('include_path') . PATH_SEPARATOR . ABSPATH . WPINC );
|
||||
else
|
||||
define('WP_INCLUDE_PATH_DISABLED', true);
|
||||
}
|
||||
|
||||
if ( !defined('WP_LANG_DIR') ) {
|
||||
/**
|
||||
* Stores the location of the language directory. First looks for language folder in WP_CONTENT_DIR
|
||||
|
Loading…
Reference in New Issue
Block a user