summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--newsletters.php69
-rw-r--r--templates/list_newsletters.tpl113
2 files changed, 182 insertions, 0 deletions
diff --git a/newsletters.php b/newsletters.php
new file mode 100644
index 0000000..9cf1d19
--- /dev/null
+++ b/newsletters.php
@@ -0,0 +1,69 @@
+<?php
+
+// $Header: /cvsroot/bitweaver/_bit_newsletters/newsletters.php,v 1.1 2005/12/16 16:55:28 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.
+// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
+
+// Initialization
+require_once( '../bit_setup_inc.php' );
+include_once( NEWSLETTERS_PKG_PATH.'nl_lib.php' );
+$gBitSystem->verifyPackage( 'newsletters' );
+$gBitSystem->verifyPermission( 'tiki_p_admin_newsletters' );
+
+require_once( NEWSLETTERS_PKG_PATH.'lookup_newsletter_inc.php' );
+
+if( isset( $_REQUEST["remove"] ) && $gContent->isValid() ) {
+ if( !empty( $_REQUEST['cancel'] ) ) {
+ // user cancelled - just continue on, doing nothing
+ } elseif( empty( $_REQUEST['confirm'] ) ) {
+ $formHash['remove'] = TRUE;
+ $formHash['nl_id'] = $gContent->mNlId;
+ $gBitSystem->confirmDialog( $formHash, array( 'warning' => 'Are you sure you want to delete the newsletter '.$gContent->getTitle().'?' ) );
+ } else {
+ if( $gContent->expunge() ) {
+ header( "Location: ".NEWSLETTERS_PKG_URL.'admin/' );
+ die;
+ }
+ }
+} elseif (isset($_REQUEST["save"])) {
+ $sid = $gContent->store( $_REQUEST );
+ header( "Location: ".$_SERVER['PHP_SELF'] );
+ die;
+}
+
+$gContent->invokeServices( 'content_edit_function' );
+
+// Configure quicktags list
+if ($gBitSystem->isPackageActive( 'quicktags' ) ) {
+ include_once( QUICKTAGS_PKG_PATH.'quicktags_inc.php' );
+}
+
+$newsletters = $gContent->getList( $listHash );
+$gBitSmarty->assign_by_ref( 'newsletters', $newsletters );
+$gBitSmarty->assign_by_ref( 'listInfo', $listHash );
+
+// Fill array with possible number of questions per page
+/*
+$freqs = array();
+
+for ($i = 0; $i < 90; $i++) {
+ $aux["i"] = $i;
+
+ $aux["t"] = $i * 24 * 60 * 60;
+ $freqs[] = $aux;
+}
+
+$gBitSmarty->assign('freqs', $freqs);
+*/
+/*
+$cat_type='newsletter';
+$cat_objid = $_REQUEST["nl_id"];
+include_once( CATEGORIES_PKG_PATH.'categorize_list_inc.php' );
+*/
+
+// Display the template
+$gBitSystem->display( 'bitpackage:newsletters/list_newsletters.tpl');
+
+?>
diff --git a/templates/list_newsletters.tpl b/templates/list_newsletters.tpl
new file mode 100644
index 0000000..3b43512
--- /dev/null
+++ b/templates/list_newsletters.tpl
@@ -0,0 +1,113 @@
+{strip}
+<div class="floaticon">{bithelp}</div>
+
+<div class="edit newsletters">
+ <div class="header">
+ <h1>{tr}Newsletter Settings{/tr}</h1>
+ </div>
+
+ <div class="body">
+ {if !$newsletters || $gContent->isValid() || $smarty.request.new}
+ {form legend="Create / Edit Newsletters"}
+ {if $individual eq 'y'}
+ <a href="{$smarty.const.KERNEL_PKG_URL}object_permissions.php?objectName=newsletter%20{$gContent->mInfo.name}&amp;object_type=newsletter&amp;permType=newsletters&amp;object_id={$gContent->mInfo.nl_id}">{tr}There are individual permissions set for this newsletter{/tr}</a><br /><br />
+ {/if}
+ <input type="hidden" name="nl_id" value="{$gContent->mNlId}" />
+
+ <div class="row">
+ {formlabel label="Title" for="title"}
+ {forminput}
+ <input type="text" name="title" id="title" value="{$gContent->mInfo.title|escape}" />
+ {formhelp note="Title of the newsletter."}
+ {/forminput}
+ </div>
+
+ <div class="row">
+ {formlabel label="Description" for="description"}
+ {forminput}
+ <textarea name="edit" rows="4" cols="40" id="description">{$gContent->mInfo.data|escape}</textarea>
+ {formhelp note="Description of the newsletter, that users know what they are getting themselves into."}
+ {/forminput}
+ </div>
+
+ <div class="row">
+ {formlabel label="Users can Subscribe" for="allow_user_sub"}
+ {forminput}
+ <input type="checkbox" name="allow_user_sub" id="allow_user_sub" {if $gContent->mInfo.allow_user_sub eq 'y'}checked="checked"{/if} />
+ {formhelp note="Users can subscribe to this list. Disabling this options means that you have to manually add users to the list."}
+ {/forminput}
+ </div>
+
+ <div class="row">
+ {formlabel label="Any e-mail Address" for="allow_any_sub"}
+ {forminput}
+ <input type="checkbox" name="allow_any_sub" id="allow_any_sub" {if $gContent->mInfo.allow_any_sub eq 'y'}checked="checked"{/if} />
+ {formhelp note="Users may subscribe using any email address."}
+ {/forminput}
+ </div>
+
+ <div class="row">
+ {formlabel label="Append Un/Subscribe Instructions" for="unsub_msg"}
+ {forminput}
+ <input type="checkbox" name="unsub_msg" id="unsub_msg" {if $gContent->mInfo.unsub_msg eq 'y'}checked="checked"{/if} />
+ {formhelp note="Append instructions on how to subscribe / unsubscribe to ever outgoing newsletter. This is only useful when users can un / subscribe to the list themselves."}
+ {/forminput}
+ </div>
+
+ <div class="row">
+ {formlabel label="Validate e-mail Addresses" for="validate_addr"}
+ {forminput}
+ <input type="checkbox" name="validate_addr" id="validate_addr" {if $gContent->mInfo.validate_addr eq 'y'}checked="checked"{/if} />
+ {formhelp note="Validate all email addresses before they are added to the list. This might result in members not being added despite working email addresses."}
+ {/forminput}
+ </div>
+
+ <div class="row submit">
+ <input type="submit" name="cancel" value="{tr}Cancel{/tr}" />
+ <input type="submit" name="save" value="{tr}Save{/tr}" />
+ </div>
+ {/form}
+
+ {else}
+
+ {minifind}
+
+ <table class="data">
+ <caption>{tr}Newsletters{/tr}</caption>
+ <tr>
+ <th>{smartlink ititle="Name" isort=name offset=$offset}</th>
+ <th>{smartlink ititle="Description" isort=description offset=$offset}</th>
+ <th>{smartlink ititle="Created" isort=last_sent offset=$offset}</th>
+ <th>{smartlink ititle="Last Sent" isort=created offset=$offset}</th>
+ <th>{smartlink ititle="Users Unsubscribed" isort=users offset=$offset}</th>
+ <th>{tr}Action{/tr}</th>
+ </tr>
+
+ {foreach key=nlId from=$newsletters item=nl}
+ <tr class="{cycle values='odd,even'}">
+ <td><a href="{$smarty.const.NEWSLETTERS_PKG_URL}index.php?nl_id={$nlId}">{$nl.title}</a></td>
+ <td>{$nl.data}</td>
+ <td>{$nl.created|bit_short_date}</td>
+ <td>{$nl.last_sent|bit_short_date}</td>
+ <td style="text-align:right;"><a href="{$smarty.const.NEWSLETTERS_PKG_URL}admin/admin_newsletter_subscriptions.php?nl_id={$nlId}">{$nl.users|default:0} [ {$channels[user].confirmed|default:0} ]</a></td>
+ <td style="text-align:right;">
+ <a href="{$smarty.const.NEWSLETTERS_PKG_URL}edition_edit.php?nl_id={$nlId}">{biticon ipackage=liberty iname=new iexplain="New Edition"}</a>
+ <a href="{$smarty.const.NEWSLETTERS_PKG_URL}newsletters.php?remove=1&amp;nl_id={$nlId}">{biticon ipackage=liberty iname=delete iexplain=Remove}</a>
+ <a href="{$smarty.const.NEWSLETTERS_PKG_URL}newsletters.php?&amp;nl_id={$nlId}">{biticon ipackage=liberty iname=edit iexplain=Edit}</a>
+ {if $channels[user].individual eq 'y'}({/if}<a href="{$smarty.const.KERNEL_PKG_URL}object_permissions.php?objectName=newsletter%20{$nl.title}&amp;object_type={$smarty.const.BITNEWSLETTER_CONTENT_TYPE_GUID}&amp;permType=newsletters&amp;object_id={$nlId}">{biticon ipackage=liberty iname=permissions iexplain=Permissions}</a>{if $nl.individual eq 'y'}){/if}
+ </td>
+ </tr>
+ {foreachelse}
+ <tr class="norecords">
+ <td colspan="7">{tr}No Records Found{/tr}</td>
+ </tr>
+ {/foreach}
+ </table>
+
+ <a href="{$smarty.server.php_self}?new=1">Create new newsletter</a>
+
+ {pagination}
+ {/if}
+ </div><!-- end .body -->
+</div><!-- end .___ -->
+{/strip}