diff --git a/editcounts.php b/editcounts.php
index 519bf3dd..300e3ce7 100644
--- a/editcounts.php
+++ b/editcounts.php
@@ -51,10 +51,27 @@
if ( !$results ) {
die( $mysqli->error );
}
+
+$update = isset( $_POST['update'] );
+
+echo '
';
+
$wikis = [];
while ( $data = $results->fetch_assoc() ) {
$wiki = $data['wiki'];
$wikis[$wiki] = $data;
+
+ if ( $update ) {
+ $cmd = make_shell_command(
+ [
+ 'PATCHDEMO' => __DIR__,
+ 'NAME' => $wiki,
+ ],
+ 'sh -c \'php $PATCHDEMO/wikis/$NAME/w/maintenance/initSiteStats.php --update --active\''
+ );
+ shell_echo( $cmd );
+ }
+
$stats = $mysqli->query( "
SELECT *,
( SELECT MAX( rev_timestamp ) FROM patchdemo_$wiki.revision ) AS last_edit
@@ -66,10 +83,35 @@
}
}
+echo '
';
+
uksort( $wikis, static function ( $a, $b ) use ( $wikis ) {
return ( $wikis[ $b ][ 'ss_total_edits' ] ?? -1 ) <=> ( $wikis[ $a ][ 'ss_total_edits' ] ?? -1 );
} );
+echo new OOUI\FormLayout( [
+ 'method' => 'POST',
+ 'items' => [
+ new OOUI\FieldsetLayout( [
+ 'label' => null,
+ 'items' => [
+ new OOUI\FieldLayout(
+ new OOUI\ButtonInputWidget( [
+ 'classes' => [ 'form-submit' ],
+ 'label' => 'Update stats',
+ 'type' => 'submit',
+ 'name' => 'update',
+ 'flags' => [ 'progressive' ]
+ ] ),
+ [
+ 'align' => 'inline',
+ ]
+ ),
+ ]
+ ] ),
+ ]
+] );
+
echo '