diff options
| author | Christian Fowler <spider@viovio.com> | 2005-12-11 08:22:51 +0000 |
|---|---|---|
| committer | Christian Fowler <spider@viovio.com> | 2005-12-11 08:22:51 +0000 |
| commit | a8760e54d6a9480e595b7e70e80f0dd6d57f053f (patch) | |
| tree | 64dd4ab45152e741c1f6295f7dddac7f778d66f6 | |
| parent | 643f1d7f43ef14bb415fd69ba435035d1426a3a9 (diff) | |
| download | newsletters-a8760e54d6a9480e595b7e70e80f0dd6d57f053f.tar.gz newsletters-a8760e54d6a9480e595b7e70e80f0dd6d57f053f.tar.bz2 newsletters-a8760e54d6a9480e595b7e70e80f0dd6d57f053f.zip | |
almost have sending working - now gets a list of users from the group selection, shows newsletter preview
| -rw-r--r-- | BitNewsletterEdition.php | 17 | ||||
| -rw-r--r-- | admin/send.php | 32 | ||||
| -rw-r--r-- | templates/send_newsletters.tpl | 66 | ||||
| -rw-r--r-- | templates/view_edition.tpl | 2 |
4 files changed, 89 insertions, 28 deletions
diff --git a/BitNewsletterEdition.php b/BitNewsletterEdition.php index e043916..b13e785 100644 --- a/BitNewsletterEdition.php +++ b/BitNewsletterEdition.php @@ -1,12 +1,12 @@ <?php /** - * $Header: /cvsroot/bitweaver/_bit_newsletters/BitNewsletterEdition.php,v 1.3 2005/12/11 06:34:19 spiderr Exp $ + * $Header: /cvsroot/bitweaver/_bit_newsletters/BitNewsletterEdition.php,v 1.4 2005/12/11 08:22:51 spiderr Exp $ * * Copyright (c) 2004 bitweaver.org * All Rights Reserved. See copyright.txt for details and a complete list of authors. * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details * - * $Id: BitNewsletterEdition.php,v 1.3 2005/12/11 06:34:19 spiderr Exp $ + * $Id: BitNewsletterEdition.php,v 1.4 2005/12/11 08:22:51 spiderr Exp $ * * Virtual base class (as much as one can have such things in PHP) for all * derived tikiwiki classes that require database access. @@ -16,7 +16,7 @@ * * @author drewslater <andrew@andrewslater.com>, spiderr <spider@steelsun.com> * - * @version $Revision: 1.3 $ $Date: 2005/12/11 06:34:19 $ $Author: spiderr $ + * @version $Revision: 1.4 $ $Date: 2005/12/11 08:22:51 $ $Author: spiderr $ */ /** @@ -172,6 +172,17 @@ class BitNewsletterEdition extends LibertyAttachable { function isDraft() { return( $this->getField( 'is_draft' ) ); } + + function getRecipients( $pGroupArray ) { + global $gBitUser; + $ret = array(); + if( is_array( $pGroupArray ) ) { + foreach( $pGroupArray as $groupId ) { + $ret = array_merge( $ret, $gBitUser->getGroupUserData( $groupId, array( 'email', 'uu.user_id', 'login', 'real_name' ) ) ); + } + } + return $ret; + } } ?> diff --git a/admin/send.php b/admin/send.php index 98a8b62..c5558fc 100644 --- a/admin/send.php +++ b/admin/send.php @@ -1,6 +1,6 @@ <?php -// $Header: /cvsroot/bitweaver/_bit_newsletters/admin/send.php,v 1.5 2005/12/11 06:34:19 spiderr Exp $ +// $Header: /cvsroot/bitweaver/_bit_newsletters/admin/send.php,v 1.6 2005/12/11 08:22:51 spiderr Exp $ // Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al. // All Rights Reserved. See copyright.txt for details and a complete list of authors. @@ -26,8 +26,14 @@ $gBitSmarty->assign('preview', 'n'); $gBitSmarty->assign('presend', 'n'); $gBitSmarty->assign('emited', 'n'); -if (isset($_REQUEST["send"])) { - $subscribers = $nllib->get_subscribers($_REQUEST["nl_id"]); +if( $gContent->isValid() && isset( $_REQUEST['preview'] ) ) { + $recipients = $gContent->getRecipients( $_REQUEST['send_group'] ); + $gBitSmarty->assign_by_ref( 'recipientList', $recipients ); +} elseif( $gContent->isValid() && isset( $_REQUEST["send"] ) ) { + $emails = $gContent->getRecipients( $_REQUEST['send_group'] ); +vd( $emails ); +vd( $_REQUEST ); +die; $mail = new htmlMimeMail(); $mail->setFrom('noreply@noreply.com'); @@ -58,14 +64,20 @@ if (isset($_REQUEST["send"])) { $nllib->replace_edition($_REQUEST["nl_id"], $_REQUEST['title'], $_REQUEST['edit'], $sent); } -$listHash = array(); -$editions = $gContent->getList( $listHash ); -$gBitSmarty->assign_by_ref( 'editionList', $editions ); -$gBitSmarty->assign( 'listInfo', $listHash ); +if( $gContent->isValid() ) { + $groupListHash = array(); + $groups = $gBitUser->getAllGroups( $groupListHash ); + $gBitSmarty->assign_by_ref( 'groupList', $groups['data'] ); +} else { + $listHash = array(); + $editions = $gContent->getList( $listHash ); + $gBitSmarty->assign_by_ref( 'editionList', $editions ); + $gBitSmarty->assign( 'listInfo', $listHash ); -if( $gBitSystem->isFeatureActive( 'tiki_p_use_content_templates' ) ) { - $templates = $tikilib->list_templates('newsletters', 0, -1, 'name_asc', ''); - $gBitSmarty->assign_by_ref('templates', $templates["data"]); + if( $gBitSystem->isFeatureActive( 'tiki_p_use_content_templates' ) ) { + $templates = $tikilib->list_templates('newsletters', 0, -1, 'name_asc', ''); + $gBitSmarty->assign_by_ref('templates', $templates["data"]); + } } // Display the template diff --git a/templates/send_newsletters.tpl b/templates/send_newsletters.tpl index 76db98a..32ee1c9 100644 --- a/templates/send_newsletters.tpl +++ b/templates/send_newsletters.tpl @@ -3,27 +3,63 @@ <div class="edit newsletters"> <div class="header"> - <h1>{tr}Send newsletters{/tr}</h1> + <h1>{tr}Send Newsletter{/tr}{if $gContent->isValid()}: {$gContent->getTitle()}{/if}</h1> </div> <div class="body"> -{if $emited eq 'y'} - {tr}The newsletter was sent to {$sent} email addresses{/tr}<br /><br /> -{/if} -{if $presend eq 'y'} -<div class="wikibody">{$subject}</div> -<div class="wikibody">{$data}</div> +{if $gContent->isValid()} +{form} + <input type="hidden" name="edition_id" value="{$gContent->mEditionId|escape}" /> + + {if $smarty.request.emited eq 'y'} + {tr}The newsletter was sent to {$sent} email addresses{/tr}<br /><br /> + {elseif $smarty.request.preview} + + <div class="row submit"> + {forminput} + <input type="submit" name="cancel" value="{tr}Cancel{/tr}" /> + <input type="submit" name="send" value="{tr}send{/tr}" /> + {/forminput} + </div> + {jstabs} + {jstab title="Preview Newsletter"} + {legend legend="Preview Newsletter"} + {include file="bitpackage:newsletters/view_edition.tpl"} + {/legend} + {/jstab} + {jstab title="Preview Recipient List"} + {legend legend="Preview Recipient List"} + <ol> + {foreach from=$recipientList item=recipient key=email} + <li>{$email}</li> + {/foreach} + </ol> + {/legend} + {/jstab} + {/jstabs} -{tr}This newsletter will be sent to {$subscribers} email addresses.{/tr} + </div> + {else} + <div class="row"> + {formlabel label="Groups"} + {forminput} + {tr}This newsletter will be sent to members of the checked groups below:{/tr} + <ul class="data"> + {foreach from=$groupList item=group key=groupId } + <li class="item"><input type="checkbox" name="send_group[]" value="{$groupId}" />{$group.group_name}</li> + {/foreach} + </ul> + {/forminput} + </div> + <div class="row submit"> + {forminput} + <input type="submit" name="preview" value="{tr}Preview{/tr}" /> + {/forminput} + </div> + {/if} +{/form} -<form method="post" action="{$smarty.const.NEWSLETTERS_PKG_URL}admin/send.php"> -<input type="hidden" name="nl_id" value="{$nl_id|escape}" /> -<input type="hidden" name="subject" value="{$subject|escape}" /> -<input type="hidden" name="data" value="{$data|escape}" /> -<input type="submit" name="send" value="{tr}send{/tr}" /> -<input type="submit" name="preview" value="{tr}cancel{/tr}" /> -</form> {else} <h2>{tr}Sent editions{/tr}</h2> diff --git a/templates/view_edition.tpl b/templates/view_edition.tpl index 16da88d..0a581fe 100644 --- a/templates/view_edition.tpl +++ b/templates/view_edition.tpl @@ -24,3 +24,5 @@ {$gContent->parseData()} </div> <!-- end .content --> </div> <!-- end .body --> + +</div>
\ No newline at end of file |
