super_query("SELECT * FROM " . PREFIX . "_forum_forums WHERE id = $fid");
$check_moderator = check_moderator($row_forum['access_mod'], $row_forum['moderators']);
$check_read = check_access($row_forum['access_read']);
if ($check_moderator){$mass_prune = moderator_value('mass_prune', $fid, $m_member);}
// ********************************************************************************
// PASSWORD
// ********************************************************************************
$password = $row_forum['password'];
if ($password)
{
$forum_cookie = $_COOKIE["dle_forum_{$fid}"];
unset ($check_read); // вход по паролю для всех
if ($_REQUEST['password']){
if ($password == $_REQUEST['password']){
set_cookie ("dle_forum_{$fid}", md5($_REQUEST['password']), 365);
$check_read = true;
}
} else {
if (md5($password) == $forum_cookie)
{
$check_read = true;
}
}
}
// ********************************************************************************
// SHOW FORUM
// ********************************************************************************
$c_id = $row_forum['main_id'];
if ($row_forum['id'] and $check_read)
{
$forum_name = stripslashes($row_forum['name']);
if ($sub_parentid[$fid] and $sub_parentid != 'empty')
{
if ($forum_config['hide_forum'])
{
$access_hide = "and access_read regexp '[[:<:]](".$member_id['user_group'].")[[:>:]]'";
} else
{
$access_hide = "";
}
$result = $db->query("SELECT * FROM ". PREFIX ."_forum_forums WHERE parentid = $fid {$access_hide} ORDER by position");
while ($row = $db->get_row($result))
{
if (!$fcache->open('moder-'.$row['id']))
{
foreach ($forum_moderators as $moderators)
{
if ($moderators['forum_id'] == $row['id'] and $moderators['member_name'])
{
$mod_count++;
if ($mod_count > 1) $mod_symbol = ", ";
$moderators_list .= $mod_symbol . link_user($moderators['member_name']);
}
}
$fcache->save('moder-'.$row['id'], $moderators_list);
}
else { $moderators_list = $fcache->open('moder-'.$row['id']); }
$tpl->load_template($tpl_dir.'forums.tpl');
$tpl->set('{status}', forum_status ($row['f_last_date'], $row['password'], $row['icon']));
$tpl->set('{name}', link_forum($row['id'], $row['name']));
$tpl->set('{description}', stripslashes($row['description']));
$tpl->set('{forum_id_rss}', $forum_url."/rss/forum_".$row['id'].".xml");
$tpl->set('{forums}', '');
if ($moderators_list)
{
$tpl->set('{moderators}', '
' . $f_lang['moderators'] . ' ' . $moderators_list);
}
else { $tpl->set('{moderators}', ''); }
$tpl->set('{topics}', $row['topics']);
$tpl->set('{post}', $row['posts']);
$tpl->set('{last}', forum_last($row['f_last_tid'], $row['f_last_title'], $row['f_last_poster_name'], $row['f_last_date'], $row['password'], $row['id'], $row['access_read']));
$tpl->compile('forums');
$tpl->clear();
unset ($moderators_list);
unset ($mod_count);
unset ($mod_symbol);
}
$tpl->load_template($tpl_dir.'category.tpl');
$tpl->set('{category}', $forum_name.$f_lang['subforums']);
$tpl->set('{forums}', $tpl->result['forums']);
$tpl->compile('subforums');
$tpl->clear();
}
// ********************************************************************************
// TOPIC VIEWS
// ********************************************************************************
if ($is_logged){
$row_views = $db->query("SELECT topic_id FROM " . PREFIX . "_forum_views WHERE user_id = $member_id[user_id] and forum_id = $fid");
$topic_views = array();
while ($row = $db->get_row($row_views))
{
$topic_views[$row['topic_id']] = '1';
}
} else {
$row_views = explode(",", $_COOKIE['dle_forum_views']);
foreach ($row_views as $value)
{
$topic_views[$value] = '1';
}
}
// ********************************************************************************
// CSTART
// ********************************************************************************
if ($cstart){
$cstart = $cstart - 1;
$cstart = $cstart * $forum_config['topic_inpage'];
}
if ($forum_config['topic_sort']){
$sort_type = "last_date";
} else {
$sort_type = "tid";
}
// ********************************************************************************
// SWITCH
// ********************************************************************************
if (!$check_moderator) $q_hidden = " and hidden = 0"; else $q_hidden = "";
switch ($_REQUEST['code'])
{
// ********************************************************************************
// HIDDEN
// ********************************************************************************
case "hidden":
if ($check_moderator){
$WHERE = "and hidden = 1";
$get_count = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_forum_topics WHERE forum_id = $fid and hidden = 1");
$count_all = $get_count['count'];
$icat = $a_forum_url."showforum={$fid}&code=hidden&cstart=";
} else {
break;
}
break;
// ********************************************************************************
// TODAY
// ********************************************************************************
case "today":
$today_date = date('Y-m-d');;
$WHERE = "{$q_hidden} and last_date >= DATE_ADD(NOW(), INTERVAL -1 DAY)";
$get_count = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_forum_topics WHERE forum_id = $fid {$WHERE}");
$count_all = $get_count['count'];
$icat = $a_forum_url."showforum={$fid}&code=today&cstart=";
break;
// ********************************************************************************
// NOREPLY
// ********************************************************************************
case "noreply":
$WHERE = "{$q_hidden} and post = '0'";
$get_count = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_forum_topics WHERE forum_id = $fid {$WHERE}");
$count_all = $get_count['count'];
$icat = $a_forum_url."showforum={$fid}&code=noreply&cstart=";
break;
// ********************************************************************************
// SEARCH
// ********************************************************************************
case "search":
if ($_POST['search_text']){}
break;
// ********************************************************************************
// DEFAULT
// ********************************************************************************
default:
$count_all = $row_forum['topics'];
$icat = $forum_url."/forum_{$fid}/";
if (!$check_moderator) $WHERE = "and hidden = 0"; else $WHERE = "";
break;
}
// ********************************************************************************
// DLE Forum
// ********************************************************************************
$config_inpage = $forum_config['topic_inpage'];
$result_topics = $db->query("SELECT * FROM " . PREFIX . "_forum_topics WHERE forum_id = $fid ".$WHERE." ORDER BY fixed, ".$sort_type." DESC LIMIT ".$cstart.",".$forum_config['topic_inpage']."");
require_once SYSTEM_DIR.'/forum/sources/showtopics.php';
require_once SYSTEM_DIR.'/forum/sources/components/navigation.php';
if (!$is_topics){$msg_info = $f_lang['is_topics'];}
$tpl->load_template($tpl_dir.'forum.tpl');
$tpl->set('{banner}', stripslashes($row_forum['banner']));
$tpl->set('{forum}', $forum_name);
$tpl->set('{subforums}', $tpl->result["subforums"]);
$tpl->set('{info}', $msg_info);
if ($row_forum['rules_title']){
$tpl->set('[rules]',"");
$tpl->set('{rules-name}', $row_forum['rules_title']);
$tpl->set('{rules-text}', $row_forum['rules']);
$tpl->set('[/rules]',"");
} else {
$tpl->set_block("'\\[rules\\](.*?)\\[/rules\\]'si","");
}
if($is_logged){
$a_new_topic = $forum_url."/forum_{$fid}/add/";
$tpl->set('[new_topic]',"");
$tpl->set('[/new_topic]',"");
} else {
$tpl->set('[new_topic]',"");
$tpl->set('[/new_topic]',"");
}
$tpl->set('[options]',"");
$tpl->set('[/options]',"");
$tpl->set('[fast-search]',"