ND DATA ###################### $phrasegroups = array('forum'); $specialtemplates = array(); // ######################### REQUIRE BACK-END ############################ require_once './global.php'; require_once DIR.'/includes/functions_bigthree.php'; // ####################################################################### // ######################## START MAIN SCRIPT ############################ // ####################################################################### if (SLASH_METHOD and strpos($archive_info, '/archive/index.php') === false) { exec_header_redirect($vbulletin->options['bburl'].'/archive/index.php'.$vbulletin->session->vars['sessionurl_q']); } // parse query string $f = 0; $p = 0; $t = 0; $output = ''; $endbit = $vbulletin->input->strip_sessionhash($archive_info); $endbit = str_replace(array('pda=1', 'login=1', '.html'), '', $endbit); $endbit = rtrim($endbit, '&?'); if (SLASH_METHOD) { $endbit = substr(strrchr($endbit, '/'), 1); } elseif (strpos($endbit, '&') !== false) { $endbit = substr(strrchr($endbit, '&'), 1); } if ($endbit != '' and $endbit != 'index.php') { $queryparts = explode('-', $endbit); foreach ($queryparts as $querypart) { if ($lastpart != '') { // can be: // f: forumid // p: pagenumber // t: threadid $$lastpart = $querypart; $lastpart = ''; } else { switch ($querypart) { case 'f': case 'p': case 't': $lastpart = $querypart; break; default: $lastpart = ''; } } } } else { $do = 'index'; } $vbulletin->input->clean_array_gpc('r', array( 'pda' => TYPE_BOOL, 'login' => TYPE_BOOL, 'message' => TYPE_BOOL, )); $vbulletin->input->clean_array_gpc('c', array( COOKIE_PREFIX.'pda' => TYPE_UINT, )); $vbulletin->input->clean_array_gpc('p', array( 'username' => TYPE_STR, 'password' => TYPE_STR, )); // check to see if the person is using a PDA if so we'll sort in ASC // force a redirect afterwards so we dont get problems with search engines if ($t) { $t = intval($t); $querystring = 't-'.$t.iif($p, '-p-'.intval($p)).'.html'; } elseif ($f) { $f = intval($f); $querystring = 'f-'.$f.iif($p, '-p-'.intval($p)).'.html'; } if ($vbulletin->GPC['pda']) { vbsetcookie('pda', '1', 1); $redirect_url = $vbulletin->options['bburl'].'/archive/index.php'; if ($querystring) { $redirect_url .= (SLASH_METHOD ? '/' : '?').$querystring.ARCHIVE_SESSION_URL; } else { $redirect_url .= $vbulletin->session->vars['sessionurl_q']; } exec_header_redirect($redirect_url); } elseif ($vbulletin->GPC[COOKIE_PREFIX.'pda']) { $pda = true; } $title = $vbulletin->options['bbtitle']; if ($vbulletin->userinfo['userid'] == 0 and $vbulletin->GPC['login']) { if (!empty($vbulletin->GPC['username']) and !empty($vbulletin->GPC['password'])) { require_once DIR.'/includes/functions_login.php'; $strikes = verify_strike_status($vbulletin->GPC['username'], true); if ($strikes === false) { // user has got too many wrong passwords $error_message = fetch_error('strikes', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl']); $do = 'error'; } elseif (verify_authentication($vbulletin->GPC['username'], $vbulletin->GPC['password'], '', '', false, true)) { exec_unstrike_user($vbulletin->GPC['username']); $db->query_write('DELETE FROM '.TABLE_PREFIX."session WHERE sessionhash = '".$db->escape_string($vbulletin->session->vars['dbsessionhash'])."'"); $vbulletin->session->vars = $vbulletin->session->fetch_session($vbulletin->userinfo['userid']); /*insert query*/ $db->query_write(' INSERT INTO '.TABLE_PREFIX."session (sessionhash, userid, host, idhash, lastactivity, styleid, loggedin, bypass, useragent) VALUES ('".$db->escape_string($vbulletin->session->vars['sessionhash'])."', ".$vbulletin->session->vars['userid'].", '".$db->escape_string($vbulletin->session->vars['host'])."', '".$db->escape_string($vbulletin->session->vars['idhash'])."', ".TIMENOW.', '.$vbulletin->session->vars['styleid'].', 1, '.iif($logintype === 'cplogin', 1, 0).", '".$db->escape_string($vbulletin->session->vars['useragent'])."') "); $redirect_url = $vbulletin->options['bburl'].'/archive/index.php'; if ($querystring) { $redirect_url .= (SLASH_METHOD ? '/' : '?').$querystring.ARCHIVE_SESSION_URL; } else { $redirect_url .= $vbulletin->session->vars['sessionurl_q']; } exec_header_redirect($redirect_url); } else { // wrong username / password exec_strike_user($vbulletin->userinfo['username']); $error_message = fetch_error('badlogin', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'], $strikes); $do = 'error'; } } } if ($do == 'error') { } elseif ($t) { $do = 'thread'; $threadinfo = fetch_threadinfo($t); $foruminfo = fetch_foruminfo($threadinfo['forumid']); $threadinfo['meta_description'] = strip_bbcode(strip_quotes($threadinfo['description']), false, true); $threadinfo['meta_description'] = htmlspecialchars_uni(fetch_censored_text(fetch_trimmed_title($threadinfo['meta_description'], 500, false))); $forumperms = $vbulletin->userinfo['forumpermissions'][$foruminfo['forumid']]; if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) or !($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewthreads']) or !($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers']) or in_coventry($threadinfo['postuserid']) or $threadinfo['isdeleted'] or (!$threadinfo['visible'] and !can_moderate($threadinfo['forumid'], 'canmoderateposts'))) { exit; } verify_forum_password($foruminfo['forumid'], $foruminfo['password']); if (trim($foruminfo['link']) != '') { exec_header_redirect($foruminfo['link'], true); } $title = "$threadinfo[prefix_plain_html] $threadinfo[title] [$vbphrase[archive]] ".($p > 1 ? ' - '.construct_phrase($vbphrase['page_x'], $p) : '')." - $title"; $p = intval($p); $metatags = " "; } elseif ($f) { $do = 'forum'; $forumperms = $vbulletin->userinfo['forumpermissions'][$f]; if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) or !($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers'])) { exit; } $foruminfo = fetch_foruminfo($f, false); if (trim($foruminfo['link']) != '') { // add session hash to local links if necessary if (preg_match('#^([a-z0-9_]+\.php)(\?.*$)?#i', $foruminfo['link'], $match)) { if ($match[2]) { // we have a ?xyz part, put session url at beginning if necessary $query_string = preg_replace('/([^a-z0-9])(s|sessionhash)=[a-z0-9]{32}(&|&)?/', '\\1', $match[2]); $foruminfo['link'] = $match[1].'?'.$vbulletin->session->vars['sessionurl_js'].substr($query_string, 1); } else { $foruminfo['link'] .= $vbulletin->session->vars['sessionurl_q']; } } exec_header_redirect($foruminfo['link'], true); } verify_forum_password($foruminfo['forumid'], $foruminfo['password']); $title = "$foruminfo[title_clean] [$vbphrase[archive]]".($p > 1 ? ' - '.construct_phrase($vbphrase['page_x'], $p) : '')." - $title"; $p = intval($p); $metatags = "options['keywords']."\" /> 1 ? construct_phrase($vbphrase['page_x'], $p).' ' : '').$foruminfo['description_clean'].'" /> '; } else { $do = 'index'; $metatags = ' '; } ($hook = vBulletinHook::fetch_hook('archive_process_start')) ? eval($hook) : false; if ($pda and $vbulletin->userinfo['userid'] == 0 and $vbulletin->GPC['login'] and $do != 'error') { $do = 'login'; } if ($pda and $vbulletin->userinfo['userid'] > 0 and $vbulletin->GPC['message'] and false) { $do = 'message'; } // ad locations $ad_templates = fetch_ad_templates(array('ad_archive_above_content1', 'ad_archive_above_content2', 'ad_archive_below_content')); $output .= ' $metatags $title options['bburl'].'/archive/archive.css" />
'; ($hook = vBulletinHook::fetch_hook('archive_postheader')) ? eval($hook) : false; // ******************************************************************************************** // display board if ($do == 'index') { $output .= print_archive_navigation(array()); $output .= "

