session_start(array('req_login' => true)); $mode = $_REQUEST['mode'] ?? ''; $type = $_POST['type'] ?? ''; $id = $_POST['id'] ?? 0; $timecheck = TIMENOW - 600; if (!$mode) { bb_simple_die($lang['ATOM_NO_MODE']); } if ($mode == 'get_feed_url' && ($type == 'f' || $type == 'u') && $id >= 0) { if ($type == 'f') { // Check if the user has actually sent a forum ID $sql = "SELECT allow_reg_tracker, forum_name FROM " . BB_FORUMS . " WHERE forum_id = $id LIMIT 1"; if (!$forum_data = DB()->fetch_row($sql)) { if ($id == 0) { $forum_data = array(); } else { bb_simple_die($lang['ATOM_ERROR'] . ' #1'); } } if (file_exists($bb_cfg['atom']['path'] . '/f/' . $id . '.atom') && filemtime($bb_cfg['atom']['path'] . '/f/' . $id . '.atom') > $timecheck) { redirect($bb_cfg['atom']['url'] . '/f/' . $id . '.atom'); } else { if (\TorrentPier\Legacy\Atom::update_forum_feed($id, $forum_data)) { redirect($bb_cfg['atom']['url'] . '/f/' . $id . '.atom'); } else { bb_simple_die($lang['ATOM_NO_FORUM']); } } } if ($type == 'u') { // Check if the user has actually sent a user ID if ($id < 1) { bb_simple_die($lang['ATOM_ERROR'] . ' #2'); } if (!$username = get_username($id)) { bb_simple_die($lang['ATOM_ERROR'] . ' #3'); } if (file_exists($bb_cfg['atom']['path'] . '/u/' . floor($id / 5000) . '/' . ($id % 100) . '/' . $id . '.atom') && filemtime($bb_cfg['atom']['path'] . '/u/' . floor($id / 5000) . '/' . ($id % 100) . '/' . $id . '.atom') > $timecheck) { redirect($bb_cfg['atom']['url'] . '/u/' . floor($id / 5000) . '/' . ($id % 100) . '/' . $id . '.atom'); } else { if (\TorrentPier\Legacy\Atom::update_user_feed($id, $username)) { redirect($bb_cfg['atom']['url'] . '/u/' . floor($id / 5000) . '/' . ($id % 100) . '/' . $id . '.atom'); } else { bb_simple_die($lang['ATOM_NO_USER']); } } } } else { bb_simple_die($lang['ATOM_ERROR'] . ' #4'); }