Matěj Suchánek has uploaded a new change for review. https://gerrit.wikimedia.org/r/291495
Change subject: Make fetching the newest version work again ...................................................................... Make fetching the newest version work again Change-Id: Idfba7b56c0854c660f3d9c3e0987d0e6ac0a0e89 --- M i18n/en.json M i18n/es.json M specialupdatemediawiki.php 3 files changed, 61 insertions(+), 61 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UpdateMediaWiki refs/changes/95/291495/1 diff --git a/i18n/en.json b/i18n/en.json index dd05680..fde5570 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -6,9 +6,9 @@ }, "updatemediawiki": "Update MediaWiki", "updatemediawiki-desc": "Allows updating MediaWiki via a special page", - "updatemediawiki-current": "Current version", + "updatemediawiki-current": "Current version $1", "updatemediawiki-update-nofound": "No update is available", - "updatemediawiki-update-found": "New update found", + "updatemediawiki-update-found": "New update found: $1", "updatemediawiki-update-downloading": "Downloading new update", "updatemediawiki-update-saved": "Update downloaded and saved", "updatemediawiki-update-exist": "Update already downloaded", diff --git a/i18n/es.json b/i18n/es.json index 8b1d820..18e549c 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -6,9 +6,9 @@ }, "updatemediawiki": "Actualizar MediaWiki", "updatemediawiki-desc": "Permite a los administradores y usuarios autorizados actualizar MediaWiki desde una página especial.", - "updatemediawiki-current": "Versión Actual", + "updatemediawiki-current": "Versión Actual $1", "updatemediawiki-update-nofound": "No hay actualizaciones disponibles", - "updatemediawiki-update-found": "Nueva actualización encontrada", + "updatemediawiki-update-found": "Nueva actualización encontrada: $1", "updatemediawiki-update-downloading": "Descargando nueva actualización", "updatemediawiki-update-saved": "Nueva actualización descargada y guardada", "updatemediawiki-update-exist": "La actualización ya se había descargado", diff --git a/specialupdatemediawiki.php b/specialupdatemediawiki.php index 00050b0..aef8898 100644 --- a/specialupdatemediawiki.php +++ b/specialupdatemediawiki.php @@ -10,12 +10,12 @@ **********************************************************************/ class Specialupdatemediawiki extends SpecialPage { + function __construct() { - parent::__construct( $name = 'updatemediawiki', $restriction = 'updatecore' ); + parent::__construct( 'updatemediawiki', 'updatecore' ); } function execute( $par ) { - // ... if ( !$this->userCanExecute( $this->getUser() ) ) { $this->displayRestrictionError(); @@ -26,76 +26,76 @@ $output = $this->getOutput(); $this->setHeaders(); - $param = $request->getText( 'param' ); - global $wgVersion, $IP; - $getVersions = substr(file_get_contents('https://www.mediawiki.org/w/index.php?title=Template:MW_stable_release_number&action=raw'), 0, 6) or die ('ERROR'); - if ($getVersions != '') { + $getVersion = json_decode( file_get_contents( 'https://www.mediawiki.org/w/api.php?action=parse&format=json&text=%7B%7B%23invoke%3AVersion%7Cget%7Cstable%7Cversion%7D%7D&prop=text&disablelimitreport=1&disableeditsection=1&preview=1&disabletoc=1&contentmodel=wikitext' ), true ) or die ( 'ERROR' ); + $aV = $getVersion["parse"]["text"]["*"]; + $updated = false; + $found = false; + if ( !empty( $aV ) ) { //If we managed to access that file, then lets break up those release versions into an array. - $output->addWikiText( "== ". wfMessage( 'updatemediawiki-current' )->text() ." ".$wgVersion." == " ); - $versionList = explode("\\n", $getVersions); - $mainVersion = substr($getVersions, 0, 4); - foreach ( $versionList as $aV ) { - if ( $aV > $wgVersion ) { - $output->addWikiText( "<p>".wfMessage( 'updatemediawiki-update-found' )->text()."v".$aV."</p>" ); - $found = true; - //Download The File If We Do Not Have It - if ( !is_file( __DIR__ . '/Updates/mediawiki-'.$aV.'.tar.gz' ) ) { - $output->addWikiText( "<p>".wfMessage( 'updatemediawiki-update-downloading' )->text()."</p>" ); - $newUpdate = file_get_contents('http://download.wikimedia.org/mediawiki/'.$mainVersion.'/mediawiki-'.$aV.'.tar.gz'); - if ( !is_dir( __DIR__ . '/Updates' ) ) { - mkdir( __DIR__ . "/Updates", 0755 ); - } - $dlHandler = fopen( __DIR__ . '/Updates/mediawiki-'.$aV.'.tar.gz', 'w'); - if ( !fwrite( $dlHandler, $newUpdate ) ) { - $output->addWikiText( "<p>" . wfMessage( 'updatemediawiki-update-aborted' )->text() . "</p>" ); - exit(); - } - fclose( $dlHandler ); - $output->addWikiText( "<p>" . wfMessage( 'updatemediawiki-update-saved' )->text() . "</p>" ); - } else { - $output->addWikiText( "<p>" . wfMessage( 'updatemediawiki-update-exist' )->text() . "</p>"); + $output->addWikiText( "== " . $this->msg( 'updatemediawiki-current' )->text() . " $wgVersion ==" ); + $aV = str_replace( "<p>", "", $aV ); + $aV = str_replace( "</p>", "", $aV ); + $aV = str_replace( "\n", "", $aV ); + $mainVersion = substr( $aV, 0, 4 ); + if ( $aV > $wgVersion ) { + $output->addWikiText( "<p>" . $this->msg( 'updatemediawiki-update-found', "v{$aV}" )->text() . "</p>" ); + $found = true; + //Download The File If We Do Not Have It + if ( !is_file( __DIR__ . "/Updates/mediawiki-{$aV}.tar.gz" ) ) { + $output->addWikiText( "<p>" . wfMessage( 'updatemediawiki-update-downloading' )->text() . "</p>" ); + $newUpdate = file_get_contents( "http://download.wikimedia.org/mediawiki/{$mainVersion}/mediawiki-{$aV}.tar.gz" ); + if ( !is_dir( __DIR__ . '/Updates' ) ) { + mkdir( __DIR__ . "/Updates", 0755 ); + } + $dlHandler = fopen( __DIR__ . "/Updates/mediawiki-{$aV}.tar.gz", 'w'); + if ( !fwrite( $dlHandler, $newUpdate ) ) { + $output->addWikiText( "<p>" . $this->msg( 'updatemediawiki-update-aborted' )->text() . "</p>" ); + exit(); + } + fclose( $dlHandler ); + $output->addWikiText( "<p>" . $this->msg( 'updatemediawiki-update-saved' )->text() . "</p>" ); + } else { + $output->addWikiText( "<p>" . $this->msg( 'updatemediawiki-update-exist' )->text() . "</p>" ); + } + + if ( $par == "doUpdate" ) { + //Open The File And Do Stuff + $gz = new PharData( "/Updates/mediawiki-{$aV}.tar.gz" ); + $output->addWikiText( "<ul>" ); + + //Make the directory if we need to... + if ( !is_dir( "/Updates{$aV}" ) ) { + mkdir( __DIR__ . "/Updates{$aV}", 0755 ); } - if ( $par == "doUpdate" ) { - //Open The File And Do Stuff - $gz = new PharData('/Updates/mediawiki-'.$aV.'.tar.gz'); - $output->addWikiText( "<ul>"); - - //Make the directory if we need to... - if ( !is_dir ( "/Updates" . $aV ) ) { - mkdir( __DIR__ . "/Updates" . $aV, 0755 ); - } + //Overwrite the file - //Overwrite the file + $gz = decompress(); // creates files.tar + // unarchive from the tar + $phar = new PharData( "Updates/mediawiki-{$aV}.tar" ); + $phar->extractTo( $IP ); + $output->addWikiText( "<p>" . $this->msg( 'updatemediawiki-update-ready' )->text() . " [$IP/mw-config " . wfMessage( 'updatemediawiki-update-database' )->text() . "]</p>" ); - $gz = decompress(); // creates files.tar - // unarchive from the tar - $phar = new PharData('Updates/mediawiki-'.$aV.'.tar'); - $phar->extractTo($IP); - $output->addWikiText( "<p>".wfMessage( 'updatemediawiki-update-ready' )->text()." [".$IP."/mw-config ".wfMessage( 'updatemediawiki-update-database' )->text()."]</p>"); - - $output->addWikiText( "</ul>"); - $updated = true; - } else { - $output->addWikiText( "<p>".wfMessage( 'updatemediawiki-update-updateready' )->text()." [[/doUpdate|".wfMessage( 'updatemediawiki-update-install' )->text()."]]</p>"); - } - break; + $output->addWikiText( "</ul>" ); + $updated = true; + } else { + $output->addWikiText( "<p>" . $this->msg( 'updatemediawiki-update-updateready' )->text() . " [[Special:Updatemediawiki/doUpdate|" . $this->msg( 'updatemediawiki-update-install' )->text() . "]]</p>" ); } } } - if ( $updated == true ) { - $output->addWikiText( "<p class=\"success\">» ".wfMessage( 'updatemediawiki-update-updated', '$aV' )->text().'</p>'); - } elseif ( $found != true ) { - $output->addWikiText( wfMessage( 'updatemediawiki-update-nofound' )->text() ); + if ( $updated === true ) { + $output->addWikiText( '<p class="success">» ' . $this->msg( 'updatemediawiki-update-updated', $aV )->text() . '</p>' ); + } elseif ( $found !== true ) { + $output->addWikiText( '<p>' . $this->msg( 'updatemediawiki-update-nofound' )->text() . '</p>' ); } else { - $output->addWikiText( "<p>".wfMessage( 'updatemediawiki-update-error' )->text().'</p>'); + $output->addWikiText( '<p>' . $this->msg( 'updatemediawiki-update-error' )->text() . '</p>' ); } - } protected function getGroupName() { return 'wiki'; } + } -- To view, visit https://gerrit.wikimedia.org/r/291495 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idfba7b56c0854c660f3d9c3e0987d0e6ac0a0e89 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/UpdateMediaWiki Gerrit-Branch: master Gerrit-Owner: Matěj Suchánek <matejsuchane...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits