Chris@76: $user_info['id'], Chris@76: 'current_topic' => $topic, Chris@76: ) Chris@76: ); Chris@76: $context['notification_set'] = $smcFunc['db_num_rows']($request) != 0; Chris@76: $smcFunc['db_free_result']($request); Chris@76: Chris@76: // Set the template variables... Chris@76: $context['topic_href'] = $scripturl . '?topic=' . $topic . '.' . $_REQUEST['start']; Chris@76: $context['start'] = $_REQUEST['start']; Chris@76: $context['page_title'] = $txt['notification']; Chris@76: Chris@76: return; Chris@76: } Chris@76: elseif ($_GET['sa'] == 'on') Chris@76: { Chris@76: checkSession('get'); Chris@76: Chris@76: // Attempt to turn notifications on. Chris@76: $smcFunc['db_insert']('ignore', Chris@76: '{db_prefix}log_notify', Chris@76: array('id_member' => 'int', 'id_topic' => 'int'), Chris@76: array($user_info['id'], $topic), Chris@76: array('id_member', 'id_topic') Chris@76: ); Chris@76: } Chris@76: else Chris@76: { Chris@76: checkSession('get'); Chris@76: Chris@76: // Just turn notifications off. Chris@76: $smcFunc['db_query']('', ' Chris@76: DELETE FROM {db_prefix}log_notify Chris@76: WHERE id_member = {int:current_member} Chris@76: AND id_topic = {int:current_topic}', Chris@76: array( Chris@76: 'current_member' => $user_info['id'], Chris@76: 'current_topic' => $topic, Chris@76: ) Chris@76: ); Chris@76: } Chris@76: Chris@76: // Send them back to the topic. Chris@76: redirectexit('topic=' . $topic . '.' . $_REQUEST['start']); Chris@76: } Chris@76: Chris@76: function BoardNotify() Chris@76: { Chris@76: global $scripturl, $txt, $board, $user_info, $context, $smcFunc; Chris@76: Chris@76: // Permissions are an important part of anything ;). Chris@76: is_not_guest(); Chris@76: isAllowedTo('mark_notify'); Chris@76: Chris@76: // You have to specify a board to turn notifications on! Chris@76: if (empty($board)) Chris@76: fatal_lang_error('no_board', false); Chris@76: Chris@76: // No subaction: find out what to do. Chris@76: if (empty($_GET['sa'])) Chris@76: { Chris@76: // We're gonna need the notify template... Chris@76: loadTemplate('Notify'); Chris@76: Chris@76: // Find out if they have notification set for this topic already. Chris@76: $request = $smcFunc['db_query']('', ' Chris@76: SELECT id_member Chris@76: FROM {db_prefix}log_notify Chris@76: WHERE id_member = {int:current_member} Chris@76: AND id_board = {int:current_board} Chris@76: LIMIT 1', Chris@76: array( Chris@76: 'current_board' => $board, Chris@76: 'current_member' => $user_info['id'], Chris@76: ) Chris@76: ); Chris@76: $context['notification_set'] = $smcFunc['db_num_rows']($request) != 0; Chris@76: $smcFunc['db_free_result']($request); Chris@76: Chris@76: // Set the template variables... Chris@76: $context['board_href'] = $scripturl . '?board=' . $board . '.' . $_REQUEST['start']; Chris@76: $context['start'] = $_REQUEST['start']; Chris@76: $context['page_title'] = $txt['notification']; Chris@76: $context['sub_template'] = 'notify_board'; Chris@76: Chris@76: return; Chris@76: } Chris@76: // Turn the board level notification on.... Chris@76: elseif ($_GET['sa'] == 'on') Chris@76: { Chris@76: checkSession('get'); Chris@76: Chris@76: // Turn notification on. (note this just blows smoke if it's already on.) Chris@76: $smcFunc['db_insert']('ignore', Chris@76: '{db_prefix}log_notify', Chris@76: array('id_member' => 'int', 'id_board' => 'int'), Chris@76: array($user_info['id'], $board), Chris@76: array('id_member', 'id_board') Chris@76: ); Chris@76: } Chris@76: // ...or off? Chris@76: else Chris@76: { Chris@76: checkSession('get'); Chris@76: Chris@76: // Turn notification off for this board. Chris@76: $smcFunc['db_query']('', ' Chris@76: DELETE FROM {db_prefix}log_notify Chris@76: WHERE id_member = {int:current_member} Chris@76: AND id_board = {int:current_board}', Chris@76: array( Chris@76: 'current_board' => $board, Chris@76: 'current_member' => $user_info['id'], Chris@76: ) Chris@76: ); Chris@76: } Chris@76: Chris@76: // Back to the board! Chris@76: redirectexit('board=' . $board . '.' . $_REQUEST['start']); Chris@76: } Chris@76: Chris@76: ?>