#==============================================================================
# <p>
+# ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£
+# </p>
+#==============================================================================
+sub delete_backup_files {
+ my $self = shift;
+ my $wiki = shift;
+ my $page = shift;
+
+ my @files = glob($wiki->config('backup_dir')."/".Util::url_encode($page).".*.bak");
+ foreach my $file (@files){
+ unlink($file);
+ }
+}
+
+#==============================================================================
+# <p>
# À¤Âå¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¹Ô¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×»þ¹ï¤Î°ìÍ÷¤ò¼èÆÀ¤·¤Þ¤¹¡£
# £±À¤Âå¤Î¤ß¥Ð¥Ã¥¯¥¢¥Ã¥×¤ÎÀßÄê¤ÇÆ°ºî¤·¤Æ¤¤¤ë¾ì¹ç¤Ïundef¤òÊÖ¤·¤Þ¤¹¡£
# </p>
return $self->rollback($wiki, $pagename, $cgi->param('rollback'));
} elsif($wiki->{storage}->backup_type eq 'all'){
- if($cgi->param('generation') eq '' && $cgi->param('diff') eq ''){
+ my $login = $wiki->get_login_info();
+ if(defined($login) && $login->{'type'} == 0 && $cgi->param('clear') ne ''){
+ # ÍúÎò¤Î¥¯¥ê¥¢
+ $self->clear_history($wiki, $pagename);
+ return $self->show_history($wiki, $pagename);
+
+ } elsif($cgi->param('generation') eq '' && $cgi->param('diff') eq ''){
+ # ÍúÎò¤òɽ¼¨
return $self->show_history($wiki, $pagename);
} else {
if($cgi->param('generation') ne ''){
+ # »ØÄꤷ¤¿¥ê¥Ó¥¸¥ç¥ó¤Ç¤Îº¹Ê¬¤òɽ¼¨
return $self->show_diff($wiki, $pagename, '', $cgi->param('generation'));
}
+ # »ØÄꤷ¤¿¥ê¥Ó¥¸¥ç¥ó´Ö¤Îº¹Ê¬¤òɽ¼¨
return $self->show_diff($wiki, $pagename, $cgi->param('from'), $cgi->param('to'));
}
} else {
+ # ºÇ¸å¤Î¹¹¿·¤Îº¹Ê¬¤òɽ¼¨
return $self->show_diff($wiki, $pagename, '', 0);
}
}
#==============================================================================
+# ÍúÎò¤Î¥¯¥ê¥¢
+#==============================================================================
+sub clear_history {
+ my $self = shift;
+ my $wiki = shift;
+ my $page = shift;
+ $wiki->{storage}->delete_backup_files($wiki, $page);
+}
+
+#==============================================================================
# ÍúÎò¤«¤é¥Ú¡¼¥¸¤òÉü¸µ
#==============================================================================
sub rollback {
$buf .= "</li>\n";
$count++;
}
- return $buf."</ul>".
- "<input type=\"hidden\" name=\"page\" value=\"".Util::escapeHTML($page)."\">".
- "<input type=\"hidden\" name=\"action\" value=\"DIFF\">".
- "<input type=\"submit\" name=\"diff\" value=\"ÁªÂò¤·¤¿¥ê¥Ó¥¸¥ç¥ó´Ö¤Îº¹Ê¬¤òɽ¼¨\"></form>\n";
+
+ $buf .= "</ul>".
+ "<input type=\"hidden\" name=\"page\" value=\"".Util::escapeHTML($page)."\">".
+ "<input type=\"hidden\" name=\"action\" value=\"DIFF\">".
+ "<input type=\"submit\" name=\"diff\" value=\"ÁªÂò¤·¤¿¥ê¥Ó¥¸¥ç¥ó´Ö¤Îº¹Ê¬¤òɽ¼¨\">\n";
+
+ my $login = $wiki->get_login_info();
+ if(defined($login) && $login->{'type'} == 0){
+ $buf .= "<input type=\"submit\" name=\"clear\" value=\"ÍúÎò¤òºï½ü\">\n";
+ }
+ return $buf."</form>\n";
}
#==============================================================================