- if($wiki->page_exists($pagename)){
- if($cgi->param("lastmodified") != $time){
- return $wiki->error("¥Ú¡¼¥¸¤Ï´û¤ËÊ̤Υ桼¥¶¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹¡£");
- }
- }
- #my $save_content = $content;
- my $mode = $wiki->get_edit_format();
- my $save_content = $wiki->convert_to_fswiki($content,$mode);
+ if($wiki->page_exists($pagename) && $cgi->param("lastmodified") != $time){
+ $buf .= "<p><span class=\"error\">¥Ú¡¼¥¸¤Ï´û¤ËÊ̤Υ桼¥¶¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</span></p>";
+
+ my $mode = $wiki->get_edit_format();
+ my $orig_source = $wiki->convert_from_fswiki($wiki->get_page($pagename), $mode);
+ my $your_source = $content;
+ $your_source =~ s/\r\n/\n/g;
+ $your_source =~ s/\r/\n/g;
+
+ my $diff = plugin::core::Diff::_get_diff_html($wiki, $orig_source, $your_source);
+ $diff =~ s/\n/<br>/g;
+
+ $buf .= qq|
+ <ul>
+ <li>Äɲ䵤줿Éôʬ¤Ï<ins class="diff">¤³¤Î¤è¤¦¤Ë</ins>ɽ¼¨¤µ¤ì¤Þ¤¹¡£</li>
+ <li>ºï½ü¤µ¤ì¤¿Éôʬ¤Ï<del class="diff">¤³¤Î¤è¤¦¤Ë</del>ɽ¼¨¤µ¤ì¤Þ¤¹¡£</li>
+ </ul>
+ <div class="diff">$diff</div>
+ |;
+
+ $content = $orig_source;
+
+ } else {
+ #my $save_content = $content;
+ my $mode = $wiki->get_edit_format();
+ my $save_content = $wiki->convert_to_fswiki($content,$mode);