diff options
Diffstat (limited to 'maintenance/purgeList.php')
-rw-r--r-- | maintenance/purgeList.php | 74 |
1 files changed, 49 insertions, 25 deletions
diff --git a/maintenance/purgeList.php b/maintenance/purgeList.php index ab8ff9fb..7168a203 100644 --- a/maintenance/purgeList.php +++ b/maintenance/purgeList.php @@ -2,38 +2,62 @@ /** * Send purge requests for listed pages to squid * - * @file + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * * @ingroup Maintenance */ -require_once( "commandLine.inc" ); +require_once( dirname(__FILE__) . '/Maintenance.php' ); + +class PurgeList extends Maintenance { + public function __construct() { + parent::__construct(); + $this->mDescription = "Send purge requests for listed pages to squid"; + } -$stdin = fopen( "php://stdin", "rt" ); -$urls = array(); + public function execute() { + $stdin = $this->getStdin(); + $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(); + 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(); + $this->output( "$url\n" ); + $urls[] = $url; + if( isset( $options['purge'] ) ) { + $title->invalidateCache(); + } + } else { + $this->output( "(Invalid title '$page')\n" ); + } } - } else { - echo "(Invalid title '$page')\n"; } - } -} - -echo "Purging " . count( $urls ) . " urls...\n"; -$u = new SquidUpdate( $urls ); -$u->doUpdate(); -echo "Done!\n"; + $this->output( "Purging " . count( $urls ) . " urls...\n" ); + $u = new SquidUpdate( $urls ); + $u->doUpdate(); + $this->output( "Done!\n" ); + } +} +$maintClass = "PurgeList"; +require_once( DO_MAINTENANCE ); |