コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

編集フィルター設定

版間での差分

項目2024年7月30日 (火) 02:57Dragoniez による版2024年7月30日 (火) 06:44Dragoniez による版
基本情報
メモ:
非自動承認利用者が、削除依頼(または著作権侵害)テンプレートを除去しようとしたときに発動する
非自動承認利用者が、削除依頼(または著作権侵害)テンプレートを除去しようとしたときに発動する
:(試験中)
:(試験中)


== 変更要約 ==
== 変更要約 ==
# 「{{Sakujo/本体*}},{{copyright}}」の除去に反応 --W.CC 2010-12-25
# 「{{Sakujo/本体*}},{{copyright}}」の除去に反応 --W.CC 2010-12-25
# 正規表現を修正。--赤の旋律 2011-2-9
# 正規表現を修正。--赤の旋律 2011-2-9
# copyrightsのリダイレクトに対応 --赤の旋律 2011-2-12
# copyrightsのリダイレクトに対応 --赤の旋律 2011-2-12
# 小文字・大文字の違いに対応など。 --青子守歌 2011-02-18
# 小文字・大文字の違いに対応など。 --青子守歌 2011-02-18
# フィルター名を変更 --青子守歌 2011-09-12
# フィルター名を変更 --青子守歌 2011-09-12
# タグ付け --ネイ 2020-06-04
# タグ付け --ネイ 2020-06-04
# 差分バイト数-30以下に限定(oldid=78633676)--W.CC 2020-07-24
# 差分バイト数-30以下に限定(oldid=78633676)--W.CC 2020-07-24
# 公開 --ネイ 2021-10-04
# 公開 --ネイ 2021-10-04
# 対象を拡大 (自動承認済み利用者による削除タグ剥離が各所で見られるため) --Dragoniez 2022-11-09
# 対象を拡大 (自動承認済み利用者による削除タグ剥離が各所で見られるため) --Dragoniez 2022-11-09
# {{Sakujo/本体}}が「除去」され{{subst:Sakujo}}で貼りかえられた場合、結果の本文内容が同じになる時は発動させないよう調整
# 差分バイト数評価は上記の修正で不要になったと思われるため除去
--Dragoniez 2024-07-30
フィルター条件
条件:
/* 編集操作 */
/* 編集操作 */
action === "edit"
action === "edit"


/* 拡張承認されておらず、100編集未満 */
/* 拡張承認されておらず、100編集未満 */
&  !contains_any(user_groups, "bot", "extendedconfirmed", "sysop", "eliminator")
&  !contains_any(user_groups, "bot", "extendedconfirmed", "sysop", "eliminator")
&  user_editcount < 100
&  user_editcount < 100


& /* 除去判定 */
& /* 除去判定 */
(
(
     tp_start := "\{\{";
     tp_start := "\{\{";
     tp_namespace := "(?i::?template:|:?テンプレート:)?";
     tp_namespace := "(?i::?template:|:?テンプレート:)?";
     tp_arg := "(?:\|([^|]*))?"; /* +1 capturing group */
     tp_arg := "(?:\|([^|\}]*))?"; /* +1 capturing group */
    tp_args := "(?:\|[^\}]*)?";
     tp_end := "\}\}";
     tp_end := "\}\}";


     /* $1: 日付, $2: サブページ名 */
     /* $1: 日付, $2: サブページ名 */
     rSakujo := tp_start + tp_namespace + "[sS]akujo\/本体" + tp_arg + tp_arg + tp_end;
     r_sakujo := tp_start + tp_namespace + "[sS]akujo\/本体" + tp_arg + tp_arg + tp_end;
   
    r_copyrights := tp_start + tp_namespace + "(?:[cC]opy(rights?|vio)|著作権(侵害)?)" + tp_args + tp_end;
   
    r_content := rmwhitespace(removed_lines);
    a_content := rmwhitespace(added_lines);


     rmwhitespace(removed_lines) rlike rSakujo
     (
    & (
         /* {{Copyrights}}が除去されている */
         /* 削除依頼テンプレートが除去されている */
         r_content rlike r_copyrights
         !rmwhitespace(added_lines) rlike rSakujo
        &  !a_content rlike r_copyrights
 
    )
         /**
    |
        * 以下、{{subst:sakujo}}へ{{Sakujo/本体}}が貼りかえられた場合を除外する条件だが未完成
    (
        * 1. "#### ####" 部分にtimestampのパーザーコードが必要
         /* または{{Sakujo/本体}}が除去されている */
        * 2. "* *" 部はコメント
        r_content rlike r_sakujo
        */
        &  !a_content rlike r_sakujo
         /*&
         &
         (  * かつ、{{subst:sakujo}}に貼り替えられていない *
         (  /* かつ、{{subst:sakujo}}で貼りかえられていない */
 
            tp_subst := "(?:[sS][uU][bB][sS][tT]:)";


            * $1: 日付, $2: サブページ名 *
             removed := get_matches(r_sakujo, r_content);
            rSubstSakujo := tp_start + tp_subst + tp_namespace + "(?:[sS]akujoS?|削除(?:依頼)?|[vV]fd2?)" + tp_arg + tp_arg + tp_end;
           
             removed := get_matches(rSakujo, rmwhitespace(removed_lines));
             r_date := removed[1] | "";
             r_date := removed[1] | "";
             r_subpage := removed[2] | page_prefixedtitle;
             r_subpage := removed[2] | page_prefixedtitle;
           
 
             added := get_matches(rSubstSakujo, rmwhitespace(added_lines));
             added := get_matches(r_sakujo, rmwhitespace(added_lines_pst));
             a_body := added[0];
             a_body := added[0];
             a_date := added[1] | (######## timestampを"Y年M月D日"に変換したものをここで代入 ########);
             a_date := added[1] | "";
             a_subpage := added[2] | page_prefixedtitle;
             a_subpage := added[2] | page_prefixedtitle;
              
              
             * 追加された文字列内に{{subst:sakujo}}がない *
             /* 既に評価した条件:added_lines内に{{Sakujo/本体}}がない */
             a_body === false
            /* かつ、added_lines_pst内にもない(={{subst:sakujo}}で貼りかえられてもいない) */
             a_body === false  
             |
             |
             * または、あっても日付とサブページ名のどちらかが異なる *
             /* または、貼りかえられていても日時引数もしくはサブページ引数の値が異なる */
             !(r_date === a_date & r_subpage === a_subpage)
             (r_date !== a_date | r_subpage !== a_subpage)
         )*/
         )
 
     )
     )
)
)
/* 30byte以上減少 */
&  edit_delta <= -30