my $buf = "<form><ul>\n";
my $count = 0;
my @list = $wiki->{storage}->get_backup_list($pagename);
+
+ if($#list == -1){
+ return "ÍúÎò¤Ï¤¢¤ê¤Þ¤»¤ó¡£";
+ }
+
foreach my $time (@list){
- $buf .= "<li>Rev.".($#list-$count + 1);
+ $buf .= "<li>";
if($count == 0){
- $buf .= "<input type=\"radio\" name=\"from\" value=\"\">".
- "<input type=\"radio\" name=\"to\" value=\"\">";
+ $buf .= "<input type=\"radio\" name=\"from\" value=\"\" checked>".
+ "<input type=\"radio\" name=\"to\" value=\"\" checked>";
} else {
- $buf .= "<input type=\"radio\" name=\"from\" value=\"".($#list-$count)."\">".
- "<input type=\"radio\" name=\"to\" value=\"".($#list-$count)."\">";
+ $buf .= "<input type=\"radio\" name=\"from\" value=\"".($#list-$count+1)."\">".
+ "<input type=\"radio\" name=\"to\" value=\"".($#list-$count+1)."\">";
}
$buf .= "<a href=\"".$wiki->create_url({ action=>"DIFF",page=>$pagename,generation=>($#list-$count) })."\">".&Util::escapeHTML($time).
"</a>¡¡<a href=\"".$wiki->create_url({ action=>"SOURCE",page=>$pagename,generation=>($#list-$count) })."\">¥½¡¼¥¹</a>".
$wiki->set_title($pagename."¤ÎÊѹ¹ÅÀ");
my ($diff, $rollback) = $self->get_diff_html($wiki,$pagename, $from, $to);
+ $diff =~ s/\n/<br>/g;
+
my $buf = qq|
<ul>
<li>Äɲ䵤줿¹Ô¤Ï<ins class="diff">¤³¤Î¤è¤¦¤Ë</ins>ɽ¼¨¤µ¤ì¤Þ¤¹¡£</li>
<li>ºï½ü¤µ¤ì¤¿¹Ô¤Ï<del class="diff">¤³¤Î¤è¤¦¤Ë</del>ɽ¼¨¤µ¤ì¤Þ¤¹¡£</li>
</ul>
- <pre>$diff</pre>
+ <div class="diff">$diff</div>
|;
if($wiki->can_modify_page($pagename) && $rollback && $wiki->get_CGI->param('diff') eq ''){
$source2 = $wiki->convert_from_fswiki($source2, $format);
my $diff_text = "";
+=pod
my @msg1 = split(/\n/,$source1);
return "¥Ú¡¼¥¸¤¬Â礤¹¤®¤ë¤¿¤áº¹Ê¬¤òɽ¼¨¤Ç¤¤Þ¤»¤ó¡£" if($#msg1 >= 999);
my @msg2 = split(/\n/,$source2);
return "¥Ú¡¼¥¸¤¬Â礤¹¤®¤ë¤¿¤áº¹Ê¬¤òɽ¼¨¤Ç¤¤Þ¤»¤ó¡£" if($#msg2 >= 999);
+=cut
+ my @msg1 = _str_jfold($source1, 1);
+ my @msg2 = _str_jfold($source2, 1);
+
my $msgrefA = \@msg2;
my $msgrefB = \@msg1;
{
MATCH => sub {
my ($a, $b) = @_;
- $diff_text .= Util::escapeHTML($msgrefA->[$a])."\n";
+ $diff_text .= Util::escapeHTML($msgrefA->[$a]);
},
DISCARD_A => sub {
my ($a, $b) = @_;
- $diff_text .= "<del class=\"diff\">".Util::escapeHTML($msgrefA->[$a])."</del>\n";
+ $diff_text .= "<del class=\"diff\">".Util::escapeHTML($msgrefA->[$a])."</del><wbr>";
},
DISCARD_B => sub {
my ($a, $b) = @_;
- $diff_text .= "<ins class=\"diff\">".Util::escapeHTML($msgrefB->[$b])."</ins>\n";
+ $diff_text .= "<ins class=\"diff\">".Util::escapeHTML($msgrefB->[$b])."</ins><wbr>";
}
});
}
#==============================================================================
+# ʸ»úÎó¤ò»ØÄêʸ»ú¿ô¤òʬ³ä
+#==============================================================================
+sub _str_jfold {\r
+ my $str = shift; #»ØÄêʸ»úÎó\r
+ my $byte = shift; #»ØÄê¥Ð¥¤¥È\r
+ my $j = new Jcode($str);\r
+ my @result = ();\r
+\r
+ foreach my $buff ( $j->jfold($byte) ){\r
+ push(@result, $buff);\r
+ }\r
+\r
+ return(@result);\r
+}
+
+#==============================================================================
# ¥Ú¡¼¥¸É½¼¨»þ¤Î¥Õ¥Ã¥¯¥á¥½¥Ã¥É
# ¡Öº¹Ê¬¡×¥á¥Ë¥å¡¼¤ò͸ú¤Ë¤·¤Þ¤¹
#==============================================================================