jenkins-bot has submitted this change and it was merged.

Change subject: Add support for custom namespace for projects
......................................................................


Add support for custom namespace for projects

We'd like to split project pages and subpages into a custom
namespace, to more easily enable search for project docs. This
change allows us to specify a different namespace for project
pages.

Change-Id: I5238b07da61ecd1fb1ce9b1c9aa3b4df56a84be4
---
M OpenStackManager.php
M nova/OpenStackNovaArticle.php
M nova/OpenStackNovaProject.php
3 files changed, 14 insertions(+), 11 deletions(-)

Approvals:
  coren: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/OpenStackManager.php b/OpenStackManager.php
index 9f13896..aec9f46 100644
--- a/OpenStackManager.php
+++ b/OpenStackManager.php
@@ -130,6 +130,8 @@
  * Path to the puttygen utility. Used for converting ssh key formats. False to 
disable its use.
  */
 $wgPuttygen = 'puttygen';
+// Custom namespace for projects
+$wgOpenStackManagerProjectNamespace = NS_NOVA_RESOURCE;
 
 $dir = dirname( __FILE__ ) . '/';
 
diff --git a/nova/OpenStackNovaArticle.php b/nova/OpenStackNovaArticle.php
index 97a3df4..2878e56 100644
--- a/nova/OpenStackNovaArticle.php
+++ b/nova/OpenStackNovaArticle.php
@@ -14,23 +14,23 @@
                return $wgOpenStackManagerCreateResourcePages;
        }
 
-       public static function editArticle( $titletext, $text ) {
-               $title = Title::newFromText( $titletext, NS_NOVA_RESOURCE );
+       public static function editArticle( $titletext, $text, 
$namespace=NS_NOVA_RESOURCE ) {
+               $title = Title::newFromText( $titletext, $namespace );
                $article = WikiPage::factory( $title );
                $article->doEdit( $text, '' );
        }
 
-       public static function getText( $titletext ) {
-               $title = Title::newFromText( $titletext, NS_NOVA_RESOURCE );
+       public static function getText( $titletext, $namespace=NS_NOVA_RESOURCE 
) {
+               $title = Title::newFromText( $titletext, $namespace );
                $article = WikiPage::factory( $title );
                return $article->getText();
        }
 
-       public static function deleteArticle( $titletext ) {
+       public static function deleteArticle( $titletext, 
$namespace=NS_NOVA_RESOURCE ) {
                if ( ! OpenStackNovaArticle::canCreatePages() ) {
                        return;
                }
-               $title = Title::newFromText( $titletext, NS_NOVA_RESOURCE );
+               $title = Title::newFromText( $titletext, $namespace );
                $article = WikiPage::factory( $title );
                $article->doDeleteArticle( '' );
        }
diff --git a/nova/OpenStackNovaProject.php b/nova/OpenStackNovaProject.php
index 13e7a25..d4a7a9b 100644
--- a/nova/OpenStackNovaProject.php
+++ b/nova/OpenStackNovaProject.php
@@ -865,7 +865,7 @@
        }
 
        function editArticle() {
-               global $wgOpenStackManagerCreateProjectSALPages;
+               global $wgOpenStackManagerCreateProjectSALPages, 
$wgOpenStackManagerProjectNamespace;
 
                if ( ! OpenStackNovaArticle::canCreatePages() ) {
                        return;
@@ -897,10 +897,10 @@
                        implode( ',', $admins ),
                        implode( ',', $members )
                );
-               OpenStackNovaArticle::editArticle( $this->getProjectName(), 
$text );
+               OpenStackNovaArticle::editArticle( $this->getProjectName(), 
$text, $wgOpenStackManagerProjectNamespace );
                if ( $wgOpenStackManagerCreateProjectSALPages ) {
                        $pagename = $this->getProjectName() . "/SAL";
-                       $id = Title::newFromText( $pagename, NS_NOVA_RESOURCE 
)->getArticleId();
+                       $id = Title::newFromText( $pagename, 
$wgOpenStackManagerProjectNamespace )->getArticleId();
                        $article = Article::newFromId( $id );
                        $content = '';
                        if ( $article ) {
@@ -908,12 +908,13 @@
                        }
                        $text = "{{SAL|Project Name=" . $this->getProjectName() 
. "}}";
                        if ( !strstr( $content, $text ) ) {
-                               OpenStackNovaArticle::editArticle( $pagename, 
$text );
+                               OpenStackNovaArticle::editArticle( $pagename, 
$text, $wgOpenStackManagerProjectNamespace );
                        }
                }
        }
 
        function deleteArticle() {
-               OpenStackNovaArticle::deleteArticle( $this->getProjectName() );
+               global $wgOpenStackManagerProjectNamespace;
+               OpenStackNovaArticle::deleteArticle( $this->getProjectName(), 
$wgOpenStackManagerProjectNamespace );
        }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/74211
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5238b07da61ecd1fb1ce9b1c9aa3b4df56a84be4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/OpenStackManager
Gerrit-Branch: master
Gerrit-Owner: Ryan Lane <[email protected]>
Gerrit-Reviewer: coren <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to