user['uid'] == 0) { error_no_permission(); } // Verify incoming POST request verify_post_check($mybb->input['my_post_key']); $lang->load("usercp"); usercp_menu(); $server_http_referer = htmlentities($_SERVER['HTTP_REFERER']); if($mybb->input['action'] == "do_addsubscription") { if($mybb->input['type'] != "forum") { $thread = get_thread($mybb->input['tid']); if(!$thread['tid']) { error($lang->error_invalidthread); } $forumpermissions = forum_permissions($thread['fid']); if($forumpermissions['canview'] == 0 || $forumpermissions['canviewthreads'] == 0 || ($forumpermissions['canonlyviewownthreads'] != 0 && $thread['uid'] != $mybb->user['uid'])) { error_no_permission(); } add_subscribed_thread($thread['tid'], $mybb->input['notification']); if($mybb->input['referrer']) { $url = htmlspecialchars_uni(addslashes($mybb->input['referrer'])); } else { $url = get_thread_link($thread['tid']); } redirect($url, $lang->redirect_subscriptionadded); } } if($mybb->input['action'] == "addsubscription") { if($mybb->input['type'] == "forum") { $forum = get_forum($mybb->input['fid']); if(!$forum['fid']) { error($lang->error_invalidforum); } $forumpermissions = forum_permissions($forum['fid']); if($forumpermissions['canview'] == 0 || $forumpermissions['canviewthreads'] == 0) { error_no_permission(); } add_subscribed_forum($forum['fid']); if($server_http_referer) { $url = $server_http_referer; } else { $url = "index.php"; } redirect($url, $lang->redirect_forumsubscriptionadded); } else { $thread = get_thread($mybb->input['tid']); if(!$thread['tid']) { error($lang->error_invalidthread); } add_breadcrumb($lang->nav_subthreads, "usercp.php?action=subscriptions"); add_breadcrumb($lang->nav_addsubscription); $forumpermissions = forum_permissions($thread['fid']); if($forumpermissions['canview'] == 0 || $forumpermissions['canviewthreads'] == 0 || ($forumpermissions['canonlyviewownthreads'] != 0 && $thread['uid'] != $mybb->user['uid'])) { error_no_permission(); } $referrer = ''; if($server_http_referer) { $referrer = $server_http_referer; } require_once MYBB_ROOT."inc/class_parser.php"; $parser = new postParser; $thread['subject'] = $parser->parse_badwords($thread['subject']); $thread['subject'] = htmlspecialchars_uni($thread['subject']); $lang->subscribe_to_thread = $lang->sprintf($lang->subscribe_to_thread, $thread['subject']); if($mybb->user['subscriptionmethod'] == 1 || $mybb->user['subscriptionmethod'] == 0) { $notification_none_checked = "checked=\"checked\""; } else if($mybb->user['subscriptionmethod'] == 2) { $notification_instant_checked = "checked=\"checked\""; } eval("\$add_subscription = \"".$templates->get("usercp_addsubscription_thread")."\";"); output_page($add_subscription); } } elseif($mybb->input['action'] == "removesubscription") { if($mybb->input['type'] == "forum") { $forum = get_forum($mybb->input['fid']); if(!$forum['fid']) { error($lang->error_invalidforum); } remove_subscribed_forum($forum['fid']); if($server_http_referer) { $url = $server_http_referer; } else { $url = "usercp.php?action=forumsubscriptions"; } redirect($url, $lang->redirect_forumsubscriptionremoved); } else { $thread = get_thread($mybb->input['tid']); if(!$thread['tid']) { error($lang->error_invalidthread); } remove_subscribed_thread($thread['tid']); if($server_http_referer) { $url = $server_http_referer; } else { $url = "usercp.php?action=subscriptions"; } redirect($url, $lang->redirect_subscriptionremoved); } } elseif($mybb->input['action'] == "removesubscriptions") { if($mybb->input['type'] == "forum") { $db->delete_query("forumsubscriptions", "uid='".$mybb->user['uid']."'"); if($server_http_referer) { $url = $server_http_referer; } else { $url = "usercp.php?action=forumsubscriptions"; } redirect($url, $lang->redirect_forumsubscriptionsremoved); } else { $db->delete_query("threadsubscriptions", "uid='".$mybb->user['uid']."'"); if($server_http_referer) { $url = $server_http_referer; } else { $url = "usercp.php?action=subscriptions"; } redirect($url, $lang->redirect_subscriptionsremoved); } } else { error($lang->error_invalidaction); } ?>