From: Filipus K. <ch...@gm...> - 2011-10-07 02:55:53
|
That's true. The problem is that by default, it adds weight to the interface, which I think is not so much a problem because of the "wasted space", but because it makes the interface more intimidating to new editors. The newsletter's editor and its admin is often the same person, so if the new administrator just leaves the option to its default value (since he has no idea what it does), the new editor will get the [more] intimidating Send Newsletters interface. I don't see any check of feature_articles in the code. Le 2011-10-06 22:01, Nelson Ko a écrit : > yes it could be hidden when empty. But afaik you can turn off clipping > for each newsletter in the newsletter config. I thought I made the > clip appear only if the feature is on but I could be mistaken (it > could have be left out). > > On Thu, Oct 6, 2011 at 9:10 PM, Filipus Klutiero<ch...@gm...> wrote: >> Hi Nelson, >> >>> Revision: 26339 >>> http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=26339&view=rev<http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=26339&view=rev> >>> Author: nkoth >>> Date: 2010-03-26 21:04:13 +0000 (Fri, 26 Mar 2010) >>> >>> Log Message: >>> ----------- >>> [NEW] Clip from articles into newsletter capability >>> >>> Modified Paths: >>> -------------- >>> trunk/lib/newsletters/nllib.php >>> trunk/templates/tiki-send_newsletters.tpl >>> trunk/tiki-send_newsletters.php >>> >>> Added Paths: >>> ----------- >>> trunk/templates/mail/newsletter_articleclip.tpl >>> >>> Modified: trunk/lib/newsletters/nllib.php >>> =================================================================== >>> --- trunk/lib/newsletters/nllib.php 2010-03-26 19:10:46 UTC (rev 26338) >>> +++ trunk/lib/newsletters/nllib.php 2010-03-26 21:04:13 UTC (rev 26339) >>> @@ -799,5 +799,41 @@ >>> $query = 'delete from `tiki_sent_newsletters_errors` where `editionId`=?'; >>> $this->query($query, array((int)$editionId)); >>> } >>> + >>> + function clip_articles($nlId) { >>> + global $artlib, $smarty; >>> + require_once 'lib/articles/artlib.php'; >>> + $query = 'select `articleClipTypes`, `articleClipRange` from `tiki_newsletters` where nlId = ?'; >>> + $result = $this->fetchAll($query, array($nlId)); >>> + $articleClipTypes = unserialize($result[0]['articleClipTypes']); >>> + $date_min = $this->now - $result[0]['articleClipRange']; >>> + $date_max = $this->now; >>> + $articles = array(); >>> + $articleClip = ''; >>> + # Order array by publishDate >>> + if (!function_exists('cmp')) { >>> + function cmp($a,$b) { >>> + if ($a['publishDate'] == $b['publishDate']) return 0; >>> + return ($a['publishDate']< $b['publishDate']) ? -1 : 1; >>> + } >>> + } >>> + foreach ($articleClipTypes as $articleType) { >>> + $t_articles = $artlib->list_articles( 0, -1, 'publishDate_desc', '', $date_min, $date_max, >>> false, $articleType); >>> + foreach ($t_articles["data"] as $t) { >>> + $articles[$t["articleId"]] = $t; >>> + } >>> + } >>> + usort($articles,'cmp'); >>> + foreach ($articles as $art) { >>> + $smarty->assign("nlArticleClipId", $art["articleId"]); >>> + $smarty->assign("nlArticleClipTitle", $art["title"]); >>> + $smarty->assign("nlArticleClipSubtitle", $art["subtitle"]); >>> + $smarty->assign("nlArticleClipParsedheading", $this->parse_data($art["heading"])); >>> + $smarty->assign("nlArticleClipPublishDate", $art["publishDate"]); >>> + $smarty->assign("nlArticleClipAuthorName", $art["authorName"]); >>> + $articleClip .= $smarty->fetch("mail/newsletter_articleclip.tpl"); >>> + } >>> + return $articleClip; >>> + } >>> } >>> $nllib = new NlLib; >>> >>> Added: trunk/templates/mail/newsletter_articleclip.tpl >>> =================================================================== >>> --- trunk/templates/mail/newsletter_articleclip.tpl (rev 0) >>> +++ trunk/templates/mail/newsletter_articleclip.tpl 2010-03-26 21:04:13 UTC (rev 26339) >>> @@ -0,0 +1,5 @@ >>> +{if $nlArticleClipTitle}<h3><a href="{$base_url}{$nlArticleClipId|sefurl:'article'}">{$nlArticleClipTitle|escape}</a></h3>{/if} >>> +{if $nlArticleClipSubtitle}<h5>{$nlArticleClipSubtitle|escape}</h5>{/if} >>> +{if $nlArticleClipPublishDate}<p>{tr}Published:{/tr} {$nlArticleClipPublishDate|tiki_short_datetime}</p>{/if} >>> +{if $nlArticleClipAuthorName}<p>{tr}By:{/tr} {$nlArticleClipAuthorName|escape}</p>{/if} >>> +{if $nlArticleClipParsedheading}<div>{$nlArticleClipParsedheading}</div>{/if} >>> \ No newline at end of file >>> >>> Modified: trunk/templates/tiki-send_newsletters.tpl >>> =================================================================== >>> --- trunk/templates/tiki-send_newsletters.tpl 2010-03-26 19:10:46 UTC (rev 26338) >>> +++ trunk/templates/tiki-send_newsletters.tpl 2010-03-26 21:04:13 UTC (rev 26339) >>> @@ -78,7 +78,7 @@ >>> <div class="simplebox wikitext">{$subject|escape}</div> >>> >>> <h3>{tr}HTML version{/tr}</h3> >>> -<div class="simplebox wikitext">{$dataparsed}</div> >>> +<div class="simplebox wikitext">{$previewdata}</div> >>> >>> {if $allowTxt eq 'y' } >>> <h3>{tr}Text version{/tr}</h3> >>> @@ -109,7 +109,7 @@ >>> <div class="simplebox wikitext">{$info.subject|escape}</div> >>> >>> <h3>{tr}HTML version{/tr}</h3> >>> -<div class="simplebox wikitext">{$info.dataparsed}</div> >>> +<div class="simplebox wikitext">{$previewdata}</div> >>> >>> {if $allowTxt eq 'y' } >>> <h3>{tr}Text version{/tr}</h3> >>> @@ -144,7 +144,7 @@ >>> <tr class="formcolor"> >>> <td class="formcolor">{tr}Newsletter:{/tr}</td> >>> <td class="formcolor"> >>> -<select name="nlId" onchange="checkNewsletterTxtArea();"> >>> +<select name="nlId" onchange="checkNewsletterTxtArea(this.selectedIndex);"> >>> {section loop=$newsletters name=ix} >>> <option value="{$newsletters[ix].nlId|escape}" {if $newsletters[ix].nlId eq $nlId}selected="selected"{/if}> >>> {$newsletters[ix].name|escape} >>> @@ -207,6 +207,20 @@ >>> </tr> >>> >>> <tr class="formcolor"> >>> +<td class="formcolor" id="clipcol1"> >>> + {tr}Article Clip (read only):{/tr} >>> +<input type="submit" name="clipArticles" value="{tr}Clip Now{/tr}" class="wikiaction >>> tips" title="{tr}Clip Articles{/tr}" onclick="needToConfirm=false" /> >>> +<br /><br /> >>> + {include file='textareasize.tpl' area_name='articlecliptxt' formId='editpageform'} >>> +</td> >>> +<td class="formcolor" id="clipcol2"> >>> + {tr}To include the article clipping into your newsletter, cut and paste it into the contents.{/tr} >>> +<br />{tr}If autoclipping is enabled, you can also enter "~~~articleclip~~~" which will be >>> replaced with the latest clip when sending.{/tr} >>> +<textarea id='articlecliptxt' name="articleClip" rows="{$rows}" cols="{$cols}" readonly="readonly">{$articleClip}</textarea> >>> +</td> >>> +</tr> >>> + >>> +<tr class="formcolor"> >>> <td class="formcolor" id="txtcol1"> >>> {tr}Attached Files{/tr} : >>> </td> >>> @@ -298,6 +312,10 @@ >>> document.getElementById('txtcol1').style.display='none'; >>> document.getElementById('txtcol2').style.display='none'; >>> {/if}} >>> +{{if $allowArticleClip eq 'n'} >>> +document.getElementById('clipcol1').style.display='none'; >>> +document.getElementById('clipcol2').style.display='none'; >>> +{/if}} >>> >> I'm not sure how article clipping works, but this seems to have an >> impact on the Send Newsletters screen. Today I went to try sending a >> letter and was, at first, rather lost. We already had 2 large textareas >> for "Data HTML" and "Data Txt". Clipping adds another one, which not >> only takes space but makes me wonder where I should add my content. In >> the end, it's fairly clear content doesn't go in the article clip, but >> can't we do something about it anyway? I'm not sure what to advise as I >> don't know clipping, but at least, shouldn't this depend on >> feature_articles? If it's a readonly field, does it need to be such a >> large resizable field? Can't this just be hidden if it's empty? >> |