$vbphrase[view_full_version]: '.$vbulletin->options['bbtitle']."

\n"; $output .= '
'; $output .= $ad_templates['ad_archive_above_content1']; $output .= $ad_templates['ad_archive_above_content2']; $output .= '

'; $output .= "
\n"; $output .= print_archive_forum_list(); $output .= "
\n"; } if ($Coventry = fetch_coventry('string')) { $globalignore = 'AND '.iif($do == 'forum', 'thread.post', 'post.')."userid NOT IN ($Coventry) "; } else { $globalignore = ''; } // ******************************************************************************************** // display forum if ($do == 'forum') { // list threads $output .= print_archive_navigation($foruminfo); $output .= "

$vbphrase[view_full_version] : $foruminfo[title_clean]

\n
\n"; $output .= '
'; $output .= $ad_templates['ad_archive_above_content1']; $output .= $ad_templates['ad_archive_above_content2']; $output .= '

'; if ($foruminfo['cancontainthreads']) { if (!$p) { $p = 1; } $output .= print_archive_page_navigation($foruminfo['threadcount'], $vbulletin->options['archive_threadsperpage'], "f-$foruminfo[forumid]"); $threads = $db->query_read_slave(' SELECT threadid, title, prefixid, lastpost, replycount FROM '.TABLE_PREFIX."thread AS thread WHERE forumid = $foruminfo[forumid] AND visible = 1 AND open <> 10 $globalignore ORDER BY dateline ".iif($pda, 'DESC', 'ASC').' LIMIT '.($p - 1) * $vbulletin->options['archive_threadsperpage'].','.$vbulletin->options['archive_threadsperpage'] ); $start = ($p - 1) * $vbulletin->options['archive_threadsperpage'] + 1; if ($pda and false) { $output .= 'New Thread'; } $output .= "
\n
    \n"; while ($thread = $db->fetch_array($threads)) { if ($vbulletin->options['wordwrap'] != 0) { $thread['title'] = fetch_word_wrapped_string($thread['title']); } $thread['title'] = fetch_censored_text($thread['title']); $thread['prefix_plain_html'] = ($thread['prefixid'] ? htmlspecialchars_uni($vbphrase["prefix_$thread[prefixid]_title_plain"]) : ''); ($hook = vBulletinHook::fetch_hook('archive_forum_thread')) ? eval($hook) : false; if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewthreads'])) { $output .= "\t
  1. $thread[prefix_plain_html] $thread[title]".iif($pda, ' ('.construct_phrase($vbphrase['x_replies'], $thread['replycount']).')')."
  2. \n"; } elseif ($vbulletin->options['archive_threadtype'] or $pda) { $output .= "\t
  3. $thread[prefix_plain_html] options['bburl']. '/archive/index.php'.(SLASH_METHOD ? '/' : '?')."t-$thread[threadid].html".ARCHIVE_SESSION_URL."\">$thread[title]".iif($pda, ' ('.construct_phrase($vbphrase['x_replies'], $thread['replycount']).')')."
  4. \n"; } else { $output .= "\t
  5. $thread[prefix_plain_html] $thread[title]
  6. \n"; } } $output .= "
