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

Change subject: Change nl_desc to a blob
......................................................................


Change nl_desc to a blob

* If length is greater than 600000, it will be truncated when trying to create.
* Also truncate description field when shown on Special:Newsletters to 644 
characters.

Change-Id: I316ad606a04f981a6a7b0420f8e3b83f366cf70f
---
M includes/specials/SpecialNewsletterCreate.php
M includes/specials/pagers/NewsletterTablePager.php
M sql/nl_newsletters.sql
3 files changed, 12 insertions(+), 4 deletions(-)

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



diff --git a/includes/specials/SpecialNewsletterCreate.php 
b/includes/specials/SpecialNewsletterCreate.php
index a77d049..9c4f0fd 100644
--- a/includes/specials/SpecialNewsletterCreate.php
+++ b/includes/specials/SpecialNewsletterCreate.php
@@ -43,7 +43,7 @@
                                'required' => true,
                                'label-message' => 'newsletter-desc',
                                'rows' => 15,
-                               'maxlength' => 767
+                               'maxlength' => 600000,
                        ),
                        'mainpage' => array(
                                'type' => 'title',
@@ -61,6 +61,7 @@
         * @return bool|array true on success, array on error
         */
        public function onSubmit( array $data ) {
+               global $wgContLang;
 
                $mainTitle = Title::newFromText( $data['mainpage'] );
                if ( !$mainTitle ) {
@@ -84,9 +85,14 @@
                        isset( $data['mainpage'] )
                ) {
                        $db = NewsletterDb::newFromGlobalState();
+
+                       // nl_newsletters.nl_desc is a blob but put some limit
+                       // here which is less than max size for blobs
+                       $description = $wgContLang->truncate( trim( 
$data['description'] ), 600000 );
+
                        $newsletterAdded = $db->addNewsletter(
                                trim( $data['name'] ),
-                               $data['description'],
+                               $description,
                                $articleId
                        );
 
diff --git a/includes/specials/pagers/NewsletterTablePager.php 
b/includes/specials/pagers/NewsletterTablePager.php
index eeb39da..a283450 100644
--- a/includes/specials/pagers/NewsletterTablePager.php
+++ b/includes/specials/pagers/NewsletterTablePager.php
@@ -75,6 +75,8 @@
        }
 
        public function formatValue( $field, $value ) {
+               global $wgContLang;
+
                $id = $this->mCurrentRow->nl_id;
                switch ( $field ) {
                        case 'nl_name':
@@ -85,7 +87,7 @@
                                        return htmlspecialchars( $value );
                                }
                        case 'nl_desc':
-                               return htmlspecialchars( $value );
+                               return $wgContLang->truncate( htmlspecialchars( 
$value ), 644 );
                        case 'subscriber_count':
                                return HTML::element(
                                        'span',
diff --git a/sql/nl_newsletters.sql b/sql/nl_newsletters.sql
index 0c3f744..c07b7b9 100644
--- a/sql/nl_newsletters.sql
+++ b/sql/nl_newsletters.sql
@@ -4,7 +4,7 @@
        -- Primary key
        nl_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
        nl_name varchar(64) NOT NULL,
-       nl_desc varbinary(1024),
+       nl_desc blob,
        nl_main_page_id int unsigned NOT NULL UNIQUE
 )/*$wgDBTableOptions*/;
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I316ad606a04f981a6a7b0420f8e3b83f366cf70f
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/Newsletter
Gerrit-Branch: master
Gerrit-Owner: Glaisher <[email protected]>
Gerrit-Reviewer: 01tonythomas <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Glaisher <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to