-
Notifications
You must be signed in to change notification settings - Fork 5
/
urcold.php
64 lines (50 loc) · 1.89 KB
/
urcold.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<pre><?php
require_once './bin/globals.php';
date_default_timezone_set('UTC');
//Login
require_once './bin/api.php';
loginAPI($username, $password);
/*
get_subcategories.php
MediaWiki API Demos
Demo of `Categorymembers` module : Get ten subcategories of a category
MIT License
*/
$endPoint = "https://pt.wikipedia.org/w/api.php";
$params_cat = [
"action" => "query",
"list" => "categorymembers",
"cmtitle" => "Categoria:!Ficheiros para eliminação semirrápida/dia ".date("j", strtotime("-1 day")),
"format" => "json"
];
$ch_cat = curl_init( $endPoint . "?" . http_build_query( $params_cat ) );
curl_setopt( $ch_cat, CURLOPT_RETURNTRANSFER, true );
$output_cat = curl_exec( $ch_cat );
curl_close( $ch_cat );
$result_cat = json_decode( $output_cat, true );
//Loop de análise de cada arquivo encontrado
foreach( $result_cat["query"]["categorymembers"] as $file ) {
$params_file = [
"action" => "query",
"prop" => "imageinfo",
"titles" => $file["title"],
"format" => "json"
];
$ch_file = curl_init( $endPoint . "?" . http_build_query( $params_file ) );
curl_setopt( $ch_file, CURLOPT_RETURNTRANSFER, true );
$output_file = curl_exec( $ch_file );
curl_close( $ch_file );
$result_file = json_decode( $output_file, true );
//Recupera data de envio do arquivo
$timestamp = strtotime(pos($result_file['query']['pages'])['imageinfo']['0']['timestamp']);
//Condicional para verificar se arquivo foi enviado antes de 28/05/2011 (dif:25470547)
if ($timestamp < 1306540800) {
//Recupera conteúdo do arquivo
$page = $file["title"];
$wikiCode = getAPI($page);
//Insere: modificado = sim
$wikiCode = str_replace("nformação","nformação\n| modificado = sim", $wikiCode);
//Gravar código
editAPI($wikiCode, NULL, true, "bot: Inserindo parâmetro \"modificado\" para evitar eliminação ([[Predefinição Discussão:Informação#Pergunta_técnica_II|detalhes]])", $page, $username);
}
}