1 | <?php |
---|
2 | |
---|
3 | /** |
---|
4 | * Plugin Univers SPIP |
---|
5 | * (c) 2010 Cedric |
---|
6 | * Distribue sous licence GPL |
---|
7 | */ |
---|
8 | |
---|
9 | /** |
---|
10 | * Tache periodique d'analyse des sites decouverts. |
---|
11 | * |
---|
12 | * @param mixed $t Unused parameter |
---|
13 | * |
---|
14 | * @return integer 0 |
---|
15 | */ |
---|
16 | function genie_univers_check_dist($t) { |
---|
17 | include_spip('inc/univers_analyser'); |
---|
18 | |
---|
19 | $il_y_a_une_heure = date('Y-m-d H:i:s', time()-3600); |
---|
20 | // 2 sites en attente de validation |
---|
21 | $res = sql_select( |
---|
22 | '*', |
---|
23 | 'spip_websites', |
---|
24 | "statut='prop' AND (retry=0 OR date<".sql_quote($il_y_a_une_heure).')', |
---|
25 | '', |
---|
26 | 'date,retry', |
---|
27 | '0,2' |
---|
28 | ); |
---|
29 | while ($row = sql_fetch($res)) { |
---|
30 | univers_analyser_un($row); |
---|
31 | } |
---|
32 | |
---|
33 | $il_y_a_quatre_heure = date('Y-m-d H:i:s', time()-4*3600); |
---|
34 | // revisiter 5 sites deja vu, en commencant par les plus anciens |
---|
35 | $res = sql_select( |
---|
36 | '*', |
---|
37 | 'spip_websites', |
---|
38 | "statut='publie' AND (retry=0 OR date<".sql_quote($il_y_a_quatre_heure).')', |
---|
39 | '', |
---|
40 | 'date,retry', |
---|
41 | '0,5' |
---|
42 | ); |
---|
43 | while ($row = sql_fetch($res)) { |
---|
44 | univers_analyser_un($row); |
---|
45 | } |
---|
46 | |
---|
47 | // revisiter un site publie, en retry de plus de 4 heures |
---|
48 | $res = sql_select( |
---|
49 | '*', |
---|
50 | 'spip_websites', |
---|
51 | "statut='publie' AND (retry>0 AND date<".sql_quote($il_y_a_quatre_heure).')', |
---|
52 | '', |
---|
53 | 'date,retry', |
---|
54 | '0,1' |
---|
55 | ); |
---|
56 | while ($row = sql_fetch($res)) { |
---|
57 | univers_analyser_un($row); |
---|
58 | } |
---|
59 | |
---|
60 | // passer a la poubelle les sites sans DNS et essayes au moins 5 fois |
---|
61 | sql_updateq( |
---|
62 | 'spip_websites', |
---|
63 | array('statut'=>'poub'), |
---|
64 | "statut IN ('prop','publie') AND status='no-dns' AND retry>=5" |
---|
65 | ); |
---|
66 | |
---|
67 | // passer a la poubelle les sites morts et essayes au moins 10 fois |
---|
68 | // soit un propose pas vu vivant dans les 10 dernieres heures |
---|
69 | // soit un publie (donc vu vivant un jour) pas vu vivant dans les 40 dernieres heures |
---|
70 | sql_updateq( |
---|
71 | 'spip_websites', |
---|
72 | array('statut'=>'poub'), |
---|
73 | "statut IN ('prop','publie') AND status='dead' AND retry>=10" |
---|
74 | ); |
---|
75 | |
---|
76 | return 0; |
---|
77 | } |
---|