MyBB Community Forums

Full Version: Undo Delete issue
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Plugin in question:
http://mods.mybb.com/view/undo-delete

Issue:
when checking things things
/adminurl/index.php?module=tools-undodelete
everything is fine

when I click Posts or anything I get this error
Fatal error: Class 'Horde_Text_Diff_Renderer' not found in [forumdirectory]/inc/3rdparty/diff/Diff/Renderer/inline.php on line 23

So I checked the inline.php

Line 22: class Horde_Text_Diff_Renderer_Inline extends Horde_Text_Diff_Renderer
Line 23: {

Okay I fixed the problem pretty quick.

in the plugin file find:

function undodelete_compare_table($table)
{
	global $db,$lang;
	undodelete_lang();
	require_once MYBB_ROOT.'inc/3rdparty/diff/Diff.php';
	require_once MYBB_ROOT.'inc/3rdparty/diff/Diff/Renderer/inline.php';
	$create_backup=$db->show_create_table(BACKUPTABLE_PREFIX.$table);
	$create_backup=preg_replace('#AUTO_INCREMENT=([0-9]+) #Usi','',$create_backup);
	$create=$db->show_create_table($table);
	$create=str_replace(TABLE_PREFIX.$table,TABLE_PREFIX.BACKUPTABLE_PREFIX.$table,$create);
	$create=preg_replace('#AUTO_INCREMENT=([0-9]+) #Usi','',$create);
	$create_backup=explode("\n",$create_backup);
	$create=explode("\n",$create);
    $diff=new Horde_Text_Diff('auto',array($create_backup,$create));
    $renderer=new Horde_Text_Diff_Renderer_inline(); 
	$itable=new Table;
	$itable->construct_cell('<pre>'.$renderer->render($diff).'</pre>');
	$itable->construct_row();
	$itable->output($lang->sprintf($lang->undodelete_update_table,TABLE_PREFIX.BACKUPTABLE_PREFIX.$table));
}

replaced with
function undodelete_compare_table($table)
{
    global $db,$lang;
    undodelete_lang();
    require_once MYBB_ROOT.'inc/3rdparty/diff/Diff.php';
    require_once MYBB_ROOT.'inc/3rdparty/diff/Diff/Renderer.php';
    require_once MYBB_ROOT.'inc/3rdparty/diff/Diff/Renderer/Inline.php';
    $create_backup=$db->show_create_table(BACKUPTABLE_PREFIX.$table);
    $create_backup=preg_replace('#AUTO_INCREMENT=([0-9]+) #Usi','',$create_backup);
    $create=$db->show_create_table($table);
    $create=str_replace(TABLE_PREFIX.$table,TABLE_PREFIX.BACKUPTABLE_PREFIX.$ta​ble,$create);
    $create=preg_replace('#AUTO_INCREMENT=([0-9]+) #Usi','',$create);
    $create_backup=explode("\n",$create_backup);
    $create=explode("\n",$create);
    $diff=&new Horde_Text_Diff('auto',array($create_backup,$create));
    $renderer=&new Horde_Text_Diff_Renderer_inline();
    $itable=new Table;
    $itable->construct_cell('<pre>'.$renderer->render($diff).'</pre>');
    $itable->construct_row();
    $itable->output($lang->sprintf($lang->undodelete_update_table,TABLE_PREFIX.BACKUPTABLE_PREFIX.$table));
}