Stop fatal error in post revisions when setting the include path is disabled. Props santosj, for 2.7

git-svn-id: http://svn.automattic.com/wordpress/trunk@8562 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
azaozz 2008-08-05 23:56:52 +00:00
parent 366bb4f70f
commit 0c6394a0b9
2 changed files with 17 additions and 6 deletions

View File

@ -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 '';

View File

@ -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