Index: FCKeditorEditPage.body.php
===================================================================
--- FCKeditorEditPage.body.php	(revision 1927)
+++ FCKeditorEditPage.body.php	(working copy)
@@ -7,6 +7,11 @@
 	 *
 	 * @return bool
 	 */
+	
+	public function FCKeditorEditPage( $article ){
+		parent::EditPage( $article );
+	}
+	
 	public function previewOnOpen() {
 		global $wgRequest, $wgUser;
 		if( $wgRequest->getVal( 'preview' ) == 'yes' ) {
@@ -40,4 +45,50 @@
 		}
 		return $result;
 	}
+	function getContent( $def_text = '' ) {
+		$t = parent::getContent( $def_text );
+		if(!$this->isConflict) return $t;
+		$options = new FCKeditorParserOptions();
+		$options->setTidy(true);
+		$parser = new FCKeditorParser();
+		$parser->setOutputType(OT_HTML);
+		$pa = $parser->parse($t, $this->mTitle, $options);
+		return $pa->mText;
+		
+	}
+	function getWikiContent(){
+		return $this->mArticle->getContent();
+	}
+	function showDiff(){
+		global $wgRequest;
+		
+		$oldtext = $this->mArticle->fetchContent();
+		$newtext = $wgRequest->getVal( 'wpTextbox1' );
+		
+		if($newtext == null) {
+			$rev_id = $wgRequest->getVal( 'undoafter' );
+			if($rev_id != null){
+				$revision = Revision::newFromId( $rev_id );
+				$newtext = $revision->getText();
+			}
+			else {
+				return parent::showDiff();
+			}
+			
+		}
+		$oldtitle = wfMsgExt( 'currentrev', array('parseinline') );
+		$newtitle = wfMsgExt( 'yourtext', array('parseinline') );
+
+		if ( $oldtext !== false  || $newtext != '' ) {
+			$de = new DifferenceEngine( $this->mTitle );
+			$de->setText( $oldtext, $newtext );
+			$difftext = $de->getDiff( $oldtitle, $newtitle );
+			$de->showDiffStyle();
+		} else {
+			$difftext = '';
+		}
+
+		global $wgOut;
+		$wgOut->addHtml( '<div id="wikiDiff">' . $difftext . '</div>' );
+	}
 }
\ No newline at end of file
