summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Fowler <spider@viovio.com>2005-12-28 23:21:25 +0000
committerChristian Fowler <spider@viovio.com>2005-12-28 23:21:25 +0000
commitc07dc79add21f2677680fcc9736b82276d2f8a72 (patch)
tree0b432d8fdf68098f0f2e783457fd646fabb09a73
parent2149b17e33d9905d16986ce86757343fabfa8211 (diff)
downloadnewsletters-c07dc79add21f2677680fcc9736b82276d2f8a72.tar.gz
newsletters-c07dc79add21f2677680fcc9736b82276d2f8a72.tar.bz2
newsletters-c07dc79add21f2677680fcc9736b82276d2f8a72.zip
lots and lots of subscription fixes, still not 100%
-rw-r--r--.htaccess9
-rw-r--r--BitMailer.php30
-rw-r--r--BitNewsletter.php69
-rw-r--r--admin/index.php4
-rw-r--r--admin/schema_inc.php4
-rw-r--r--index.php13
-rw-r--r--newsletters.php4
-rw-r--r--templates/edit_newsletter.tpl2
-rw-r--r--templates/list_newsletters.tpl6
-rw-r--r--templates/newsletters.tpl2
-rw-r--r--templates/user_subscriptions.tpl18
-rw-r--r--templates/view_newsletter.tpl4
12 files changed, 97 insertions, 68 deletions
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..1cc256d
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,9 @@
+<IfModule mod_rewrite.c>
+ RewriteEngine on
+ RewriteCond %{SCRIPT_FILENAME} -f [OR]
+ RewriteCond %{SCRIPT_FILENAME}/index.php -f
+ RewriteRule ^(.*)$ - [L]
+
+ RewriteRule ^edition/([0-9]*)$ edition.php?edition_id=$1 [L]
+ RewriteRule ^([0-9]*)$ index.php?nl_id=$1 [L]
+</IfModule>
diff --git a/BitMailer.php b/BitMailer.php
index 2780681..10ac4c5 100644
--- a/BitMailer.php
+++ b/BitMailer.php
@@ -1,12 +1,12 @@
<?php
/**
- * $Header: /cvsroot/bitweaver/_bit_newsletters/Attic/BitMailer.php,v 1.7 2005/12/28 20:12:46 spiderr Exp $
+ * $Header: /cvsroot/bitweaver/_bit_newsletters/Attic/BitMailer.php,v 1.8 2005/12/28 23:21:24 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: BitMailer.php,v 1.7 2005/12/28 20:12:46 spiderr Exp $
+ * $Id: BitMailer.php,v 1.8 2005/12/28 23:21:24 spiderr Exp $
*
* Class that handles editions of newsletters
* @package newsletters
@@ -15,7 +15,7 @@
*
* @author spiderr <spider@steelsun.com>
*
- * @version $Revision: 1.7 $ $Date: 2005/12/28 20:12:46 $ $Author: spiderr $
+ * @version $Revision: 1.8 $ $Date: 2005/12/28 23:21:24 $ $Author: spiderr $
*/
/**
@@ -150,16 +150,16 @@ class BitMailer extends phpmailer {
// Looks up the code from the url to determine if the unsubscribe URL is valid.
// Can be statically called
- function lookupUrlCode( $pUrlCode ) {
+ function lookupSubscription( $pLookup ) {
global $gBitDb;
$ret = NULL;
- if( !empty( $pUrlCode ) ) {
+ if( is_array( $pLookup ) ) {
$query = "SELECT tmq.*, tc.*, tct.*, uu.`real_name`, uu.`login`, uu.`email` FROM `".BIT_DB_PREFIX."tiki_mail_queue` tmq
INNER JOIN `".BIT_DB_PREFIX."tiki_content` tc ON( tmq.`content_id`=tc.`content_id` )
INNER JOIN `".BIT_DB_PREFIX."tiki_content_types` tct ON( tct.`content_type_guid`=tc.`content_type_guid` )
LEFT OUTER JOIN `".BIT_DB_PREFIX."users_users` uu ON( tmq.`user_id`=uu.`user_id` )
- WHERE `url_code`=? ";
- $ret = $gBitDb->getRow( $query, array( $pUrlCode ) );
+ WHERE tmq.`".key( $pLookup )."`=? ";
+ $ret = $gBitDb->getRow( $query, array( current( $pLookup ) ) );
}
return( $ret );
}
@@ -183,7 +183,6 @@ class BitMailer extends phpmailer {
function storeSubscriptions( $pSubHash ) {
global $gBitSystem, $gBitDb;
-vd( $pSubHash );
$query = "delete from `".BIT_DB_PREFIX."tiki_mail_subscriptions` where `".key( $pSubHash['sub_lookup'] )."`=?";
$result = $gBitDb->query($query, array( current( $pSubHash['sub_lookup'] ) ) );
@@ -200,21 +199,6 @@ vd( $pSubHash );
$gBitDb->associateInsert( BIT_DB_PREFIX."tiki_mail_subscriptions", $storeHash );
}
}
-die;
- if (!$result->numRows()) return false;
-
- $res = $result->fetchRow();
- $info = $this->get_newsletter($res["nl_id"]);
- $gBitSmarty->assign('info', $info);
- $gBitSmarty->assign('code', $res["code"]);
- $query = "delete from `".BIT_DB_PREFIX."tiki_newsletter_subscriptions` where `code`=?";
- $result = $this->mDb->query($query,array($code));
- // Now send a bye bye email
- $mail_data = $gBitSmarty->fetch('bitpackage:newsletters/newsletter_byebye.tpl');
- @mail($res["email"], tra('Bye bye from '). $info["name"] . tra(' at '). $_SERVER["SERVER_NAME"], $mail_data,
- "From: ".$gBitSystem->getPreference( 'sender_email' )."\r\nContent-type: text/plain;charset=utf-8\r\n");
- $this->update_users($res["nl_id"]);
- return $this->get_newsletter($res["nl_id"]);
}
diff --git a/BitNewsletter.php b/BitNewsletter.php
index 57a3d0e..4b24b8c 100644
--- a/BitNewsletter.php
+++ b/BitNewsletter.php
@@ -1,12 +1,12 @@
<?php
/**
- * $Header: /cvsroot/bitweaver/_bit_newsletters/BitNewsletter.php,v 1.11 2005/12/28 20:12:46 spiderr Exp $
+ * $Header: /cvsroot/bitweaver/_bit_newsletters/BitNewsletter.php,v 1.12 2005/12/28 23:21:24 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: BitNewsletter.php,v 1.11 2005/12/28 20:12:46 spiderr Exp $
+ * $Id: BitNewsletter.php,v 1.12 2005/12/28 23:21:24 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.11 $ $Date: 2005/12/28 20:12:46 $ $Author: spiderr $
+ * @version $Revision: 1.12 $ $Date: 2005/12/28 23:21:24 $ $Author: spiderr $
*/
/**
@@ -38,19 +38,19 @@ class BitNewsletter extends LibertyContent {
'handler_file' => 'BitNewsletter.php',
'maintainer_url' => 'http://www.bitweaver.org'
) );
- $this->mNlId = $this->verifyId( $pNlId ) ? $pNlId : NULL;
+ $this->mNewsletterId = $this->verifyId( $pNlId ) ? $pNlId : NULL;
$this->mContentId = $pContentId;
$this->mContentTypeGuid = BITNEWSLETTER_CONTENT_TYPE_GUID;
}
function load() {
- if( $this->verifyId( $this->mNlId ) || $this->verifyId( $this->mContentId ) ) {
+ if( $this->verifyId( $this->mNewsletterId ) || $this->verifyId( $this->mContentId ) ) {
global $gBitSystem;
$bindVars = array(); $selectSql = ''; $joinSql = ''; $whereSql = '';
- $lookupColumn = $this->verifyId( $this->mNlId ) ? 'nl_id' : 'content_id';
- $lookupId = $this->verifyId( $this->mNlId )? $this->mNlId : $this->mContentId;
+ $lookupColumn = $this->verifyId( $this->mNewsletterId ) ? 'nl_id' : 'content_id';
+ $lookupId = $this->verifyId( $this->mNewsletterId )? $this->mNewsletterId : $this->mContentId;
array_push( $bindVars, $lookupId );
$this->getServicesSql( 'content_load_function', $selectSql, $joinSql, $whereSql, $bindVars );
@@ -62,7 +62,7 @@ class BitNewsletter extends LibertyContent {
$result = $this->mDb->query($query,$bindVars);
if ($result->numRows()) {
$this->mInfo = $result->fetchRow();
- $this->mNlId = $this->mInfo['nl_id'];
+ $this->mNewsletterId = $this->mInfo['nl_id'];
$this->mContentId = $this->mInfo['content_id'];
}
}
@@ -73,8 +73,8 @@ class BitNewsletter extends LibertyContent {
if( $this->verify( $pParamHash ) ) {
$this->mDb->StartTrans();
if( parent::store( $pParamHash ) ) {
- if( $this->mNlId ) {
- $result = $this->mDb->associateUpdate( BIT_DB_PREFIX."tiki_newsletters", $pParamHash['newsletter_store'], array ( "name" => "nl_id", "value" => $this->mNlId ) );
+ if( $this->mNewsletterId ) {
+ $result = $this->mDb->associateUpdate( BIT_DB_PREFIX."tiki_newsletters", $pParamHash['newsletter_store'], array ( "name" => "nl_id", "value" => $this->mNewsletterId ) );
} else {
$pParamHash['newsletter_store']['content_id'] = $pParamHash['content_id'];
$result = $this->mDb->associateInsert( BIT_DB_PREFIX."tiki_newsletters", $pParamHash['newsletter_store'] );
@@ -103,7 +103,7 @@ class BitNewsletter extends LibertyContent {
$ret = array();
if( $this->isValid() ) {
$query = "select email from `".BIT_DB_PREFIX."tiki_mail_subscriptions` where `valid`=? and `nl_id`=?";
- if( $result = $this->mDb->query( $query, array( 'y', $this->mNlId ) ) ) {
+ if( $result = $this->mDb->query( $query, array( 'y', $this->mNewsletterId ) ) ) {
$ret = $res->GetRows();
}
}
@@ -129,9 +129,9 @@ class BitNewsletter extends LibertyContent {
// Generate a code and store it and send an email with the
// URL to confirm the subscription put valid as 'n'
$query = "delete from `".BIT_DB_PREFIX."tiki_mail_subscriptions` where `nl_id`=? and `email`=?";
- $result = $this->mDb->query( $query, array( $this->mNlId, $email ) );
+ $result = $this->mDb->query( $query, array( $this->mNewsletterId, $email ) );
$query = "insert into `".BIT_DB_PREFIX."tiki_mail_subscriptions`(`nl_id`,`email`,`code`,`valid`,`subscribed`) values(?,?,?,?,?)";
- $result = $this->mDb->query( $query, array( $this->mNlId, $email, $code, 'n', (int)$now ) );
+ $result = $this->mDb->query( $query, array( $this->mNewsletterId, $email, $code, 'n', (int)$now ) );
// Now send an email to the address with the confirmation instructions
$gBitSmarty->assign( 'code', $code );
$mail_data = $gBitSmarty->fetch('bitpackage:newsletters/confirm_newsletter_subscription.tpl');
@@ -139,9 +139,9 @@ class BitNewsletter extends LibertyContent {
"From: $sender_email\r\nContent-type: text/plain;charset=utf-8\r\n");
} else {
$query = "delete from `".BIT_DB_PREFIX."tiki_mail_subscriptions` where `nl_id`=? and `email`=?";
- $result = $this->mDb->query( $query, array( $this->mNlId, $email ) );
+ $result = $this->mDb->query( $query, array( $this->mNewsletterId, $email ) );
$query = "insert into `".BIT_DB_PREFIX."tiki_mail_subscriptions`(`nl_id`,`email`,`code`,`valid`,`subscribed`) values(?,?,?,?,?)";
- $result = $this->mDb->query( $query, array( $this->mNlId, $email, $code, 'y', (int)$now ) );
+ $result = $this->mDb->query( $query, array( $this->mNewsletterId, $email, $code, 'y', (int)$now ) );
}
$this->updateUsers();
$ret = TRUE;
@@ -184,9 +184,9 @@ class BitNewsletter extends LibertyContent {
function updateUsers() {
if( $this->isValid() ) {
- $users = $this->mDb->getOne( "select count(*) from `".BIT_DB_PREFIX."tiki_mail_subscriptions` where `nl_id`=?", array( $this->mNlId ) );
+ $users = $this->mDb->getOne( "select count(*) from `".BIT_DB_PREFIX."tiki_mail_subscriptions` where `nl_id`=?", array( $this->mNewsletterId ) );
$query = "update `".BIT_DB_PREFIX."tiki_newsletters` set `users`=? where `nl_id`=?";
- $result = $this->mDb->query( $query, array( $users, $this->mNlId ) );
+ $result = $this->mDb->query( $query, array( $users, $this->mNewsletterId ) );
}
}
*/
@@ -216,6 +216,7 @@ class BitNewsletter extends LibertyContent {
$ret = array();
while( $res = $result->fetchRow() ) {
+ $res['display_url'] = $this->getDisplayUrl( $res['nl_id'] );
$res["unsub_count"] = $this->mDb->getOne( "SELECT COUNT(*) FROM `".BIT_DB_PREFIX."tiki_mail_subscriptions` WHERE (`nl_content_id`=? AND `unsubscribe_date` IS NOT NULL) OR `unsubscribe_all` IS NOT NULL",array( (int)$res["content_id"] ) );
$ret[$res['content_id']] = $res;
}
@@ -265,9 +266,9 @@ class BitNewsletter extends LibertyContent {
if( $this->isValid() ) {
$this->mDb->StartTrans();
$query = "delete from `".BIT_DB_PREFIX."tiki_newsletters` where `nl_id`=?";
- $result = $this->mDb->query( $query, array( $this->mNlId ) );
+ $result = $this->mDb->query( $query, array( $this->mNewsletterId ) );
$query = "delete from `".BIT_DB_PREFIX."tiki_mail_subscriptions` where `nl_id`=?";
- $result = $this->mDb->query( $query, array( $this->mNlId ) );
+ $result = $this->mDb->query( $query, array( $this->mNewsletterId ) );
if( parent::expunge() ) {
$ret = TRUE;
$this->mDb->CompleteTrans();
@@ -279,13 +280,39 @@ class BitNewsletter extends LibertyContent {
}
function isValid() {
- return( $this->verifyId( $this->mNlId ) );
+ return( $this->verifyId( $this->mNewsletterId ) );
}
+
+ /**
+ * Generate a valid url for the Newsletter
+ *
+ * @param object $pNewsletterId of the item to use
+ * @return object Url String
+ */
+ function getDisplayUrl( $pNewsletterId=NULL ) {
+ $ret = NULL;
+ if( !$this->verifyId( $pNewsletterId ) ) {
+ $pNewsletterId = $this->mNewsletterId;
+ }
+ global $gBitSystem;
+ if( $this->verifyId( $pNewsletterId ) ) {
+ if( $gBitSystem->isFeatureActive( 'pretty_urls' ) ) {
+ $ret = NEWSLETTERS_PKG_URL.$pNewsletterId;
+ } else {
+ $ret = NEWSLETTERS_PKG_URL.'index.php?nl_id='.$pNewsletterId;
+ }
+ } else {
+ $ret = NEWSLETTERS_PKG_URL.'index.php';
+ }
+ return $ret;
+ }
+
+
function getEditions() {
$ret = array();
if( $this->isValid() ) {
- $listHash = array( 'nl_id' => $this->mNlId );
+ $listHash = array( 'nl_id' => $this->mNewsletterId );
$ret = BitNewsletterEdition::getList( $listHash );
}
return $ret;
diff --git a/admin/index.php b/admin/index.php
index 3c05cd5..aaa9685 100644
--- a/admin/index.php
+++ b/admin/index.php
@@ -1,6 +1,6 @@
<?php
-// $Header: /cvsroot/bitweaver/_bit_newsletters/admin/Attic/index.php,v 1.8 2005/12/25 02:23:44 spiderr Exp $
+// $Header: /cvsroot/bitweaver/_bit_newsletters/admin/Attic/index.php,v 1.9 2005/12/28 23:21:24 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.
@@ -18,7 +18,7 @@ if( isset( $_REQUEST["remove"] ) && $gContent->isValid() ) {
// user cancelled - just continue on, doing nothing
} elseif( empty( $_REQUEST['confirm'] ) ) {
$formHash['remove'] = TRUE;
- $formHash['nl_id'] = $gContent->mNlId;
+ $formHash['nl_id'] = $gContent->mNewsletterId;
$gBitSystem->confirmDialog( $formHash, array( 'warning' => 'Are you sure you want to delete the newsletter '.$gContent->getTitle().'?' ) );
} else {
if( $gContent->expunge() ) {
diff --git a/admin/schema_inc.php b/admin/schema_inc.php
index de0196e..3f16b01 100644
--- a/admin/schema_inc.php
+++ b/admin/schema_inc.php
@@ -98,8 +98,10 @@ $gBitInstaller->registerSchemaIndexes( LIBERTY_PKG_NAME, $indices );
// ### Default UserPermissions
$gBitInstaller->registerUserPermissions( NEWSLETTERS_PKG_NAME, array(
array('bit_p_admin_newsletters', 'Can admin newsletters', 'editors', 'newsletters'),
+ array('bit_p_create_newsletters', 'Can create newsletters', 'editors', 'newsletters'),
+ array('bit_p_create_editions', 'Can create editions', 'editors', 'newsletters'),
array('bit_p_send_newsletters', 'Can send newsletters', 'editors', 'newsletters'),
- array('bit_p_subscribe_newsletters', 'Can subscribe to newsletters', 'basic', 'newsletters'),
+ array('bit_p_subscribe_newsletters', 'Can subscribe to newsletters', 'registered', 'newsletters'),
array('bit_p_subscribe_email', 'Can subscribe any email to newsletters', 'editors', 'newsletters'),
) );
diff --git a/index.php b/index.php
index cc212db..13ffafc 100644
--- a/index.php
+++ b/index.php
@@ -1,6 +1,6 @@
<?php
-// $Header: /cvsroot/bitweaver/_bit_newsletters/index.php,v 1.11 2005/12/28 20:12:46 spiderr Exp $
+// $Header: /cvsroot/bitweaver/_bit_newsletters/index.php,v 1.12 2005/12/28 23:21:24 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.
@@ -34,7 +34,7 @@ $newsletters = $gContent->getList( $listHash );
$gBitSmarty->assign_by_ref('newsletters', $newsletters );
if( isset( $_REQUEST["sub"] ) ) {
- if( strlen( $_REQUEST["sub"] ) == 32 && ($subInfo = BitMailer::lookupUrlCode( $_REQUEST["sub"] )) ) {
+ if( strlen( $_REQUEST["sub"] ) == 32 && ($subInfo = BitMailer::lookupSubscription( array( 'url_code' => $_REQUEST["sub"] ) )) ) {
$gBitSmarty->assign( 'subInfo', $subInfo );
$lookup['email'] = $subInfo['email'];
$unsubs = BitMailer::getUnsubscriptions( $lookup );
@@ -55,6 +55,15 @@ if( isset( $_REQUEST["sub"] ) ) {
}
}
$mid = 'bitpackage:newsletters/user_subscriptions.tpl';
+} elseif( $gBitUser->isRegistered() ) {
+ if( !$subInfo = BitMailer::lookupSubscription( array( 'user_id' => $gBitUser->mUserId ) ) ) {
+ $subInfo = $gBitUser->mInfo;
+ }
+ $gBitSmarty->assign( 'subInfo', $subInfo );
+ $lookup['user_id'] = $gBitUser->mUserId;
+ $unsubs = BitMailer::getUnsubscriptions( $lookup );
+ $gBitSmarty->assign( 'unsubs', $unsubs );
+ $mid = 'bitpackage:newsletters/user_subscriptions.tpl';
}
$foo = parse_url($_SERVER["REQUEST_URI"]);
diff --git a/newsletters.php b/newsletters.php
index 9cf1d19..4badfea 100644
--- a/newsletters.php
+++ b/newsletters.php
@@ -1,6 +1,6 @@
<?php
-// $Header: /cvsroot/bitweaver/_bit_newsletters/newsletters.php,v 1.1 2005/12/16 16:55:28 spiderr Exp $
+// $Header: /cvsroot/bitweaver/_bit_newsletters/newsletters.php,v 1.2 2005/12/28 23:21:24 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.
@@ -19,7 +19,7 @@ if( isset( $_REQUEST["remove"] ) && $gContent->isValid() ) {
// user cancelled - just continue on, doing nothing
} elseif( empty( $_REQUEST['confirm'] ) ) {
$formHash['remove'] = TRUE;
- $formHash['nl_id'] = $gContent->mNlId;
+ $formHash['nl_id'] = $gContent->mNewsletterId;
$gBitSystem->confirmDialog( $formHash, array( 'warning' => 'Are you sure you want to delete the newsletter '.$gContent->getTitle().'?' ) );
} else {
if( $gContent->expunge() ) {
diff --git a/templates/edit_newsletter.tpl b/templates/edit_newsletter.tpl
index 533b85f..4fdad39 100644
--- a/templates/edit_newsletter.tpl
+++ b/templates/edit_newsletter.tpl
@@ -12,7 +12,7 @@
{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}" />
+ <input type="hidden" name="nl_id" value="{$gContent->mNewsletterId}" />
<div class="row">
{formlabel label="Title" for="title"}
diff --git a/templates/list_newsletters.tpl b/templates/list_newsletters.tpl
index 3ef2960..326cf51 100644
--- a/templates/list_newsletters.tpl
+++ b/templates/list_newsletters.tpl
@@ -12,7 +12,7 @@
{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}" />
+ <input type="hidden" name="nl_id" value="{$gContent->mNewsletterId}" />
<div class="row">
{formlabel label="Title" for="title"}
@@ -104,7 +104,9 @@
{/foreach}
</table>
- <a href="{$smarty.server.php_self}?new=1">Create new newsletter</a>
+ {if $gBitUser->hasPermission('bit_p_create_newsletters')}
+ <a href="{$smarty.server.php_self}?new=1">Create new newsletter</a>
+ {/if}
{pagination}
{/if}
diff --git a/templates/newsletters.tpl b/templates/newsletters.tpl
index 0ae8124..bfd9323 100644
--- a/templates/newsletters.tpl
+++ b/templates/newsletters.tpl
@@ -27,7 +27,7 @@
{if ($gContent->mInfo.allow_user_sub eq 'y') or $gBitUser->hasPermission( 'bit_p_subscribe_newsletters' )}
{form}
- <input type="hidden" name="nl_id" value="{$gContent->mNlId}" />
+ <input type="hidden" name="nl_id" value="{$gContent->mNewsletterId}" />
<div class="row">
{formlabel label="Email" for=""}
{forminput}
diff --git a/templates/user_subscriptions.tpl b/templates/user_subscriptions.tpl
index 57139ef..457c5f7 100644
--- a/templates/user_subscriptions.tpl
+++ b/templates/user_subscriptions.tpl
@@ -1,3 +1,4 @@
+{if $subInfo || $gBitUser->hasPermission('bit_p_subscribe_newsletters')}
{strip}
<div class="display newsletters">
<div class="header">
@@ -5,10 +6,10 @@
</div>
<div class="body">
- {if $subInfo}
{formfeedback success=$success error=$gContent->mErrors}
{form enctype="multipart/form-data" id="editpageform"}
<input type="hidden" name="response_content_id" value="{$subInfo.content_id}" />
+{if $smarty.request.sub}
<input type="hidden" name="sub" value="{$smarty.request.sub}" />
<div class="row">
<em>
@@ -18,6 +19,7 @@
{/forminput}
</em>
</div>
+{/if}
<div class="row">
{formlabel label="User Information"}
{forminput}
@@ -29,7 +31,7 @@
{formlabel label="Subscriptions"}
{forminput}
{foreach from=$newsletters key=nlId item=nl}
- <input type="checkbox" name="nl_content_id[]" value="{$nlId}" {if !$unsubs.$nlId}checked="checked"{/if}/> {$nl.title} <br/>
+ <input type="checkbox" name="nl_content_id[]" value="{$nlId}" {if !$unsubs.$nlId}checked="checked"{/if}/> <a href="{$nl.display_url}"/>{$nl.title}</a> <br/>
{foreachelse}
{tr}No newsletters were found{/tr}
{/foreach}
@@ -45,15 +47,9 @@
<input type="submit" name="update" value="{tr}Update Subscriptions{/tr}" />
</div>
{/form}
- {else}
- <div class="row">
- {tr}The subscription URL is no longer valid.{/tr}
- {if $gBitUser->isRegistered()}
-
- {else}
- {include file="bitpackage:users/login_inc.tpl"}
- {/if}
- {/if}
</div> <!-- end .body -->
</div> <!-- end .newsletters -->
{/strip}
+{else}
+ {include file="bitpackage:newsletters/list_newsletters.tpl"}
+{/if} \ No newline at end of file
diff --git a/templates/view_newsletter.tpl b/templates/view_newsletter.tpl
index 67c5290..881ebad 100644
--- a/templates/view_newsletter.tpl
+++ b/templates/view_newsletter.tpl
@@ -3,8 +3,8 @@
{include file="bitpackage:liberty/services_inc.tpl" serviceLocation='icon'}
{if $gContent->isOwner() || $gBitUser->hasPermission( 'bit_p_newsletter_admin' )}
- <a href="{$smarty.const.NEWSLETTERS_PKG_URL}admin/index.php?nl_id={$gContent->mNlId}">{biticon ipackage=liberty iname="edit" iexplain="edit"}</a>
- <a href="{$smarty.const.NEWSLETTERS_PKG_URL}admin/index.php?nl_id={$gContent->mNlId}&amp;remove=1">{biticon ipackage=liberty iname="delete" iexplain="delete"}</a>
+ <a href="{$smarty.const.NEWSLETTERS_PKG_URL}admin/index.php?nl_id={$gContent->mNewsletterId}">{biticon ipackage=liberty iname="edit" iexplain="edit"}</a>
+ <a href="{$smarty.const.NEWSLETTERS_PKG_URL}admin/index.php?nl_id={$gContent->mNewsletterId}&amp;remove=1">{biticon ipackage=liberty iname="delete" iexplain="delete"}</a>
{/if}
{if $gBitUser->hasPermission( 'bit_p_print' )}