OSDN Git Service

(no commit message)
[fswiki/sandbox.git] / kgsoft / _ex_spam_filter_light / tags / _ex_spam_filter_light#20171207 / _ex_spam_filter_light / core.pm
diff --git a/kgsoft/_ex_spam_filter_light/tags/_ex_spam_filter_light#20171207/_ex_spam_filter_light/core.pm b/kgsoft/_ex_spam_filter_light/tags/_ex_spam_filter_light#20171207/_ex_spam_filter_light/core.pm
deleted file mode 100644 (file)
index c0bcc87..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-##########################################################################################
-#
-# ¥¹¥Ñ¥à¥Õ¥£¥ë¥¿¡¼¥×¥é¥°¥¤¥ó¡Ê³Ø½¬µ¡Ç½Ìµ¤·ÈÇ¡Ë
-#¡Êcore::EditPage¥×¥é¥°¥¤¥ó¡Ê¥Ú¡¼¥¸¤ÎÊÔ½¸¡Ë¤Î¥ª¡¼¥Ð¡¼¥é¥¤¥É¡Ë
-#
-##########################################################################################
-use strict;
-
-use plugin::core::EditPage;
-
-# plugin::core::EditPage¤Îdo_action¥á¥½¥Ã¥É¤ÎÃÖ¤­´¹¤¨
-package plugin::core::EditPage;
-
-sub do_action {
-       my $self = shift;
-       my $wiki = shift;
-       my $cgi = $wiki->get_CGI;
-       
-       my $pagename = $cgi->param("page");
-       my $format   = $wiki->get_edit_format();
-       my $content  = $cgi->param("content");
-       my $sage     = $cgi->param("sage");
-       my $template = $cgi->param("template");
-       my $artno    = $cgi->param("artno");
-       my $time     = $wiki->get_last_modified($pagename);
-       
-       my $buf = "";
-       my $login = $wiki->get_login_info();
-
-       if($pagename eq ""){
-               return $wiki->error("¥Ú¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
-       }
-       if($pagename =~ /([\|\[\]])|^:|([^:]:[^:])/){
-               return $wiki->error("¥Ú¡¼¥¸Ì¾¤Ë»ÈÍѤǤ­¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£");
-       }
-       if(!$wiki->can_modify_page($pagename)){
-               return $wiki->error("¥Ú¡¼¥¸¤ÎÊÔ½¸¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£");
-       }
-       
-       #--------------------------------------------------------------------------
-       # Êݸ½èÍý
-       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('¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
-                       }
-               }
-               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 = undef;
-                       if($artno eq ""){
-                               $orig_source = $wiki->convert_from_fswiki($wiki->get_page($pagename), $mode);
-                       } else {
-                               $orig_source = $wiki->convert_from_fswiki(&read_by_part($wiki->get_page($pagename), $artno), $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);
-                       $buf .= $diff."<br>";
-                       
-                       $content = $orig_source;
-                       
-               } else {
-
-#--------------------------------------------------------------------------------------------------
-  if($content){
-    unless(&plugin::_ex_spam_filter_light::Install::judgment_text($content)){
-      my $time = Util::format_date(time());
-      my $file = $wiki->config('log_dir')."/spam_page.txt";
-      if(open(SPAM_LOG, ">>$file")){
-        print SPAM_LOG "-" x 70 . "\n";
-        print SPAM_LOG "$pagename:$artno ($time)\n";
-        print SPAM_LOG "-" x 70 . "\n";
-        print SPAM_LOG "$content\n";
-        close(SPAM_LOG);
-      }
-      my $error_message = $wiki->error("ÊÔ½¸¤µ¤ì¤¿Ê¸¾Ï¤Ï¥¹¥Ñ¥àʸ¾Ï¤ÈȽÄꤵ¤ì¤Þ¤·¤¿¡£\n");
-      $content = Util::escapeHTML($content);
-      $content =~ s/\n/<br>/g;
-      $error_message .= "<p>\n";
-      $error_message .= "<div>Åê¹Æ¤µ¤ì¤¿Ê¸¾Ï¡§</div>\n";
-      $error_message .= "<div>¡ã¥Ú¡¼¥¸Ì¾¡ä</div>\n";
-      $error_message .= "<div>$pagename</div>\n";
-      $error_message .= "<div>¡ãËÜʸ¡ä</div>\n";
-      $error_message .= "<div>$content</div>\n";
-      $error_message .= "</p>\n";
-      return $error_message;
-    }
-  }
-#--------------------------------------------------------------------------------------------------
-\r
-                       #my $save_content = $content;
-                       my $mode = $wiki->get_edit_format();
-                       my $save_content = $wiki->convert_to_fswiki($content,$mode);
-
-                       # ¥Ñ¡¼¥ÈÊÔ½¸¤Î¾ì¹ç
-                       if($artno ne ""){
-                               $save_content = &make_save_source($wiki->get_page($pagename), $save_content, $artno, $wiki);
-                       }
-                       # FrontPage¤Ïºï½üÉÔ²Ä
-                       if($pagename eq $wiki->config("frontpage") && $save_content eq ""){
-                               $buf = "<b>".&Util::escapeHTML($wiki->config("frontpage"))."¤Ïºï½ü¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£</b>\n";
-
-                       # ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï½èÍý¤ò¼Â¹Ô¤·¤Æ¥á¥Ã¥»¡¼¥¸¤òÊÖµÑ
-                       } else {
-                               $wiki->save_page($pagename, $save_content, $sage);
-                               
-                               if($content ne ""){
-                                       $wiki->redirect($pagename, $artno);
-                               } else {
-                                       if($artno eq ""){
-                                               $wiki->set_title($pagename."¤òºï½ü¤·¤Þ¤·¤¿");
-                                               return Util::escapeHTML($pagename)."¤òºï½ü¤·¤Þ¤·¤¿¡£";
-                                       } else {
-                                               $wiki->set_title($pagename."¤Î¥Ñ¡¼¥È¤òºï½ü¤·¤Þ¤·¤¿");
-                                               return Util::escapeHTML($pagename)."¤Î¥Ñ¡¼¥È¤òºï½ü¤·¤Þ¤·¤¿¡£";
-                                       }
-                               }
-                       }
-               }
-       #--------------------------------------------------------------------------
-       # º¹Ê¬³Îǧ½èÍý
-       } 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('¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
-                       }
-               }
-               $time = $cgi->param("lastmodified");
-               
-               my $mode = $wiki->get_edit_format();
-               my $orig_source = undef;
-               if($artno eq ""){
-                       $orig_source = $wiki->convert_from_fswiki($wiki->get_page($pagename), $mode);
-               } else {
-                       $orig_source = $wiki->convert_from_fswiki(&read_by_part($wiki->get_page($pagename), $artno), $mode);
-               }
-               my $your_source = $content;
-               $your_source =~ s/\r\n/\n/g;
-               $your_source =~ s/\r/\n/g;
-               
-               if($orig_source eq $your_source){
-                       $buf .= '<p class="error">º¹Ê¬¤Ï¤¢¤ê¤Þ¤»¤ó¡£</p>';
-               } else {
-                       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('¥Ú¡¼¥¸¤¬Êݸ²Äǽ¤ÊºÇÂ祵¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹¡£');
-                       }
-               }
-               $time = $cgi->param("lastmodified");
-               $buf = "°Ê²¼¤Î¥×¥ì¥Ó¥å¡¼¤ò³Îǧ¤·¤Æ¤è¤í¤·¤±¤ì¤Ð¡ÖÊݸ¡×¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£<br>";
-               if($content eq ""){
-                       if($pagename eq $wiki->config("frontpage") && $artno eq ""){
-                               $buf = $buf."<b>¡Ê".&Util::escapeHTML($wiki->config("frontpage"))."¤Ïºï½ü¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£¡Ë</b>";
-                       } else {
-                               if($artno eq ""){
-                                       $buf = $buf."<b>¡Ê¥Ú¡¼¥¸ÆâÍƤ϶õ¤Ç¤¹¡£¹¹¿·¤¹¤ë¤È¤³¤Î¥Ú¡¼¥¸¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£¡Ë</b>";
-                               } else {
-                                       $buf = $buf."<b>¡Ê¥Ú¡¼¥¸ÆâÍƤ϶õ¤Ç¤¹¡£¹¹¿·¤¹¤ë¤È¤³¤Î¥Ñ¡¼¥È¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£¡Ë</b>";
-                               }
-                       }
-               }
-               $content = $wiki->convert_to_fswiki($content,$format);
-               $buf = $buf."<br>".$wiki->process_wiki($content);
-
-       } elsif($wiki->page_exists($pagename)) {
-               #¥Ú¡¼¥¸¤¬Â¸ºß¤¹¤ë¾ì¹ç
-               if($artno eq ""){
-                       $content = $wiki->get_page($pagename);
-               } else {
-                       $content = &read_by_part($wiki->get_page($pagename), $artno);
-               }
-       } elsif($template ne ""){
-               #¥Æ¥ó¥×¥ì¡¼¥È¤ò»ØÄꤵ¤ì¤¿¾ì¹ç
-               $content = $wiki->get_page($template);
-       }
-       
-       #--------------------------------------------------------------------------
-       # ÆþÎÏ¥Õ¥©¡¼¥à
-       $wiki->set_title($pagename."¤ÎÊÔ½¸",1);
-
-       my $tmpl = HTML::Template->new(filename=>$wiki->config('tmpl_dir')."/editform.tmpl",
-                                   die_on_bad_params => 0);
-
-       $tmpl->param({SCRIPT_NAME   => $wiki->create_url(),
-                                 PAGE_NAME     => $pagename,
-                                 CONTENT       => $wiki->convert_from_fswiki($content, $format),
-                                 LAST_MODIFIED => $time,
-                                 ACTION        => 'EDIT',
-                                 EXISTS_PAGE   => $wiki->page_exists($pagename),
-                                 SAGE          => $sage});
-       
-       if($artno ne ""){
-               $tmpl->param(OPTIONAL_PARAMS=>[{NAME=>'artno', VALUE=>$artno}]);
-       }
-
-       $buf .= $tmpl->output();
-
-       # ¥×¥é¥°¥¤¥ó¤òÁÞÆþ
-       $buf .= $wiki->get_editform_plugin();
-       
-       return $buf;
-}
-
-1;