jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/404272 )
Change subject: fixNS.php: Added maintenance-script
......................................................................
fixNS.php: Added maintenance-script
Added maintenance-script for adding
pages with wrong entry of namespace
retrospectively to a namespace.
Needs merge into master.
Removed whitespace.
Improved SQL-Queries.
Removed whitespace.
Change-Id: I826aabaeea9f15d6a8a6ce71d908545e1b19df5d
---
A maintenance/fixNS.php
1 file changed, 75 insertions(+), 0 deletions(-)
Approvals:
Robert Vogel: Looks good to me, approved
jenkins-bot: Verified
diff --git a/maintenance/fixNS.php b/maintenance/fixNS.php
new file mode 100644
index 0000000..7e03aaf
--- /dev/null
+++ b/maintenance/fixNS.php
@@ -0,0 +1,75 @@
+<?php
+
+require_once __DIR__ . '/Maintenance.php';
+
+/**
+ * Base class for adding pages with retrospectively to a namespace
+ *
+ * @ingroup Maintenance
+ */
+class FixNS extends Maintenance {
+
+ public function __construct() {
+ parent::__construct();
+ $this->addDescription( '' );
+ }
+
+ public function execute() {
+ $dbr = wfGetDB( DB_MASTER );
+ $res = $dbr->select(
+ "page",
+ array( "page_id", "page_title", "page_namespace" ),
+ "page_namespace = 0",
+ "page_namespace ".$dbr->buildLike( "%:%", $dbr->anyString() )
+ );
+
+ if($res!=null){
+ foreach( $res as $row ) {
+ $fields = get_object_vars( $row );
+ $pageId = $fields[ "page_id" ];
+ $pageTitle = $fields[ "page_title" ];
+ $arr = explode( ":", $pageTitle, 2 );
+ $pageNS = $arr[ 0 ];
+ $pageName = $arr[ 1 ];
+ $arrNS = $GLOBALS[ 'wgExtraNamespaces' ];
+
+ if( in_array( $pageNS, $arrNS ) ) {
+ $this->output( "Found " . $pageNS . " as namespace. \n" );
+ $this->output( "Adding " . $pageTitle . " to the namespace
" . $pageNS . ". \n" );
+ foreach( $arrNS as $nsKey => $nsData ) {
+ if( $nsData == $pageNS ) {
+ $dbr->update(
+ "page",
+ array(
+ "page_title = '".$pageName."'",
+ "page_namespace = ".$nsKey
+ ),
+ array(
+ "page_title = '".$nsData.":".$pageName."'",
+ "page_id = ".$pageId,
+ "page_namespace = 0"
+ )
+ );
+ $done = true;
+ }
+ }
+
+ if( $done == true ) {
+ $this->output( " ... done\n" );
+ } else {
+ $this->output( " ... query failed \n" );
+ }
+ }
+ else {
+ $this->output( "No page in need of change found. \n" );
+ }
+ }
+ }
+ else {
+ $this->output( " .. query failed \n " );
+ }
+ }
+}
+
+$maintClass = "FixNS";
+require_once RUN_MAINTENANCE_IF_MAIN;
--
To view, visit https://gerrit.wikimedia.org/r/404272
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I826aabaeea9f15d6a8a6ce71d908545e1b19df5d
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/BlueSpiceFoundation
Gerrit-Branch: master
Gerrit-Owner: Pmiguelpirzer <[email protected]>
Gerrit-Reviewer: Ljonka <[email protected]>
Gerrit-Reviewer: Mglaser <[email protected]>
Gerrit-Reviewer: Pwirth <[email protected]>
Gerrit-Reviewer: Robert Vogel <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits