newsletters
[ class tree: newsletters ] [ index: newsletters ] [ all elements ]

Source for file sub.php

Documentation is available at sub.php

  1. <?php
  2. /**
  3.  * @version        $Header: /cvsroot/bitweaver/_bit_newsletters/sub.php,v 1.2 2007/02/05 11:14:32 lsces Exp $
  4.  *  Copyright (c) 2005 bitweaver.org
  5.  *  All Rights Reserved. See copyright.txt for details and a complete list of authors.
  6.  *  Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details
  7.  *
  8.  *  created 2005/12/10
  9.  *
  10.  * @package newsletters
  11.  * @author spider <spider@steelsun.com>
  12.  */
  13.  
  14. /** 
  15.  * Initialization
  16.  */
  17. require_once'../bit_setup_inc.php' );
  18. include_onceNEWSLETTERS_PKG_PATH.'BitMailer.php' );
  19.  
  20. $gBitSystem->verifyPackage'newsletters' );
  21.  
  22. if!$gBitUser->isRegistered(&& !$gBitUser->hasPermission'p_newsletters_subscribe' && empty$_REQUEST["sub") ) {
  23.     $gBitSystem->fatalErrortra("You must be logged in to subscribe to newsletters"));
  24. }
  25.  
  26. require_onceNEWSLETTERS_PKG_PATH.'lookup_newsletter_inc.php' );
  27.  
  28. $feedback array();
  29.  
  30. /* List newsletters */
  31. $listHash array();
  32. if!empty$_REQUEST['nl_id') ) {
  33.     $listHash['nl_id'$_REQUEST['nl_id'];
  34.     if (isset($_REQUEST['info'])) {
  35.         $subscribe true;
  36.         $gBitSmarty->assign('subscribe''y');
  37.         if$gBitUser->isRegistered() ) {
  38.             $infoHash array'user_id' => $gBitUser->mUserId );
  39.         }
  40.         $gBitSmarty->assign'subInfo'$gContent->getSubscriberInfo$infoHash ) );
  41.     }
  42. }
  43. $newsletters $gContent->getList$listHash );
  44. $gBitSmarty->assign_by_ref'subs'BitNewsletter::getUserSubscriptions$gBitUser->getField'user_id' )$gBitUser->getField'email' ) ) );
  45. $gBitSmarty->assign_by_ref('newsletters'$newsletters );
  46.  
  47. $foo parse_url($_SERVER["REQUEST_URI"]);
  48. $gBitSmarty->assign('url_subscribe'httpPrefix()$foo["path"]);
  49.  
  50. if (isset($_REQUEST["sub"])) {
  51.     $gContent->confirmSubscription($_REQUEST["sub"]TRUE );
  52.     $gBitSmarty->assign('confirm''y');
  53. elseifisset$_REQUEST["unsub") ) {
  54.     if (!empty$_REQUEST["email")) {
  55.         $gContent->removeSubscription($_REQUEST["email"]TRUE );
  56.     elseif (!empty$_REQUEST["unsubscribe")) {
  57.         $gContent->unsubscribe($_REQUEST["unsubscribe"]TRUE );
  58.     }
  59.     $feedback['success'tra"Your email address was removed from the list of subscriptors." );
  60. }
  61.  
  62. ifisset$_REQUEST["sub") ) {
  63.     ifisset$_REQUEST["sub"&& strlen$_REQUEST["sub"== 32 && ($subInfo BitMailer::lookupSubscriptionarray'url_code' => $_REQUEST["sub") )) ) {
  64.         $lookup['email'$subInfo['email'];
  65.         $unsubs BitMailer::getUnsubscriptions$lookup );
  66.     else {
  67.         if!$subInfo BitMailer::lookupSubscriptionarray'user_id' => $gBitUser->mUserId ) ) ) {
  68.             $subInfo $gBitUser->mInfo;
  69.         }
  70.         $lookup['user_id'$gBitUser->mUserId;
  71.         $unsubs BitMailer::getUnsubscriptions$lookup );
  72.     }
  73.     ifisset$_REQUEST["update") ) {
  74.         $subHash['response_content_id'$_REQUEST['response_content_id'];
  75.         $subHash['sub_lookup'!empty$subInfo['user_id'array'user_id' => $subInfo['user_id'array'email' => $subInfo['email');
  76.  
  77.         if!empty$_REQUEST['unsubscribe_all') ) {
  78.             $subHash['unsubscribe_all''y';
  79.             $subHash['unsub_content'array_keys$newsletters );
  80.         else {
  81.             $subHash['unsubscribe_all'NULL;
  82.         }
  83.  
  84.         foreacharray_keys$newsletters as $nlContentId {
  85.             ifempty$_REQUEST['nl_content_id'|| !in_array$nlContentId$_REQUEST['nl_content_id') ) {
  86.                 $subHash['unsub_content'][$nlContentId;
  87.             }
  88.         }
  89.  
  90.         ifBitMailer::storeSubscriptions$subHash ) ) {
  91.             $feedback['success'tra"Your subscriptions were updated." );
  92.         else {
  93.             $feedback['error'tra"Subscriptions were not updated." );
  94.         }
  95.         $unsubs BitMailer::getUnsubscriptions$lookup );
  96.         foreach$unsubs as $sub {
  97.             if!empty$sub['unsubscribe_all') ) {
  98.                 $subInfo['unsubscribe_all'TRUE;
  99.                 break;
  100.             }
  101.         }
  102.     }
  103.     $gBitSmarty->assign'subInfo'$subInfo );
  104.     $gBitSmarty->assign'unsubs'$unsubs );
  105.     $mid 'bitpackage:newsletters/user_subscriptions.tpl';
  106. else {
  107.  
  108. $foo parse_url($_SERVER["REQUEST_URI"]);
  109. $gBitSmarty->assign('url_subscribe'httpPrefix()$foo["path"]);
  110.  
  111. $user_email $gBitUser->isRegistered($gBitUser->mInfo['email''';
  112.  
  113. $gBitSmarty->assign('email'$user_email);
  114.  
  115. ifisset$_REQUEST["subscribe"&& !empty$_REQUEST["email") ) {
  116.     $gBitSystem->verifyPermission'p_newsletters_subscribe' );
  117.     $feedback['success'tra"Thanks for your subscription. You will receive an email soon to confirm your subscription. No newsletters will be sent to you until the subscription is confirmed." );
  118.  
  119.     if!$gBitUser->hasPermission'p_subscribe_email' ) ) {
  120.         $_REQUEST["email"$gBitUser->mInfo['email'];
  121.     }
  122.  
  123.     // Now subscribe the email address to the newsletter
  124.     $gContent->subscribe$_REQUEST["email"]TRUETRUE );
  125. }
  126.  
  127. $subscribe false;
  128.  
  129. /*if( !$subscribe && $gContent->isValid() ) {
  130.     $mid = 'bitpackage:newsletters/view_newsletter.tpl';
  131.     $title = "View Newsletter";
  132. } else*/ {
  133.     /* List newsletters */
  134.     $listHash array();
  135.     $newsletters $gContent->getList$listHash );
  136.     /*
  137.     for( $i = 0; $i < count( $newsletters ); $i++ ) {
  138.         if ($userlib->object_has_one_permission($newsletters["data"][$i]["nl_id"], 'newsletters')) {
  139.             $newsletters["data"][$i]["individual"] = 'y';
  140.  
  141.             if ($userlib->object_has_permission($user, $newsletters["data"][$i]["nl_id"], 'newsletter', 'p_subscribe_newsletters')) {
  142.                 $newsletters["data"][$i]["individual_p_subscribe_newsletters"] = 'y';
  143.             } else {
  144.                 $newsletters["data"][$i]["individual_p_subscribe_newsletters"] = 'n';
  145.             }
  146.  
  147.             if ($p_admin == 'y'
  148.                 || $userlib->object_has_permission($user, $newsletters["data"][$i]["nl_id"], 'newsletter', 'p_admin_newsletters')) {
  149.                 $newsletters["data"][$i]["individual_p_subscribe_newsletters"] = 'y';
  150.             }
  151.         } else {
  152.             $newsletters["data"][$i]["individual"] = 'n';
  153.         }
  154.     }
  155.     */
  156.     $mid 'bitpackage:newsletters/newsletters.tpl';
  157.     $title "List Newsletters";
  158. }
  159. }
  160.  
  161. $gBitSmarty->assign'feedback'$feedback );
  162.  
  163. // Display the template
  164. $gBitSystem->display$mid$title );
  165.  
  166. ?>

Documentation generated on Thu, 15 Feb 2007 20:49:45 +0000 by phpDocumentor 1.3.0