コンテンツにスキップ

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

編集フィルター設定

版間での差分

項目2024年7月30日 (火) 07:12Dragoniez による版2024年7月30日 (火) 11:33Dragoniez による版
フィルター条件
条件:
/* 編集操作 */
/* 編集操作 */
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_args := "(?:\|[^}]*)?";
     tp_end := "\}\}";
     tp_end := "\}\}";


     r_content := rmwhitespace(removed_lines);
     r_content := rmwhitespace(removed_lines);
     a_content := rmwhitespace(added_lines);
     a_content := rmwhitespace(added_lines);


     (  /* {{Copyrights}}が除去されている */
     (  /* {{Copyrights}}が除去されている */
         r_copyrights := tp_start + tp_namespace + "(?:[cC]opy(rights?|vio)|著作権(侵害)?)" + tp_args + tp_end;
         rgx_copyrights := tp_start + tp_namespace + "(?:[cC]opy(rights?|vio)|著作権(侵害)?)" + tp_args + tp_end;
         r_content rlike r_copyrights
         r_content rlike rgx_copyrights
         &  !a_content rlike r_copyrights
         &  !a_content rlike rgx_copyrights
     )
     )
     |
     |
     (  /* または{{Sakujo/本体}}が除去されている */
     (  /* または{{Sakujo/本体}}が除去されている */
         /* $1: 日付, $2: サブページ名 */
         /* $1: 日付, $2: サブページ名 */
         r_sakujo := tp_start + tp_namespace + "[sS]akujo\/本体" + tp_arg + tp_arg + tp_args + tp_end;
         rgx_sakujo := tp_start + tp_namespace + "[sS]akujo\/本体" + tp_arg + tp_arg + tp_args + tp_end;
         r_content rlike r_sakujo
         r_content rlike rgx_sakujo
         &  !a_content rlike r_sakujo
         &  !a_content rlike rgx_sakujo
         &
         &
         (  /* かつ、{{subst:sakujo}}で貼りかえられていない */
         (  /* かつ、{{subst:sakujo}}で貼りかえられていない */


             removed := get_matches(r_sakujo, r_content);
             r_matches := get_matches(rgx_sakujo, r_content);
             r_date := removed[1] | "";
             r_date := r_matches[1] | "";
             r_subpage := removed[2] | page_prefixedtitle;
             r_subpage := r_matches[2] | page_prefixedtitle;


             added := get_matches(r_sakujo, rmwhitespace(added_lines_pst));
             a_matches := get_matches(rgx_sakujo, rmwhitespace(added_lines_pst));
             a_body := added[0];
             a_temp := a_matches[0];
             a_date := added[1] | "";
             a_date := a_matches[1] | "";
             a_subpage := added[2] | page_prefixedtitle;
             a_subpage := a_matches[2] | page_prefixedtitle;
              
              
             /* 既に評価した条件:added_lines内に{{Sakujo/本体}}がない */
             /* 既に評価した条件:added_lines内に{{Sakujo/本体}}がない */
             /* かつ、added_lines_pst内にもない(={{subst:sakujo}}で貼りかえられてもいない) */
             /* かつ、added_lines_pst内にもない(={{subst:sakujo}}で貼りかえられてもいない) */
             a_body === false  
             a_temp === false  
             |
             |
             /* または、貼りかえられていても日時引数もしくはサブページ引数の値が異なる */
             /* または、貼りかえられていても日時引数もしくはサブページ引数の値が異なる */
             (r_date !== a_date | r_subpage !== a_subpage)
             (r_date !== a_date | r_subpage !== a_subpage)
         )
         )
     )
     )
)
)