Khác biệt giữa các phiên bản

Khoản mụcPhiên bản vào 04:27, ngày 2 tháng 5 năm 2024 bởi PlantaestPhiên bản vào 04:31, ngày 2 tháng 5 năm 2024 bởi Plantaest
Điều kiện lọc
Các điều kiện:
unix_epoch_year := 1970;
seconds_in_year := 31536000;
seconds_in_day := 86400;
start_of_year_timestamp := 1704067200; /* 2024 :js: Date.UTC(year, 0, 1) / 1000 */
t := int(timestamp);
/* Current year */
current_year := unix_epoch_year + int(t / seconds_in_year);
/* Current week */
seconds_difference := t - start_of_year_timestamp;
div := seconds_difference / seconds_in_day;
day_of_year := int((div % 1 == 0 ? div : div + 1) + 1);
current_week := int((day_of_year - 1) / 7) + 1;
/* Current month & day */
days_since_epoch := int(t / seconds_in_day);
is_leap_year := (current_year % 4 == 0 & current_year % 100 != 0) | (current_year % 400 == 0);
days_in_month := [31, is_leap_year ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
month := 0;
loop_1 := day_of_year >= days_in_month[month];
day_of_year := loop_1 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_1 ? month + 1 : month;
loop_2 := day_of_year >= days_in_month[month];
day_of_year := loop_2 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_2 ? month + 1 : month;
loop_3 := day_of_year >= days_in_month[month];
day_of_year := loop_3 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_3 ? month + 1 : month;
loop_4 := day_of_year >= days_in_month[month];
day_of_year := loop_4 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_4 ? month + 1 : month;
loop_5 := day_of_year >= days_in_month[month];
day_of_year := loop_5 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_5 ? month + 1 : month;
loop_6 := day_of_year >= days_in_month[month];
day_of_year := loop_6 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_6 ? month + 1 : month;
loop_7 := day_of_year >= days_in_month[month];
day_of_year := loop_7 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_7 ? month + 1 : month;
loop_8 := day_of_year >= days_in_month[month];
day_of_year := loop_8 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_8 ? month + 1 : month;
loop_9 := day_of_year >= days_in_month[month];
day_of_year := loop_9 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_9 ? month + 1 : month;
loop_10 := day_of_year >= days_in_month[month];
day_of_year := loop_10 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_10 ? month + 1 : month;
loop_11 := day_of_year >= days_in_month[month];
day_of_year := loop_11 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_11 ? month + 1 : month;
loop_12 := day_of_year >= days_in_month[month];
day_of_year := loop_12 ? day_of_year - days_in_month[month] : day_of_year;
month := loop_12 ? month + 1 : month;
current_month := length(string(month + 1)) == 1 ? '0' + string(month + 1) : month + 1;
day_of_month := length(string(day_of_year)) == 1 ? '0' + string(day_of_year) : day_of_year;
/* Patterns */
bvcl := 'Wikipedia:Bài viết chọn lọc/' + current_year + '/Tuần ' + current_week;
bvclct := 'Wikipedia:Bài viết chọn lọc/' + current_year + '/Các tựa';
bvt := 'Wikipedia:Bài viết tốt/' + current_year + '/Tuần ' + current_week;
bvtct := 'Wikipedia:Bài viết tốt/' + current_year + '/Các tựa';
dscl := 'Wikipedia:Danh sách chọn lọc/' + current_year + '/Tuần ' + current_week;
dsclct := 'Wikipedia:Danh sách chọn lọc/' + current_year + '/Các tựa';
bcb := 'Wikipedia:Bạn có biết/' + current_year + '/Tuần ' + current_week + '/[1-4]$';
hacl := 'Wikipedia:Hình ảnh chọn lọc/' + current_year + '/' + current_month + '/' + day_of_month;
regex_string := bvcl
                + '|' + bvclct
                + '|' + bvt
                + '|' + bvtct
                + '|' + dscl
                + '|' + dsclct
                + '|' + bcb
                + '|' + hacl;
!('autoconfirmed' in user_groups)
!('autoconfirmed' in user_groups)
& page_prefixedtitle regex regex_string;
& (
    unix_epoch_year := 1970;
    seconds_in_year := 31536000;
    seconds_in_day := 86400;
    start_of_year_timestamp := 1704067200; /* 2024 :js: Date.UTC(year, 0, 1) / 1000 */
    t := int(timestamp);
   
    /* Current year */
    current_year := unix_epoch_year + int(t / seconds_in_year);
   
    /* Current week */
    seconds_difference := t - start_of_year_timestamp;
    div := seconds_difference / seconds_in_day;
    day_of_year := int((div % 1 == 0 ? div : div + 1) + 1);
    current_week := int((day_of_year - 1) / 7) + 1;
   
    /* Current month & day */
    days_since_epoch := int(t / seconds_in_day);
    is_leap_year := (current_year % 4 == 0 & current_year % 100 != 0) | (current_year % 400 == 0);
    days_in_month := [31, is_leap_year ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
   
    month := 0;
   
    loop_1 := day_of_year >= days_in_month[month];
    day_of_year := loop_1 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_1 ? month + 1 : month;
   
    loop_2 := day_of_year >= days_in_month[month];
    day_of_year := loop_2 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_2 ? month + 1 : month;
   
    loop_3 := day_of_year >= days_in_month[month];
    day_of_year := loop_3 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_3 ? month + 1 : month;
   
    loop_4 := day_of_year >= days_in_month[month];
    day_of_year := loop_4 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_4 ? month + 1 : month;
   
    loop_5 := day_of_year >= days_in_month[month];
    day_of_year := loop_5 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_5 ? month + 1 : month;
   
    loop_6 := day_of_year >= days_in_month[month];
    day_of_year := loop_6 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_6 ? month + 1 : month;
   
    loop_7 := day_of_year >= days_in_month[month];
    day_of_year := loop_7 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_7 ? month + 1 : month;
   
    loop_8 := day_of_year >= days_in_month[month];
    day_of_year := loop_8 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_8 ? month + 1 : month;
   
    loop_9 := day_of_year >= days_in_month[month];
    day_of_year := loop_9 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_9 ? month + 1 : month;
   
    loop_10 := day_of_year >= days_in_month[month];
    day_of_year := loop_10 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_10 ? month + 1 : month;
   
    loop_11 := day_of_year >= days_in_month[month];
    day_of_year := loop_11 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_11 ? month + 1 : month;
   
    loop_12 := day_of_year >= days_in_month[month];
    day_of_year := loop_12 ? day_of_year - days_in_month[month] : day_of_year;
    month := loop_12 ? month + 1 : month;
   
    current_month := length(string(month + 1)) == 1 ? '0' + string(month + 1) : month + 1;
    day_of_month := length(string(day_of_year)) == 1 ? '0' + string(day_of_year) : day_of_year;
   
    /* Patterns */
    bvcl := 'Wikipedia:Bài viết chọn lọc/' + current_year + '/Tuần ' + current_week;
    bvclct := 'Wikipedia:Bài viết chọn lọc/' + current_year + '/Các tựa';
   
    bvt := 'Wikipedia:Bài viết tốt/' + current_year + '/Tuần ' + current_week;
    bvtct := 'Wikipedia:Bài viết tốt/' + current_year + '/Các tựa';
   
    dscl := 'Wikipedia:Danh sách chọn lọc/' + current_year + '/Tuần ' + current_week;
    dsclct := 'Wikipedia:Danh sách chọn lọc/' + current_year + '/Các tựa';
   
    bcb := 'Wikipedia:Bạn có biết/' + current_year + '/Tuần ' + current_week + '/[1-4]$';
   
    hacl := 'Wikipedia:Hình ảnh chọn lọc/' + current_year + '/' + current_month + '/' + day_of_month;
   
    regex_string := bvcl
                    + '|' + bvclct
                    + '|' + bvt
                    + '|' + bvtct
                    + '|' + dscl
                    + '|' + dsclct
                    + '|' + bcb
                    + '|' + hacl;
   
    page_prefixedtitle regex regex_string;
)