-
Notifications
You must be signed in to change notification settings - Fork 1
/
subscribe.php
80 lines (77 loc) · 2.77 KB
/
subscribe.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
# **************************************************************************#
# MolyX2
# ------------------------------------------------------
# @copyright (c) 2009-2010 MolyX Group..
# @official forum http://molyx.com
# @license http://opensource.org/licenses/gpl-2.0.php GNU Public License 2.0
#
# $Id$
# **************************************************************************#
define('THIS_SCRIPT', 'subscribe');
require_once('./global.php');
class subscribe
{
function show()
{
global $forums, $DB, $_INPUT, $bbuserinfo;
$forums->func->load_lang('subscribe');
$threadid = intval($_INPUT['t']);
$forumid = intval($_INPUT['f']);
$type = trim($_INPUT['type']);
$this->thread = $forums->forum->single_forum($forumid);
if ($type != 'forum')
{
$row = $DB->query_first("SELECT tid, forumid FROM " . TABLE_PREFIX . "thread WHERE tid='" . $threadid . "'");
$this->thread = array_merge($row, $this->thread);
}
if (! $this->thread['id'])
{
$forums->func->standard_error("nosubscribe");
}
if ($type != 'forum' AND ! $this->thread['tid'])
{
$forums->func->standard_error("nosubscribe");
}
if (! $bbuserinfo['id'])
{
$forums->func->standard_error("notlogin");
}
if ($forums->func->fetch_permissions($this->thread['canread'], 'canread') != true)
{
$forums->func->standard_error("cannotviewboard");
}
if ($this->thread['password'] != "")
{
if ($this->thread['password'] != $forums->func->get_cookie('forum_' . $this->thread['fid']))
{
$forums->func->standard_error("cannotviewboard");
}
}
if ($type == 'forum')
{
$DB->query("SELECT subscribeforumid FROM " . TABLE_PREFIX . "subscribeforum WHERE forumid='" . $this->thread['id'] . "' AND userid='" . $bbuserinfo['id'] . "'");
}
else
{
$DB->query("SELECT subscribethreadid FROM " . TABLE_PREFIX . "subscribethread WHERE threadid='" . $this->thread['tid'] . "' AND userid='" . $bbuserinfo['id'] . "'");
}
if ($DB->num_rows())
{
$forums->func->standard_error("alreadysubscribe");
}
if ($type == 'forum')
{
$DB->shutdown_query("INSERT INTO " . TABLE_PREFIX . "subscribeforum (userid, forumid, dateline) VALUES ('" . $bbuserinfo['id'] . "', '" . $forumid . "', '" . TIMENOW . "')");
$forums->func->redirect_screen($forums->lang['subscribeforum'], "forumdisplay.php{$forums->sessionurl}f=" . $forumid . "");
}
else
{
$DB->shutdown_query("INSERT INTO " . TABLE_PREFIX . "subscribethread (userid, threadid, dateline) VALUES ('" . $bbuserinfo['id'] . "', '" . $this->thread['tid'] . "', '" . TIMENOW . "')");
$forums->func->redirect_screen($forums->lang['subscribethread'], "showthread.php{$forums->sessionurl}f=" . $this->thread['id'] . "&t=" . $this->thread['tid'] . "&pp=" . $_INPUT['pp'] . "");
}
}
}
$output = new subscribe();
$output->show();
?>