|
|
| /* 編集操作 */ | | /* 編集操作 */ |
| 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_head := "\{\{(:?template:|:?テンプレート:)?"; | | tp_start := "\{\{"; |
| tp_tail := "(\|[^\}]*)?\}\}"; | | tp_namespace := "(?i::?template:|:?テンプレート:)?"; |
| sakujo := tp_head + "([sS]akujo\/本体|[cC]opy(rights?|vio)|著作権(侵害)?)" + tp_tail; | | tp_arg := "(?:\|([^|]*))?"; /* +1 capturing group */ |
| | tp_end := "\}\}"; |
|
| |
|
| rmwhitespace(removed_lines) rlike sakujo | | /* $1: 日付, $2: サブページ名 */ |
| & !rmwhitespace(added_lines) rlike sakujo | | rSakujo := tp_start + tp_namespace + "[sS]akujo\/本体" + tp_arg + tp_arg + tp_end; |
| | |
| | rmwhitespace(removed_lines) rlike rSakujo |
| | & ( |
| | /* 削除依頼テンプレートが除去されている */ |
| | !rmwhitespace(added_lines) rlike rSakujo |
| | |
| | /** |
| | * 以下、{{subst:sakujo}}へ{{Sakujo/本体}}が貼りかえられた場合を除外する条件だが未完成 |
| | * 1. "#### ####" 部分にtimestampのパーザーコードが必要 |
| | * 2. "* *" 部はコメント |
| | */ |
| | /*& |
| | ( * かつ、{{subst:sakujo}}に貼り替えられていない * |
| | |
| | tp_subst := "(?:[sS][uU][bB][sS][tT]:)"; |
| | |
| | * $1: 日付, $2: サブページ名 * |
| | 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_subpage := removed[2] | page_prefixedtitle; |
| | |
| | added := get_matches(rSubstSakujo, rmwhitespace(added_lines)); |
| | a_body := added[0]; |
| | a_date := added[1] | (######## timestampを"Y年M月D日"に変換したものをここで代入 ########); |
| | a_subpage := added[2] | page_prefixedtitle; |
| | |
| | * 追加された文字列内に{{subst:sakujo}}がない * |
| | a_body === false |
| | | |
| | * または、あっても日付とサブページ名のどちらかが異なる * |
| | !(r_date === a_date & r_subpage === a_subpage) |
| | )*/ |
| | |
| | ) |
| ) | | ) |
|
| |
|
| /* 30byte以上減少 */ | | /* 30byte以上減少 */ |
| & edit_delta <= -30 | | & edit_delta <= -30 |