session_start(); set_die_append_msg(); // Check if user logged in if (!$userdata['session_logged_in']) { redirect(LOGIN_URL . "?redirect=$redirect_type&$redirect"); } // Check if user did not confirm if (isset($_POST['cancel']) && $_POST['cancel']) { redirect("$redirect_type?$redirect"); } // Delete DL-list if ($mode == 'dl_delete' && $topic_id) { if (!IS_ADMIN) { $sql = "SELECT forum_id FROM ". BB_TOPICS ." WHERE topic_id = $topic_id LIMIT 1"; if (!$row = DB()->sql_fetchrow(DB()->sql_query($sql))) { bb_die('Could not obtain forum_id for this topic'); } $is_auth = auth(AUTH_ALL, $row['forum_id'], $userdata); if (!$is_auth['auth_mod']) { bb_die($lang['NOT_MODERATOR']); } } if (!$confirmed) { $hidden_fields = array( 't' => $topic_id, 'mode' => 'dl_delete', ); print_confirmation(array( 'QUESTION' => $lang['DL_LIST_DEL_CONFIRM'], 'FORM_ACTION' => 'dl_list.php', 'HIDDEN_FIELDS' => build_hidden_fields($hidden_fields), )); } clear_dl_list($topic_id); redirect("$redirect_type?$redirect"); } // Update DL status $req_topics_ary = $topics_ary = array(); // Get topics selected by user if ($mode == 'set_topics_dl_status') { if (!isset($_POST['dl_topics_id_list']) || !is_array($_POST['dl_topics_id_list'])) { bb_die($lang['NONE_SELECTED']); } foreach ($_POST['dl_topics_id_list'] as $topic_id) { $req_topics_ary[] = (int) $topic_id; } } elseif ($mode == 'set_dl_status') { $req_topics_ary[] = (int) $topic_id; } // Get existing topics if ($req_topics_sql = join(',', $req_topics_ary)) { $sql = "SELECT topic_id FROM ". BB_TOPICS ." WHERE topic_id IN($req_topics_sql)"; foreach (DB()->fetch_rowset($sql) as $row) { $topics_ary[] = $row['topic_id']; } } if ($topics_ary && ($mode == 'set_dl_status' || $mode == 'set_topics_dl_status')) { $new_dlstatus_ary = array(); foreach ($topics_ary as $topic_id) { $new_dlstatus_ary[] = array( 'user_id' => (int) $user->id, 'topic_id' => (int) $topic_id, 'user_status' => (int) $new_dl_status, ); } $new_dlstatus_sql = DB()->build_array('MULTI_INSERT', $new_dlstatus_ary); DB()->query("REPLACE INTO ". BB_BT_DLSTATUS ." $new_dlstatus_sql"); redirect("$redirect_type?$redirect"); } redirect("index.php");