Glaisher has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/234007

Change subject: Make submit callback methods non-static
......................................................................

Make submit callback methods non-static

No need for these to be static. Now also return arrays with
error messages.
Change-Id: Iee8ee0bdb860aec52af35044bafa73379bf6ff40
---
M includes/SpecialNewsletterCreate.php
M includes/SpecialNewsletterManage.php
2 files changed, 15 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Newsletter 
refs/changes/07/234007/1

diff --git a/includes/SpecialNewsletterCreate.php 
b/includes/SpecialNewsletterCreate.php
index a01fc79..5b2937a 100644
--- a/includes/SpecialNewsletterCreate.php
+++ b/includes/SpecialNewsletterCreate.php
@@ -2,6 +2,7 @@
 /**
  * Special page for creating newsletters
  *
+ * @todo Make this extend FormSpecialPage
  */
 class SpecialNewsletterCreate extends SpecialPage {
        public function __construct() {
@@ -17,7 +18,7 @@
                # Create HTML forms
                $createNewsletterForm = new HTMLForm( $createNewsletterArray, 
$this->getContext(), 'createnewsletterform' );
                $createNewsletterForm->setSubmitTextMsg( 
'newsletter-create-submit' );
-               $createNewsletterForm->setSubmitCallback( array( 
'SpecialNewsletterCreate', 'onSubmitNewsletter' ) );
+               $createNewsletterForm->setSubmitCallback( array( $this, 
'onSubmitNewsletter' ) );
                $createNewsletterForm->setWrapperLegendMsg( 
'newsletter-create-section' );
                # Show HTML forms
                $createNewsletterForm->show();
@@ -74,12 +75,12 @@
         * @param array $formData The data entered by user in the form
         * @return bool
         */
-       static function onSubmitNewsletter( array $formData ) {
+       public function onSubmitNewsletter( array $formData ) {
                if ( isset( $formData['mainpage'] ) ) {
                        $page = Title::newFromText( $formData['mainpage'] );
                        $pageId = $page->getArticleId();
                } else {
-                       return RequestContext::getMain()->msg( 
'newsletter-create-mainpage-error' );
+                       return array( 'newsletter-create-mainpage-error' );
                }
                if ( isset( $formData['name'] ) && isset( 
$formData['description'] ) && ( $pageId !== 0 ) &&
                        isset( $formData['mainpage'] ) && isset( 
$formData['frequency'] ) && isset( $formData['publisher'] ) ) {
@@ -96,9 +97,9 @@
                        try {
                                $dbw->insert( 'nl_newsletters', $rowData, 
__METHOD__ );
                        } catch ( DBQueryError $e ) {
-                               return RequestContext::getMain()->msg( 
'newsletter-exist-error' );
+                               return array( 'newsletter-exist-error' );
                        }
-                       RequestContext::getMain()->getOutput()->addWikiMsg( 
'newsletter-create-confirmation' );
+                       $this->getOutput()->addWikiMsg( 
'newsletter-create-confirmation' );
                        //Add newsletter creator as publisher
                        $dbr = wfGetDB( DB_SLAVE );
                        $res = $dbr->select(
@@ -124,6 +125,6 @@
                        return true;
                }
 
-               return RequestContext::getMain()->msg( 
'newsletter-mainpage-not-found-error' );
+               return array( 'newsletter-mainpage-not-found-error' );
        }
 }
diff --git a/includes/SpecialNewsletterManage.php 
b/includes/SpecialNewsletterManage.php
index f804511..7f7b848 100644
--- a/includes/SpecialNewsletterManage.php
+++ b/includes/SpecialNewsletterManage.php
@@ -25,7 +25,7 @@
 
                # Create HTML forms
                $announceIssueForm = new HTMLForm( $announceIssueArray, 
$this->getContext(), 'newsletter-announceissueform' );
-               $announceIssueForm->setSubmitCallback( array( 
'SpecialNewsletterManage', 'onSubmitIssue' ) );
+               $announceIssueForm->setSubmitCallback( array( $this, 
'onSubmitIssue' ) );
 
                $table = new NewsletterManageTable();
                if ( $table->getNumRows() > 0 ) {
@@ -136,7 +136,7 @@
         * @param array $formData The data entered by user in the form
         * @return bool
         */
-       static function onSubmitIssue( $formData ) {
+       public function onSubmitIssue( $formData ) {
                $newsletterId = $formData['issue-newsletter'];
                if ( !empty( $formData['issue-page'] ) && !empty( 
$formData['issue-newsletter'] ) ) {
                        $issuePage = Title::newFromText( 
$formData['issue-page'] );
@@ -162,7 +162,7 @@
                                        'issue_publisher_id' => 
$formData['publisher']
                                );
                                $dbw->insert( 'nl_issues', $rowData, __METHOD__ 
);
-                               
RequestContext::getMain()->getOutput()->addWikiMsg( 
'newsletter-issue-announce-confirmation' );
+                               $this->getOutput()->addWikiMsg( 
'newsletter-issue-announce-confirmation' );
                                //trigger notifications
                                $res = $dbr->select(
                                        'nl_newsletters',
@@ -190,7 +190,7 @@
 
                                return true;
                        } else {
-                               return RequestContext::getMain()->msg( 
'newsletter-issuepage-not-found-error' );
+                               return array( 
'newsletter-issuepage-not-found-error' );
                        }
                }
 
@@ -205,19 +205,19 @@
                                );
                                try {
                                        $dbww->insert('nl_publishers', 
$rowData, __METHOD__);
-                                       
RequestContext::getMain()->getOutput()->addWikiMsg( 
'newsletter-new-publisher-confirmation' );
+                                       $this->getOutput()->addWikiMsg( 
'newsletter-new-publisher-confirmation' );
 
                                        return true;
                                } catch ( DBQueryError $e ) {
-                                       return RequestContext::getMain()->msg( 
'newsletter-invalid-username-error' );
+                                       return array( 
'newsletter-invalid-username-error' );
                                }
                        } else {
-                               return  RequestContext::getMain()->msg( 
'newsletter-unconfirmed-email-error' );
+                               return array( 
'newsletter-unconfirmed-email-error' );
                        }
 
                }
 
-               return RequestContext::getMain()->msg( 
'newsletter-required-fields-error' );
+               return array( 'newsletter-required-fields-error' );
 
        }
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iee8ee0bdb860aec52af35044bafa73379bf6ff40
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Newsletter
Gerrit-Branch: master
Gerrit-Owner: Glaisher <[email protected]>

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

Reply via email to