From 5765d4a9e70043f08c50f9819a158c9f0855e931 Mon Sep 17 00:00:00 2001 From: Nicolas Iooss Date: Mon, 3 Feb 2014 21:41:24 +0100 Subject: [PATCH] Drop custom_css field in newsletters table As adding a CSS file and a template requires code modification, it's better to compute the custom_css field in the code. Newsletter::hasCustomCss() does this. Signed-off-by: Nicolas Iooss --- include/newsletter.inc.php | 22 ++++++++++++++-------- modules/newsletter.php | 1 - templates/newsletter/admin_all.tpl | 1 - upgrade/1.1.12/02_drop_newsletter_custom_css.sql | 3 +++ 4 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 upgrade/1.1.12/02_drop_newsletter_custom_css.sql diff --git a/include/newsletter.inc.php b/include/newsletter.inc.php index 48085eb..7dd5bb3 100644 --- a/include/newsletter.inc.php +++ b/include/newsletter.inc.php @@ -37,8 +37,6 @@ class NewsLetter public $cats; // List of all categories for this NL public $criteria; // PlFlagSet of allowed filters for recipient selection - protected $custom_css = false; - // Base name to use instead of the group short name for NLs without a custom CSS const FORMAT_DEFAULT_GROUP = 'default'; @@ -60,7 +58,7 @@ class NewsLetter { // Load NL data $res = XDB::query('SELECT nls.group_id, g.diminutif AS group_name, - nls.name AS nl_name, nls.custom_css, nls.criteria + nls.name AS nl_name, nls.criteria FROM newsletters AS nls LEFT JOIN groups AS g ON (nls.group_id = g.id) WHERE nls.id = {?}', @@ -74,7 +72,6 @@ class NewsLetter $this->group_id = $data['group_id']; $this->group = $data['group_name']; $this->name = $data['nl_name']; - $this->custom_css = $data['custom_css']; $this->criteria = new PlFlagSet($data['criteria']); // Load the categories @@ -109,7 +106,7 @@ class NewsLetter */ public static function getAll($sort = 'id', $order = 'ASC') { - $res = XDB::fetchAllAssoc('SELECT n.id, g.nom AS group_name, n.name, n.custom_css, n.criteria, g.diminutif AS group_link + $res = XDB::fetchAllAssoc('SELECT n.id, g.nom AS group_name, n.name, n.criteria, g.diminutif AS group_link FROM newsletters AS n INNER JOIN groups AS g ON (n.group_id = g.id) ORDER BY ' . $sort . ' ' . $order); @@ -517,7 +514,7 @@ class NewsLetter */ public function cssFile() { - if ($this->custom_css) { + if ($this->hasCustomCss()) { $base = $this->group; } else { $base = self::FORMAT_DEFAULT_GROUP; @@ -529,7 +526,7 @@ class NewsLetter */ public function tplFile() { - if ($this->custom_css) { + if ($this->hasCustomCss()) { $base = $this->group; } else { $base = self::FORMAT_DEFAULT_GROUP; @@ -650,7 +647,16 @@ class NewsLetter public function hasCustomCss() { - return $this->custom_css; + switch ($this->group) { + case self::GROUP_XORG: + case self::GROUP_COMMUNITY: + case self::GROUP_AX: + case self::GROUP_EP: + case self::GROUP_FX: + return true; + default: + return false; + } } public function canSyncWithGroup() diff --git a/modules/newsletter.php b/modules/newsletter.php index f3c666e..230265e 100644 --- a/modules/newsletter.php +++ b/modules/newsletter.php @@ -225,7 +225,6 @@ class NewsletterModule extends PLModule 'id' => 'Id', 'group_name' => 'Groupe', 'name' => 'Titre', - 'custom_css' => 'CSS spécifique', 'criteria' => 'Critères actifs' ); static $next_orders = array( diff --git a/templates/newsletter/admin_all.tpl b/templates/newsletter/admin_all.tpl index 994bdf8..d073798 100644 --- a/templates/newsletter/admin_all.tpl +++ b/templates/newsletter/admin_all.tpl @@ -44,7 +44,6 @@ {$nl.id} {$nl.group_name} {$nl.name} - {if $nl.custom_css}Oui{else}Non{/if} {$nl.criteria} {/foreach} diff --git a/upgrade/1.1.12/02_drop_newsletter_custom_css.sql b/upgrade/1.1.12/02_drop_newsletter_custom_css.sql new file mode 100644 index 0000000..302a2b8 --- /dev/null +++ b/upgrade/1.1.12/02_drop_newsletter_custom_css.sql @@ -0,0 +1,3 @@ +ALTER TABLE newsletters DROP COLUMN custom_css; + +-- vim:set syntax=mysql: -- 2.1.4