###############################################################################
package plugin::core::EditPage;
use strict;
+use HTTP::Status;
use plugin::core::Diff;
+
#==============================================================================
# ¥³¥ó¥¹¥È¥é¥¯¥¿
#==============================================================================
my $login = $wiki->get_login_info();
if($pagename eq ""){
- return $wiki->error("¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
if($pagename =~ /([\|\[\]])|^:|([^:]:[^:])/){
- return $wiki->error("¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£");
+ return $wiki->error(RC_BAD_REQUEST, "¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£");
}
if(!$wiki->can_modify_page($pagename)){
- return $wiki->error("¥Ú¡¼¥¸¤ÎÊÔ½¸¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
+ return $wiki->error(RC_FORBIDDEN, "¥Ú¡¼¥¸¤ÎÊÔ½¸¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
}
#--------------------------------------------------------------------------
if($cgi->param("save") ne ""){
if($wiki->config('page_max') ne '' && $wiki->config('page_max') > 0){
if(length($content) > $wiki->config('page_max')){
- return $wiki->error('¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
+ return $wiki->error(RC_BAD_REQUEST, '¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
}
}
if($wiki->page_exists($pagename) && $cgi->param("lastmodified") != $time){
- $buf .= "<p><span class=\"error\">¥Ú¡¼¥¸¤Ï´û¤ËÊ̤Υ桼¥¶¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</span></p>";
+ $buf .= "<p><span class=\"error\">¥Ú¡¼¥¸¤Ï´û¤ËÊ̤Υ桼¥¶¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ºÇ¿·ÈǤȤκ¹Ê¬¤ò³Îǧ¤·¤ÆºÆÅÙÊÔ½¸¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£</span></p>";
my $mode = $wiki->get_edit_format();
my $orig_source = undef;
$your_source =~ s/\r\n/\n/g;
$your_source =~ s/\r/\n/g;
- my $diff = plugin::core::Diff::_get_diff_html($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>
- <p>
- ºÇ¿·ÈǤȤκ¹Ê¬¤ò³Îǧ¤·¤ÆºÆÅÙÊÔ½¸¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡§
- </p>
- <div class="diff">$diff</div>
- |;
+ my $diff = plugin::core::Diff::_get_diff_html($wiki, $orig_source, $your_source);
+ $buf .= $diff."<br>";
$content = $orig_source;
} elsif($cgi->param("diff") ne ""){
if($wiki->config('page_max') ne '' && $wiki->config('page_max') > 0){
if(length($content) > $wiki->config('page_max')){
- return $wiki->error('¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
+ return $wiki->error(RC_BAD_REQUEST, '¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
}
}
$time = $cgi->param("lastmodified");
$your_source =~ s/\r\n/\n/g;
$your_source =~ s/\r/\n/g;
- $buf .= qq|
- <ul>
- <li>Äɲ䵤줿Éôʬ¤Ï<ins class="diff">¤³¤Î¤è¤¦¤Ë</ins>ɽ¼¨¤µ¤ì¤Þ¤¹¡£</li>
- <li>ºï½ü¤µ¤ì¤¿Éôʬ¤Ï<del class="diff">¤³¤Î¤è¤¦¤Ë</del>ɽ¼¨¤µ¤ì¤Þ¤¹¡£</li>
- </ul>
- |;
-
if($orig_source eq $your_source){
$buf .= '<p class="error">º¹Ê¬¤Ï¤¢¤ê¤Þ¤»¤ó¡£</p>';
} else {
- my $diff = plugin::core::Diff::_get_diff_html($your_source, $orig_source);
- $diff =~ s/\n/<br>/g;
- $buf .= qq|<div class="diff">$diff</div>|;
+ my $diff = plugin::core::Diff::_get_diff_html($wiki, $your_source, $orig_source);
+ $buf .= $diff."<br>";
}
#--------------------------------------------------------------------------
} elsif($cgi->param("preview") ne ""){
if($wiki->config('page_max') ne '' && $wiki->config('page_max') > 0){
if(length($content) > $wiki->config('page_max')){
- return $wiki->error('¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
+ return $wiki->error(RC_BAD_REQUEST, '¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
}
}
$time = $cgi->param("lastmodified");