CMS  Version 3.9
Forum

Classes

class  Forum
 
class  ForumSiteXref
 
class  ForumMessage
 
class  ForumMessageAttachmentXref
 
class  ForumTopic
 
class  ForumSummary
 
class  ForumSubscription
 
class  ForumManager
 
class  ForumSearchResultsView
 
class  ForumUpgradeManager
 
class  ForumListView
 
class  ForumDetailsView
 
class  ForumManifest
 
class  SubscriptionManager
 
class  ForumTopicView
 

Functions

 SubscriptionManager::SubscriptionManager ()
 
static SubscriptionManager::sendInstantNotifications ($message)
 
static SubscriptionManager::formatTopicInstantNotification ($message)
 
static SubscriptionManager::formatUnsubscribeMessageFooter ()
 
static SubscriptionManager::updateSubscription ($subscription, $subscription_type)
 
static SubscriptionManager::renderSubscriptionType ($subscription)
 
static SubscriptionManager::formatSubscriptionOptions ($forum, $forumSubscription, $topicSubscriptionCount=0)
 

Variables

const subscription_daily_digest 1
 
const subscription_instant_notification 2
 
const subscription_unsubscribe 3
 

Detailed Description

Function Documentation

◆ formatSubscriptionOptions()

static SubscriptionManager::formatSubscriptionOptions (   $forum,
  $forumSubscription,
  $topicSubscriptionCount = 0 
)
static

Definition at line 116 of file subscription_manager.inc.

117  {
119 
121  {
122  unset($options[0]);
123  }
124 
125  if(!$forumSubscription && !$topicSubscriptionCount)
126  {
128  }
129 
130  if($topicSubscriptionCount > 0)
131  {
132  $options[subscription_daily_digest] = "Subscribe to <b>" . $options[subscription_daily_digest] . "</b> for {$forum->title}";
133  $options[subscription_instant_notification] = "Subscribe to <b>" . $options[subscription_instant_notification] . "</b> for {$forum->title}";
134  $options[subscription_unsubscribe] .= " from topic(s) in {$forum->title}";
135  }
136 
137  return $options;
138  }
const subscription_unsubscribe
const subscription_instant_notification
const subscription_daily_digest
$forumSubscription

◆ formatTopicInstantNotification()

static SubscriptionManager::formatTopicInstantNotification (   $message)
static

Definition at line 49 of file subscription_manager.inc.

50  {
51  global $config;
52 
53  $firstPost = $message->Topic()->FirstPost();
54  $url = "http://" . $config["http_host"] . "/forum_topic?forum_id={$firstPost->forum_id}&topic_id={$firstPost->topic_id}";
55 
56  $content = "Forum Topic: \"{$firstPost->title}\" posted by {$firstPost->Author()->getFullName()}\n";
57  $content .= "http://" . $config["http_host"] . "/forum_topic?forum_id={$firstPost->forum_id}&topic_id={$firstPost->topic_id}\n\n";
58  $content .= "Reply: \"{$message->title}\" posted by {$message->Author()->getFullName()}\n\n";
59  $content .= strip_tags($message->message);
61 
62  return $content;
63  }
global $config
Definition: import.inc:4
$message
Definition: mail_to.inc:49
if(! $blog->published||! $blog->enable_rss_feed||!checkRole($blog->allow_read)) $url
Definition: rss.inc:58
if(array_key_exists("HTTP_IF_MODIFIED_SINCE", $_SERVER)) $content
Definition: styles.css.inc:24

◆ formatUnsubscribeMessageFooter()

static SubscriptionManager::formatUnsubscribeMessageFooter ( )
static

Definition at line 65 of file subscription_manager.inc.

66  {
67  global $config;
68 
69  $messageFooter = "\n\nTo unsubscribe to these messages or change your subscription preferences, go to ";
70  $messageFooter .= "http://" . $config["http_host"] . "/forum_subscription_preferences\n\n";
71 
72  return $messageFooter;
73  }
$messageFooter

◆ renderSubscriptionType()

static SubscriptionManager::renderSubscriptionType (   $subscription)
static

Definition at line 100 of file subscription_manager.inc.

101  {
102  $options = SubscriptionManager::formatSubscriptionOptions($subscription->Forum(), $subscription);
103  $current = $subscription->subscription_type;
104  $forum_subscription_id = $subscription->forum_subscription_id;
105 
106  unset($options[0]);
107  foreach($options as $value => $name)
108  {
109  $selected = ($current == $value) ? " checked" : "";
110  $html .= "<input style='border: none' type='radio' id='subscription[{$forum_subscription_id}]' name='subscription[{$forum_subscription_id}]' value='$value' $selected>$name</option><br>\n";
111  }
112 
113  return $html;
114  }
$name
Definition: upload.inc:54
static formatSubscriptionOptions($forum, $forumSubscription, $topicSubscriptionCount=0)
$forum_subscription_id

◆ sendInstantNotifications()

static SubscriptionManager::sendInstantNotifications (   $message)
static

Definition at line 16 of file subscription_manager.inc.

17  {
18  global $config;
19 
20  // Don't query if this is a new topic.
21  if($message->topic_id)
22  {
23  $constraint = "WHERE forum_id = {$message->forum_id} AND subscription_type = ". subscription_instant_notification ." AND (topic_id = 0 OR topic_id = {$message->topic_id})";
25  }
26 
27  if(count($subscribers) > 0)
28  {
29  $mgr = new UserManager();
30  $emailField = $mgr->getEmailField();
32  $subject = $config["sitename"] . " Forum Instant Notification";
33  trace("instant_notification:: email content $emailContent", 3);
34 
35  foreach($subscribers as $subscriber)
36  {
37  $l_user = $subscriber->User();
38  if($l_user)
39  {
40  $emailTo = $l_user->$emailField;
41  $emailHandler = new EmailHandler($emailTo, $subject, $emailContent);
42  $emailHandler->send();
43  }
44  }
45  }
46  }
$constraint
if(! $token) $subscriber
Provides the interface to the user model for the application.
static formatTopicInstantNotification($message)

◆ SubscriptionManager()

SubscriptionManager::SubscriptionManager ( )

Definition at line 11 of file subscription_manager.inc.

12  {
13 
14  }

◆ updateSubscription()

static SubscriptionManager::updateSubscription (   $subscription,
  $subscription_type 
)
static

Definition at line 82 of file subscription_manager.inc.

83  {
84  // update subscription type for either a forum or topic subscription
86  $subscription_type != $subscription->subscription_type)
87  {
88  trace("update_subscription:: subscription change", 3);
89  $subscription->filter = new InclusionFilter("subscription_type");
90  $subscription->subscription_type = $subscription_type;
91  $subscription->save();
92  }
94  {
95  trace("update_subscription:: unsubscribe", 3);
96  $subscription->delete();
97  }
98  }

Variable Documentation

◆ subscription_daily_digest

const subscription_daily_digest 1

Definition at line 7 of file forum_subscription.inc.

◆ subscription_instant_notification

const subscription_instant_notification 2

Definition at line 8 of file forum_subscription.inc.

◆ subscription_unsubscribe

const subscription_unsubscribe 3

Definition at line 9 of file forum_subscription.inc.