Siebrand has uploaded a new change for review.
https://gerrit.wikimedia.org/r/103511
Change subject: Create a user page when granting translator rights
......................................................................
Create a user page when granting translator rights
Bug: 58710
Change-Id: I133526d250fa93f19a632244c5a4955362133790
---
M api/ApiTranslateSandbox.php
M i18n/sandbox/en.json
2 files changed, 31 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate
refs/changes/11/103511/1
diff --git a/api/ApiTranslateSandbox.php b/api/ApiTranslateSandbox.php
index 2237015..6f989fe 100644
--- a/api/ApiTranslateSandbox.php
+++ b/api/ApiTranslateSandbox.php
@@ -12,7 +12,6 @@
* @ingroup API TranslateAPI
*/
class ApiTranslateSandbox extends ApiBase {
-
public function execute() {
global $wgTranslateUseSandbox;
if ( !$wgTranslateUseSandbox ) {
@@ -74,6 +73,8 @@
$user->setOption( 'language',
$this->getContext()->getLanguage()->getCode() );
$user->saveSettings();
+
+ $this->createUserPage( $user );
$this->getResult()->addValue( null, $this->getModuleName(),
$output );
}
@@ -150,6 +151,32 @@
}
}
+ /**
+ *
+ * @param User $user
+ * @return Status|bool False when a user page already existed, or the
Status
+ * of the user page creation by WikiPage::doEditContent().
+ */
+ protected function createUserPage( User $user ) {
+ $userpage = $user->getUserPage();
+
+ if( $userpage->exists() ) {
+ return Status::newGood();
+ }
+
+ $languages = $user->getOption( 'translate-sandbox' );
+ $languages = implode( '|', $languages );
+ $babeltext = '{{#babel:' . $languages . '}}';
+ $summary = $this->msg( 'tsb-create-user-page'
)->inContentLanguage()->text();
+
+ $page = WikiPage::factory( $userpage );
+ $content = ContentHandler::makeContent( $babeltext, $userpage );
+
+ $editResult = $page->doEditContent( $content, $summary,
EDIT_NEW, false, $user );
+
+ return $editResult;
+ }
+
public function mustBePosted() {
return true;
}
diff --git a/i18n/sandbox/en.json b/i18n/sandbox/en.json
index cd8a055..a5a32d6 100644
--- a/i18n/sandbox/en.json
+++ b/i18n/sandbox/en.json
@@ -43,9 +43,10 @@
"tsb-limit-reached-title": "Thanks for your translations",
"tsb-limit-reached-body": "You reached the translation limit for new
translators.\nOur team will verify and upgrade your account soon.\nThen you
will be able to translate without limits.",
"tsb-no-requests-from-new-users": "No requests from new users",
- "tsb-promoted-from-sandbox": "User has been promoted to translator",
+ "tsb-promoted-from-sandbox": "User has been promoted to translator",
+ "tsb-create-user-page": "Create basic user page",
"log-name-translatorsandbox": "Translation sandbox",
"log-description-translatorsandbox": "A log of actions on translation
sandbox users",
"logentry-translatorsandbox-promoted": "$1 {{GENDER:$2|promoted}} $3 to
{{GENDER:$4|translator}}",
"logentry-translatorsandbox-rejected": "$1 {{GENDER:$2|rejected}} the
request from \"$3\" to become a translator"
-}
\ No newline at end of file
+}
--
To view, visit https://gerrit.wikimedia.org/r/103511
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I133526d250fa93f19a632244c5a4955362133790
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Siebrand <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits