<?php
-# See diff.doc
+/**
+ * See diff.doc
+ * @package MediaWiki
+ */
+/**
+ * @todo document
+ * @package MediaWiki
+ */
class DifferenceEngine {
/* private */ var $mOldid, $mNewid;
/* private */ var $mOldtitle, $mNewtitle, $mPagetitle;
$s = $dbr->getArray( 'cur', array( 'cur_text', 'cur_user_text', 'cur_comment' ),
array( 'cur_id' => $id ), $fname );
if ( $s === false ) {
+ wfDebug( "Unable to load cur_id $id\n" );
return false;
}
'old_flags','old_user_text','old_comment' ), array( 'old_id' => $this->mNewid ), $fname );
if ( $s === false ) {
+ wfDebug( "Unable to load old_id {$this->mNewid}\n" );
return false;
}
'old_title' => $this->mNewPage->getDBkey()
), $fname, array( 'ORDER BY' => 'inverse_timestamp', 'USE INDEX' => 'name_title_timestamp' )
);
+ if ( $s === false ) {
+ wfDebug( 'Unable to load ' . $this->mNewPage->getPrefixedDBkey . " from old\n" );
+ return false;
+ }
} else {
$s = $dbr->getArray( 'old',
array( 'old_namespace','old_title','old_timestamp','old_text','old_flags','old_user_text','old_comment'),
array( 'old_id' => $this->mOldid ),
$fname
);
- }
- if ( $s === false ) {
- return false;
+ if ( $s === false ) {
+ wfDebug( "Unable to load old_id {$this->mOldid}\n" );
+ return false;
+ }
}
$this->mOldPage = Title::MakeTitle( $s->old_namespace, $s->old_title );
$this->mOldtext = Article::getRevisionText( $s );
define('USE_ASSERTS', function_exists('assert'));
+/**
+ * @todo document
+ * @package MediaWiki
+ */
class _DiffOp {
var $type;
var $orig;
}
}
+/**
+ * @todo document
+ * @package MediaWiki
+ */
class _DiffOp_Copy extends _DiffOp {
var $type = 'copy';
}
}
+/**
+ * @todo document
+ * @package MediaWiki
+ */
class _DiffOp_Delete extends _DiffOp {
var $type = 'delete';
}
}
+/**
+ * @todo document
+ * @package MediaWiki
+ */
class _DiffOp_Add extends _DiffOp {
var $type = 'add';
}
}
+/**
+ * @todo document
+ * @package MediaWiki
+ */
class _DiffOp_Change extends _DiffOp {
var $type = 'change';
* are my own.
*
* @author Geoffrey T. Dairiki
+ * @package MediaWiki
* @access private
*/
class _DiffEngine
/**
* Class representing a 'diff' between two sequences of strings.
+ * @todo document
+ * @package MediaWiki
*/
class Diff
{
/**
* FIXME: bad name.
+ * @todo document
+ * @package MediaWiki
*/
-class MappedDiff
-extends Diff
+class MappedDiff extends Diff
{
/**
* Constructor.
* This class formats the diff in classic diff format.
* It is intended that this class be customized via inheritance,
* to obtain fancier outputs.
+ * @todo document
+ * @package MediaWiki
*/
class DiffFormatter
{
define('NBSP', ' '); // iso-8859-x non-breaking space.
+/**
+ * @todo document
+ * @package MediaWiki
+ */
class _HWLDF_WordAccumulator {
function _HWLDF_WordAccumulator () {
$this->_lines = array();
}
}
+/**
+ * @todo document
+ * @package MediaWiki
+ */
class WordLevelDiff extends MappedDiff
{
function WordLevelDiff ($orig_lines, $closing_lines) {
/**
* Wikipedia Table style diff formatter.
- *
+ * @todo document
+ * @package MediaWiki
*/
class TableDiffFormatter extends DiffFormatter
{