Skip to content

Commit

Permalink
Delete or rename entries in globalimagelinks when wiki is either dele…
Browse files Browse the repository at this point in the history
…ted or renamed (#529)

Co-authored-by: github-actions <[email protected]>
  • Loading branch information
paladox and github-actions authored Nov 12, 2024
1 parent b936227 commit e26fb1b
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions includes/HookHandlers/Main.php
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ public function onAbuseFilterShouldFilterAction(
}

public function onCreateWikiDeletion( DBConnRef $cwdb, string $dbname ): void {
global $wmgSwiftPassword;
global $wmgSwiftPassword, $wgGlobalUsageDatabase;

$echoSharedTrackingDB = $this->options->get( 'EchoSharedTrackingDB' );
$dbw = $this->dbLoadBalancerFactory->getMainLB(
Expand All @@ -180,6 +180,14 @@ public function onCreateWikiDeletion( DBConnRef $cwdb, string $dbname ): void {

$dbw->delete( 'echo_unread_wikis', [ 'euw_wiki' => $dbname ] );

if ( $wgGlobalUsageDatabase ) {
$gudDb = $this->dbLoadBalancerFactory->getMainLB(
$wgGlobalUsageDatabase
)->getMaintenanceConnectionRef( DB_PRIMARY, [], $wgGlobalUsageDatabase );

$gudDb->delete( 'globalimagelinks', [ 'gil_wiki' => $dbname ] );
}

foreach ( $this->options->get( MainConfigNames::LocalDatabases ) as $db ) {
$manageWikiSettings = new ManageWikiSettings( $db );

Expand Down Expand Up @@ -239,7 +247,7 @@ public function onCreateWikiRename(
string $oldDbName,
string $newDbName
): void {
global $wmgSwiftPassword;
global $wmgSwiftPassword, $wgGlobalUsageDatabase;

$echoSharedTrackingDB = $this->options->get( 'EchoSharedTrackingDB' );
$dbw = $this->dbLoadBalancerFactory->getMainLB(
Expand All @@ -248,6 +256,14 @@ public function onCreateWikiRename(

$dbw->update( 'echo_unread_wikis', [ 'euw_wiki' => $newDbName ], [ 'euw_wiki' => $oldDbName ] );

if ( $wgGlobalUsageDatabase ) {
$gudDb = $this->dbLoadBalancerFactory->getMainLB(
$wgGlobalUsageDatabase
)->getMaintenanceConnectionRef( DB_PRIMARY, [], $wgGlobalUsageDatabase );

$gudDb->update( 'globalimagelinks', [ 'gil_wiki' => $newDbName ], [ 'gil_wiki' => $oldDbName ] );
}

foreach ( $this->options->get( MainConfigNames::LocalDatabases ) as $db ) {
$manageWikiSettings = new ManageWikiSettings( $db );

Expand Down

0 comments on commit e26fb1b

Please sign in to comment.