summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Fowler <spider@viovio.com>2005-12-11 08:22:51 +0000
committerChristian Fowler <spider@viovio.com>2005-12-11 08:22:51 +0000
commita8760e54d6a9480e595b7e70e80f0dd6d57f053f (patch)
tree64dd4ab45152e741c1f6295f7dddac7f778d66f6
parent643f1d7f43ef14bb415fd69ba435035d1426a3a9 (diff)
downloadnewsletters-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.php17
-rw-r--r--admin/send.php32
-rw-r--r--templates/send_newsletters.tpl66
-rw-r--r--templates/view_edition.tpl2
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