CMS  Version 3.9
forum_subscription.inc
Go to the documentation of this file.
1 <?php
7 define("subscription_daily_digest", 1);
8 define("subscription_instant_notification", 2);
9 define("subscription_unsubscribe", 3);
10 
11 class ForumSubscription extends DataItem
12 {
13  var $fields = array(
14  "forum_subscription_id" => Number,
15  "forum_id" => Number,
16  "topic_id" => Number,
17  "user_id" => Number,
18  "subscription_type" => Number
19  );
20 
21  var $relations = array(
22  "Forum" => Forum,
23  "ForumTopic" => ForumTopic,
24  "User" => ""
25  );
26 
27  static $subscriptionOptions = array(
28  1 => "Daily Digest",
29  2 => "Instant Notification"
30  );
31 
32  function Forum()
33  {
34  return $this->getRelated(Forum);
35  }
36 
37  function ForumTopic()
38  {
39  return $this->getRelated(ForumTopic);
40  }
41 
42  function User()
43  {
44  $mgr = new UserManager();
45  return $this->getRelated($mgr->getUserClass(), "user_id");
46  }
47 
49  {
50  global $user;
51 
52  if(!$user) return null;
53  $pk = $user->getPrimaryKey();
54 
55  trace("***************findUserSubscription user id {$user->$pk} forum_id $forum_id topic_id $topic_id", 3);
56  $subscriptions = Query::create(ForumSubscription, "WHERE user_id=:user_id AND forum_id=:forum_id AND topic_id=:topic_id")
57  ->bind(":user_id", $user->$pk, ":forum_id", $forum_id, ":topic_id", $topic_id)
58  ->execute();
59 
60  return count($subscriptions) ? $subscriptions[0] : null;
61  }
62 
64  {
65  global $user;
66  if(!$user) return null;
67  $pk = $user->getPrimaryKey();
68 
69  return Query::create(ForumSubscription, "WHERE user_id=:user_id AND forum_id=:forum_id AND topic_id > 0")
70  ->bind(":user_id", $user->$pk, ":forum_id", $forum_id)
71  ->execute();
72  }
73 
74  function ForumSubscription()
75  {
76  $this->primary_key = "forum_subscription_id";
77  $this->table = "forum_subscription";
78 
79  $this->DataItem(func_get_args());
80 
81  }
82 }?>
$forum_id
Definition: forum_form.inc:39
Definition: forum.inc:42
static getUserTopicSubscriptions($forum_id)
static findUserSubscription($forum_id, $topic_id=0)
Provides the interface to the user model for the application.
global $user
$topic_id
Definition: topic_form.inc:40