\n
\n"; } else { $output .= "
\n"; $output .= print_archive_forum_list($f); $output .= "
\n"; } } // ******************************************************************************************** // display thread if ($do == 'thread') { if (!$vbulletin->options['archive_threadtype']) { // if we are not using the archive threadtype, invisibly redirect to the full thread view exec_header_redirect(fetch_seo_url('thread|js|bburl', $threadinfo)); } if ($vbulletin->options['wordwrap'] != 0) { $threadinfo['title'] = fetch_word_wrapped_string($threadinfo['title']); } $threadinfo['title'] = fetch_censored_text($threadinfo['title']); $output .= print_archive_navigation($foruminfo, $threadinfo); $output .= "

$vbphrase[view_full_version] : " .($threadinfo['prefix_plain_html'] ? "$threadinfo[prefix_plain_html] " : '') .'$threadinfo[title]

\n
\n"; if ($p == 0) { $p = 1; } $output .= '
'; $output .= $ad_templates['ad_archive_above_content1']; $output .= $ad_templates['ad_archive_above_content2']; $output .= '

'; $output .= print_archive_page_navigation($threadinfo['replycount'] + 1, $vbulletin->options['archive_postsperpage'], "t-$threadinfo[threadid]"); $posts = $db->query_read_slave(' SELECT post.postid, post.pagetext, IFNULL( user.username , post.username ) AS username, dateline FROM '.TABLE_PREFIX.'post AS post LEFT JOIN '.TABLE_PREFIX."user AS user ON (user.userid = post.userid) WHERE threadid = $threadinfo[threadid] AND visible = 1 $globalignore ORDER BY dateline ASC LIMIT ".(($p - 1) * $vbulletin->options['archive_postsperpage']).','.$vbulletin->options[archive_postsperpage] ); if ($pda and false) { $output .= 'New Reply'; } $i = 0; while ($post = $db->fetch_array($posts)) { ++$i; $post['pagetext_simp'] = strip_bbcode($post['pagetext']); $post['postdate'] = vbdate($vbulletin->options['dateformat'], $post['dateline']); $post['posttime'] = vbdate($vbulletin->options['timeformat'], $post['dateline']); if ($vbulletin->options['wordwrap'] != 0) { $post['pagetext_simp'] = fetch_word_wrapped_string($post['pagetext_simp']); } $post['pagetext_simp'] = fetch_censored_text($post['pagetext_simp']); ($hook = vBulletinHook::fetch_hook('archive_thread_post')) ? eval($hook) : false; $output .= "\n
$post[username]
$post[postdate], $post[posttime]
"; $output .= '
'.nl2br(htmlspecialchars_uni($post['pagetext_simp']))."

