summaryrefslogtreecommitdiff
path: root/maintenance/purgeList.php
blob: ab8ff9fbea39cce5ab1149d9b0bafe2591213a71 (plain)
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
<?php
/**
 * Send purge requests for listed pages to squid
 *
 * @file
 * @ingroup Maintenance
 */

require_once( "commandLine.inc" );

$stdin = fopen( "php://stdin", "rt" );
$urls = array();

while( !feof( $stdin ) ) {
	$page = trim( fgets( $stdin ) );
	if ( substr( $page, 0, 7 ) == 'http://' ) {
		$urls[] = $page;
	} elseif( $page !== '' ) {
		$title = Title::newFromText( $page );
		if( $title ) {
			$url = $title->getFullUrl();
			echo "$url\n";
			$urls[] = $url;
			if( isset( $options['purge'] ) ) {
				$title->invalidateCache();
			}
		} else {
			echo "(Invalid title '$page')\n";
		}
	}
}

echo "Purging " . count( $urls ) . " urls...\n";
$u = new SquidUpdate( $urls );
$u->doUpdate();

echo "Done!\n";