diff --git a/mod/wiki/ewiki/plugins/action/diff.php b/mod/wiki/ewiki/plugins/action/diff.php
deleted file mode 100755
index bcf3a46148c..00000000000
--- a/mod/wiki/ewiki/plugins/action/diff.php
+++ /dev/null
@@ -1,65 +0,0 @@
- $id, "version" => $new_ver));
- }
- else {
- $new_ver = $data["version"];
- $old_ver = $new_ver - 1;
- }
- if ($old_ver > 0) {
- $data0 = ewiki_database("GET", array("id" => $id, "version" => $old_ver));
- }
-
- $o = ewiki_make_title($id, "Differences between version $new_ver and $old_ver of »{$id}«");
-
- $txt0 = preg_split("/\s*\n/", trim($data0["content"]));
- $txt2 = preg_split("/\s*\n/", trim($data["content"]));
-
- $diff0 = array_diff($txt0, $txt2);
- $diff2 = array_diff($txt2, $txt0);
-
- foreach ($txt2 as $i => $line) {
-
- $line = htmlentities($line);
-
- $i2 = $i;
- while ($rm = $diff0[$i2++]) {
- $o .= "- $rm
\n";
- unset($diff0[$i2-1]);
- }
-
- if (in_array($line, $diff2)) {
- $o .= "+ $line
\n";
- }
- else {
- $o .= " $line
\n";
- }
-
- }
-
- foreach ($diff0 as $rm) {
- $o .= "- $rm
\n";
- }
-
- return($o);
- }
-
-
-?>
\ No newline at end of file
diff --git a/mod/wiki/ewiki/plugins/moodle/diff.php b/mod/wiki/ewiki/plugins/moodle/diff.php
new file mode 100755
index 00000000000..16747d90eb7
--- /dev/null
+++ b/mod/wiki/ewiki/plugins/moodle/diff.php
@@ -0,0 +1,96 @@
+ $id, "version" => $new_ver));
+ }
+ else {
+ $new_ver = $data["version"];
+ $old_ver = $new_ver - 1;
+ }
+ if ($old_ver > 0) {
+ $data0 = ewiki_database("GET", array("id" => $id, "version" => $old_ver));
+ }
+
+ $a->new_ver=$new_ver;
+ $a->old_ver=$old_ver;
+ $a->pagename=$id;
+ $o = ewiki_make_title($id, get_string("differences","wiki",$a));
+
+ # Different handling for html: closes Bug #1530 - Wiki diffs useless when using HTML editor
+ if($wiki->htmlmode==2) {
+ $htmlendings=array("
","
","