\n\n"; } // Record thread as viewed. if ($vbulletin->options['who_read']) { mark_content_read('vBForum_Thread', $thread['threadid'], 'view'); } } // ******************************************************************************************** // display login if ($do == 'login') { $output .= print_archive_navigation(array()); $output .= "

$vbphrase[view_full_version]: '.$vbulletin->options['bbtitle']."

\n"; $output .= '
'; $output .= $ad_templates['ad_archive_above_content1']; $output .= $ad_templates['ad_archive_above_content2']; $output .= '

'; if (SLASH_METHOD) { $loginlink = 'index.php'.(!empty($querystring) ? "/$querystring" : '').'?'.$vbulletin->session->vars['sessionurl'].'login=1'; } else { $loginlink = 'index.php?'.(!empty($querystring) ? "$querystring&" : '').$vbulletin->session->vars['sessionurl'].'login=1'; } $output .= "
\n"; $output .= "$vbphrase[log_in]\n"; $output .= '
\n"; $output .= "$vbphrase[username]: \n"; $output .= "$vbphrase[password]: \n"; $output .= "\n"; $output .= "
\n"; $output .= "
\n"; } // ******************************************************************************************** // display error if ($do == 'error') { $output .= print_archive_navigation(array()); $output .= "

$vbphrase[view_full_version]: '.$vbulletin->options['bbtitle']."

\n"; $output .= '
'; $output .= $ad_templates['ad_archive_above_content1']; $output .= $ad_templates['ad_archive_above_content2']; $output .= '

'; $output .= "
\n"; $output .= $error_message; $output .= "
\n"; } // ad locations ($hook = vBulletinHook::fetch_hook('archive_complete')) ? eval($hook) : false; $output .= $ad_templates['ad_archive_below_content']; $output .= "
$vbphrase[vbulletin_copyright]
"; $vbulletin->shutdown->shutdown(); if (defined('NOSHUTDOWNFUNC')) { exec_shut_down(); } echo $output; ($hook = vBulletinHook::fetch_hook('archive_complete_postoutput')) ? eval($hook) : false; /*======================================================================*\ || #################################################################### || # Downloaded: 14:05, Mon Oct 5th 2015 || # CVS: $RCSfile$ - $Revision: 82084 $ || #################################################################### \*======================================================================*/;