[MediaWiki-commits] [Gerrit] Dont try to add bad users as publishers - change (mediawiki...Newsletter)
jenkins-bot has submitted this change and it was merged. Change subject: Dont try to add bad users as publishers .. Dont try to add bad users as publishers Previosuly this would give: Fatal error: Call to a member function isEmailConfirmed() SpecialNewsletterManage.php on line 201 Now instead we give a nice error message Change-Id: I6b787c43507721acb1ebd1834341d7570ee9a19e --- M includes/specials/SpecialNewsletterManage.php 1 file changed, 30 insertions(+), 24 deletions(-) Approvals: 01tonythomas: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/specials/SpecialNewsletterManage.php b/includes/specials/SpecialNewsletterManage.php index dfeba7e..001f721 100644 --- a/includes/specials/SpecialNewsletterManage.php +++ b/includes/specials/SpecialNewsletterManage.php @@ -198,34 +198,40 @@ if ( !empty( $formData['newsletter-name'] ) && !empty( $formData['publisher-name'] ) ) { $pubNewsletterId = $formData['newsletter-name']; $user = User::newFromName( $formData['publisher-name'] ); - if ( $user->isEmailConfirmed() ) { - $dbww = wfGetDB( DB_MASTER ); - $rowData = array( - 'newsletter_id' => $pubNewsletterId, - 'publisher_id' => $user->getId(), - ); - //Automatically subscribe publishers to the newsletter - $subscribeRowData = array( - 'newsletter_id' => $pubNewsletterId, - 'subscriber_id' => $user->getId() - ); - try { - $dbww->insert( 'nl_publishers', $rowData, __METHOD__ ); - $this->getOutput()->addWikiMsg( 'newsletter-new-publisher-confirmation' ); - } - catch ( DBQueryError $e ) { - return array( 'newsletter-invalid-username-error' ); - } - try{ - $dbww->insert( 'nl_subscriptions', $subscribeRowData, __METHOD__ ); - } catch ( DBQueryError $ed ) { - } - return true; - } else { + if ( !$user || $user->isAnon() ) { + return array( 'newsletter-invalid-username-error' ); + } + + if ( !$user->isEmailConfirmed() ) { return array( 'newsletter-unconfirmed-email-error' ); } + $dbww = wfGetDB( DB_MASTER ); + $rowData = array( + 'newsletter_id' => $pubNewsletterId, + 'publisher_id' => $user->getId(), + ); + //Automatically subscribe publishers to the newsletter + $subscribeRowData = array( + 'newsletter_id' => $pubNewsletterId, + 'subscriber_id' => $user->getId(), + ); + try { + $dbww->insert( 'nl_publishers', $rowData, __METHOD__ ); + $this->getOutput()->addWikiMsg( 'newsletter-new-publisher-confirmation' ); + } + catch ( DBQueryError $e ) { + return array( 'newsletter-invalid-username-error' ); + } + try { + $dbww->insert( 'nl_subscriptions', $subscribeRowData, __METHOD__ ); + } + catch ( DBQueryError $ed ) { + } + + return true; + } return array( 'newsletter-required-fields-error' ); -- To view, visit https://gerrit.wikimedia.org/r/234303 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6b787c43507721acb1ebd1834341d7570ee9a19e Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/Newsletter Gerrit-Branch: master Gerrit-Owner: Addshore Gerrit-Reviewer: 01tonythomas <01tonytho...@gmail.com> Gerrit-Reviewer: Addshore Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Dont try to add bad users as publishers - change (mediawiki...Newsletter)
Addshore has uploaded a new change for review. https://gerrit.wikimedia.org/r/234303 Change subject: Dont try to add bad users as publishers .. Dont try to add bad users as publishers Previosuly this would give: Fatal error: Call to a member function isEmailConfirmed() SpecialNewsletterManage.php on line 201 Now instead we give a nice error message Change-Id: I6b787c43507721acb1ebd1834341d7570ee9a19e --- M includes/specials/SpecialNewsletterManage.php 1 file changed, 30 insertions(+), 24 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Newsletter refs/changes/03/234303/1 diff --git a/includes/specials/SpecialNewsletterManage.php b/includes/specials/SpecialNewsletterManage.php index dfeba7e..48b259e 100644 --- a/includes/specials/SpecialNewsletterManage.php +++ b/includes/specials/SpecialNewsletterManage.php @@ -198,34 +198,40 @@ if ( !empty( $formData['newsletter-name'] ) && !empty( $formData['publisher-name'] ) ) { $pubNewsletterId = $formData['newsletter-name']; $user = User::newFromName( $formData['publisher-name'] ); - if ( $user->isEmailConfirmed() ) { - $dbww = wfGetDB( DB_MASTER ); - $rowData = array( - 'newsletter_id' => $pubNewsletterId, - 'publisher_id' => $user->getId(), - ); - //Automatically subscribe publishers to the newsletter - $subscribeRowData = array( - 'newsletter_id' => $pubNewsletterId, - 'subscriber_id' => $user->getId() - ); - try { - $dbww->insert( 'nl_publishers', $rowData, __METHOD__ ); - $this->getOutput()->addWikiMsg( 'newsletter-new-publisher-confirmation' ); - } - catch ( DBQueryError $e ) { - return array( 'newsletter-invalid-username-error' ); - } - try{ - $dbww->insert( 'nl_subscriptions', $subscribeRowData, __METHOD__ ); - } catch ( DBQueryError $ed ) { - } - return true; - } else { + if ( !$user ) { + return array( 'newsletter-invalid-username-error' ); + } + + if ( !$user->isEmailConfirmed() ) { return array( 'newsletter-unconfirmed-email-error' ); } + $dbww = wfGetDB( DB_MASTER ); + $rowData = array( + 'newsletter_id' => $pubNewsletterId, + 'publisher_id' => $user->getId(), + ); + //Automatically subscribe publishers to the newsletter + $subscribeRowData = array( + 'newsletter_id' => $pubNewsletterId, + 'subscriber_id' => $user->getId(), + ); + try { + $dbww->insert( 'nl_publishers', $rowData, __METHOD__ ); + $this->getOutput()->addWikiMsg( 'newsletter-new-publisher-confirmation' ); + } + catch ( DBQueryError $e ) { + return array( 'newsletter-invalid-username-error' ); + } + try { + $dbww->insert( 'nl_subscriptions', $subscribeRowData, __METHOD__ ); + } + catch ( DBQueryError $ed ) { + } + + return true; + } return array( 'newsletter-required-fields-error' ); -- To view, visit https://gerrit.wikimedia.org/r/234303 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6b787c43507721acb1ebd1834341d7570ee9a19e Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Newsletter Gerrit-Branch: master Gerrit-Owner: Addshore ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits