]#', $uredir)) { echo ''; exit; } } global $vbseo_gcache, $found_object_ids; if (VBSEO_RELPATH) vbseo_chdir($vbseo_relpath); if (vbseo_security_check($vbseo_url_)) vbseo_404(); $vbseo_file_exists = (file_exists($vbseo_url_) || (file_exists(basename($vbseo_url_)) && strstr($vbseo_url_, '.' . VBSEO_VB_EXT))) && ($vbseo_url_[strlen($vbseo_url_)-1] != '/'); $vbseo_file_exists_deep = file_exists($vbseo_url_) && strstr($vbseo_url_, '/'); $vbseo_found = false; define('VBSEO_PREPROC', 1); $vbseo_proc = VBSEO_ENABLED && !defined('VBSEO_UNREG_EXPIRED'); if ($vbseo_proc) { preg_match('#^(.+?)(_(?:ltr|rtl)?)(\.gif)$#', $vbseo_url_, $ticom); $vbseo_url_i = $ticom[1] . $ticom[3]; if (!$vbseo_url_i) $vbseo_url_i = $vbseo_url_; if (VBSEO_REWRITE_TREE_ICON && ($gifpos = strpos($vbseo_url_, '.gif')) && (substr($vbseo_url_, 0, strlen(VBSEO_ICON_PREFIX)) == VBSEO_ICON_PREFIX) && ((vbseo_check_url('VBSEO_URL_THREAD_TREE_ICON', substr($vbseo_url_i, strlen(VBSEO_ICON_PREFIX), $gifpos + 4), true)) || (vbseo_check_url('VBSEO_URL_FORUM_TREE_ICON', substr($vbseo_url_i, strlen(VBSEO_ICON_PREFIX), $gifpos + 4), true)) ) ) { if ($vbseo_file_exists) $vbseo_f = $vbseo_url_; else $vbseo_f = str_replace('.gif', $ticom[2] . '.gif', VBSEO_TREE_ICON); $ifile = @fopen($vbseo_f, 'r'); $image_content = @fread($ifile, filesize($vbseo_f)); @fclose($ifile); header ('Content-type: image/gif'); header ('Content-Length: ' . strlen($image_content)); echo $image_content; exit(); } else if (VBSEO_CHECK_WWWDOMAIN && !strstr($_SERVER['HTTP_HOST'], 'www.') && !strstr($_SERVER['HTTP_HOST'], 'localhost')) { vbseo_get_options(); if (strstr($vboptions['bburl'], 'www.')) { vbseo_safe_redirect($vboptions['bburl'] . '/' . $vbseo_requrl); } } $vbseo_is_arc = ( preg_match('#^(' . preg_quote(VBSEO_ARCHIVE_ROOT, '#') . '(?:index\.' . VBSEO_VB_EXT . '[/\?]?)?)((\w+\.'.VBSEO_VB_EXT.'.)?[^/]*)/?$#', '/' . $vbseo_requrl . '/', $arcm) || preg_match('#^(/archive/(?:index\.' . VBSEO_VB_EXT . '[/\?]?)?)(.*)#', '/' . $vbseo_requrl, $arcm)); $vbseo_move_tohp = ($hp_list = VBSEO_HOMEPAGE_ALIASES) && preg_match('#^(' . str_replace('\|', '|', preg_quote($hp_list, '#')) . ')$#', $vbseo_requrl); if ($vbseo_move_tohp) { vbseo_get_options(); if (VBSEO_HOMEPAGE != $vbseo_requrl) vbseo_safe_redirect(VBSEO_HOMEPAGE); } else if ($vbseo_is_arc) { preg_match('#t-(\d+)(?:-p-(\d+))?#', $arcm[2], $tidm); $thread_id = $tidm[1]; $page = $tidm[2] ? $tidm[2] : 1; if ($thread_id && VBSEO_REDIRECT_ARCHIVE) vbseo_get_options(); global $bbuserinfo; if ($thread_id && VBSEO_REDIRECT_ARCHIVE && !$_COOKIE[vbseo_vb_cprefix() . 'pda']) { vbseo_prepare_seo_replace(); vbseo_get_forum_info(); $threadids = array($thread_id); vbseo_get_thread_info($threadids); $vbseo_url_ = (VBSEO_REWRITE_THREADS ? vbseo_thread_url($thread_id, $page) : 'showthread.' . VBSEO_VB_EXT . '?' . VBSEO_THREADID_URI . '=' . $thread_id); vbseo_safe_redirect($vbseo_url_); } else if (preg_match('#\.css$#', $vbseo_requrl)) { $vbseo_url_ = $vbseo_found_fn = 'archive/' . $arcm[2]; $vbseo_found = $vbseo_file_exists = true; } else if ($arcm[1] != VBSEO_ARCHIVE_ROOT || !strstr('/' . $vbseo_requrl, $arcm[1])) { vbseo_safe_redirect(VBSEO_ARCHIVE_ROOT . $arcm[2], array(), true); } else { $_fixp = function_exists('ini_get') ? @ini_get('cgi.fix_pathinfo') : @get_cfg_var('cgi.fix_pathinfo'); $sm = ( (substr(PHP_OS, 0, 3) == 'WIN' AND stristr($_SERVER['SERVER_SOFTWARE'], 'apache') === false) OR (strpos(@php_sapi_name(), 'cgi') !== false AND !$_fixp)) ? '?' : '/'; $arcscript = preg_match('#(\w+)\.'.VBSEO_VB_EXT.'#', $arcm[2], $asm) ? $asm[1] : 'index'; if(!file_exists('archive/'.$arcscript.'.'.VBSEO_VB_EXT)) $arcscript = 'index'; vbseo_chdir('archive/'); $vbseo_stop = VBSEO_TOPREL . 'archive'.($asm?'':'/'.$arcscript.'.' . VBSEO_VB_EXT ). $sm . $arcm[2]; vbseo_set_self($vbseo_stop); if ($sm == '?') $_SERVER['QUERY_STRING'] = $arcm[2]; define('VBSEO_BASE_URL', substr(VBSEO_ARCHIVE_ROOT, 0, strlen(VBSEO_ARCHIVE_ROOT)-1)); preg_match('#f-(\d+)#', $arcm[2], $tidm); if ($tidm[1]) { vbseo_get_options(); vbseo_get_forum_info(); if (isset($vbseo_gcache['forum']) && $vbseo_gcache['forum'] && !isset($vbseo_gcache['forum'][$tidm[1]])) { if (VBSEO_404_HANDLE == 2) { $vbseo_incf = VBSEO_404_CUSTOM; if ($vbseo_incf[0] != '/') $vbseo_incf = dirname(__FILE__) . '/' . $vbseo_incf; include($vbseo_incf); exit; } else vbseo_404_routine($vbseo_url_); } } ob_start(); include (dirname(__FILE__) . '/archive/'.$arcscript.'.' . VBSEO_VB_EXT); $output = ob_get_contents(); ob_end_clean(); $GLOBALS['vbseo_notop_url'] = true; $output = make_crawlable($output); echo $output; exit(); } } if (VBSEO_IS_ROBOT) { $vbseo_non_clean = array('pp', 'highlight', 'order', 'sort', 'daysprune', 'referrerid'); foreach($vbseo_non_clean as $vbseo_nn) if (isset($_GET[$vbseo_nn])) vbseo_safe_redirect($vbseo_url_, $vbseo_non_clean); } if (VBSEO_THREAD_301_REDIRECT && !$_POST && $vbseo_file_exists) { if(VBSEO_SITEMAP_MOD && VBSEO_IS_ROBOT) { vbseo_hit_log(VBSEO_BASEURL); } $vbseo_noproc = true; if (!VBSEO_RELPATH && !$vbseo_file_exists_deep) { $vbseo_noproc = false; if (VBSEO_REWRITE_BLOGS_ATT && (VBSEO_BASEURL == 'blog_attachment.' . VBSEO_VB_EXT)) { if ($_REQUEST['attachmentid']) { vbseo_get_blogatt_info(array($_REQUEST['attachmentid'])); if($_batt = $vbseo_gcache['battach'][$_REQUEST['attachmentid']]) { vbseo_get_user_info(array($_batt['userid'])); vbseo_get_blog_info(array($_batt['blogid'])); $vbse_rurl = vbseo_blog_url(VBSEO_URL_BLOG_ATT, $_GET); $excpars = array('attachmentid', 'd', 'thumb', 'stc'); } } if($vbse_rurl) vbseo_url_autoadjust($vbse_rurl, $excpars, false); }else if (VBSEO_REWRITE_BLOGS_TAGS_ENTRY && (VBSEO_BASEURL == 'blog_tag.' . VBSEO_VB_EXT)) { if(count($_GET) == 0) vbseo_safe_redirect(vbseo_blog_url(VBSEO_URL_BLOG_TAGS_HOME, $_GET)); }else if (VBSEO_REWRITE_BLOGS && (VBSEO_BASEURL == 'blog.' . VBSEO_VB_EXT || (VBSEO_BASEURL == 'entry.' . VBSEO_VB_EXT && $_GET['b']) ) ) { if(isset($_GET['userid'])) $_GET['u'] = $_GET['userid']; if ($_GET['u']) vbseo_get_user_info(array($_GET['u'])); $red_url_ = ''; if(count($_GET) == 0) { $red_url_ = vbseo_blog_url(VBSEO_URL_BLOG_HOME, $_GET); }else if ($_GET[VBSEO_BLOG_CATID_URI]) { if(VBSEO_REWRITE_BLOGS_CAT) { vbseo_get_blog_cats($_GET[VBSEO_BLOG_CATID_URI]); $red_url_ = vbseo_blog_url( $_GET['u'] ? ($_GET['page'] ? VBSEO_URL_BLOG_CAT_PAGE : VBSEO_URL_BLOG_CAT) : ($_GET['page'] ? VBSEO_URL_BLOG_GLOB_CAT_PAGE : VBSEO_URL_BLOG_GLOB_CAT), $_GET); } } else if($_GET['tag']) { if(VBSEO_REWRITE_BLOGS_TAGS_ENTRY && !$_GET['u']) $red_url_ = vbseo_blog_url($_GET['page'] ? VBSEO_URL_BLOG_TAGS_ENTRY_PAGE : VBSEO_URL_BLOG_TAGS_ENTRY, $_GET); } else if($_GET['cp']) { if(VBSEO_REWRITE_BLOGS_CUSTOM) { $found_object_ids['blogcp_ids'] = $_GET['cp']; vbseo_get_object_info('blogcp_ids'); vbseo_get_user_info($vbseo_gcache['blogcp_ids'][$_GET['cp']]['userid']); $red_url_ = vbseo_blog_url(VBSEO_URL_BLOG_CUSTOM, $_GET); } }else if ($_GET['u'] && !$_GET['page'] && !$_GET['do']) { $red_url_ = vbseo_blog_url(VBSEO_URL_BLOG_USER, $_GET); } else if (($_GET['b']||$_GET['blogid']) && count($_GET) == 1) { if(VBSEO_REWRITE_BLOGS_ENT) { vbseo_get_blog_info(array($_GET['b']?$_GET['b']:$_GET['blogid'])); $red_url_ = vbseo_blog_url(VBSEO_URL_BLOG_ENTRY, $_GET); } } else if (VBSEO_REWRITE_BLOGS_LIST && $_GET['do'] == 'comments' && !$_GET['type'] && !$_GET['u']) $red_url_ = vbseo_blog_url($_GET['page'] ? VBSEO_URL_BLOG_CLIST_PAGE : VBSEO_URL_BLOG_CLIST, $_GET); else if (VBSEO_REWRITE_BLOGS_LIST && $_GET['do'] == 'list' && (!$_GET['blogtype'] || in_array($_GET['blogtype'], array('latest', 'recent')))) { if($_GET['span']=='24') $newurl = vbseo_blog_url( $_GET['page'] ? VBSEO_URL_BLOG_LAST_ENT_PAGE : VBSEO_URL_BLOG_LAST_ENT , $_GET); else if ($_GET['d']) $red_url_ = vbseo_blog_url($_GET['page'] ? VBSEO_URL_BLOG_DAY_PAGE : VBSEO_URL_BLOG_DAY, $_GET); else if ($_GET['m']) $red_url_ = vbseo_blog_url($_GET['page'] ? VBSEO_URL_BLOG_MONTH_PAGE : VBSEO_URL_BLOG_MONTH, $_GET); else $red_url_ = vbseo_blog_url($_GET['page'] ? VBSEO_URL_BLOG_LIST_PAGE : VBSEO_URL_BLOG_LIST, $_GET); } else if (VBSEO_REWRITE_BLOGS_LIST && $_GET['do'] == 'bloglist') $red_url_ = vbseo_blog_url($_GET['page'] ? VBSEO_URL_BLOG_BLIST_PAGE : VBSEO_URL_BLOG_BLIST, $_GET); if ($red_url_) vbseo_safe_redirect($red_url_, array(VBSEO_USERID_URI, 'userid', VBSEO_BLOG_CATID_URI, 'b', 'do', 'page', 'blogid', 'blogtype', 'd', 'm', 'y', 'tag', 'cp')); } else if (((VBSEO_REWRITE_THREADS && (VBSEO_BASEURL == 'showthread.' . VBSEO_VB_EXT)) || (VBSEO_REWRITE_PRINTTHREAD && ($print = 1) && (VBSEO_BASEURL == 'printthread.' . VBSEO_VB_EXT))) ) { $newurl = ''; if (isset($_GET['goto'])) { if ($_GET['goto'] == 'nextnewest') $vbseo_format = VBSEO_URL_THREAD_NEXT; elseif ($_GET['goto'] == 'nextoldest') $vbseo_format = VBSEO_URL_THREAD_PREV; if ($vbseo_format) { define('THIS_SCRIPT', 'showthread'); vbseo_get_options(); vbseo_prepare_seo_replace(); vbseo_get_forum_info(); $threadid = $_GET[VBSEO_THREADID_URI]; vbseo_get_thread_info($threadid); $newurl = vbseo_thread_url($threadid, '', $vbseo_format); } } else if (!isset($_REQUEST['do'])) { define('THIS_SCRIPT', 'showthread'); $threadid = $_GET[VBSEO_THREADID_URI] ? $_GET[VBSEO_THREADID_URI] : $_GET['threadid']; $r_post_id = $_GET[VBSEO_POSTID_URI] ? $_GET[VBSEO_POSTID_URI] : ($_GET['postid'] ? $_GET['postid'] : $_GET['post']); $r_post_id = preg_replace('|#.*$|', '', $r_post_id); $newurl = ''; if ($r_post_id) { define('VBSEO_PRIVATE_REDIRECT_POSTID', $r_post_id); } else if ($threadid) { vbseo_get_options(); vbseo_prepare_seo_replace(); vbseo_get_forum_info(); vbseo_get_thread_info($threadid); $newurl = vbseo_thread_url($threadid, (VBSEO_ENABLE_GARS && $_GET[VBSEO_PAGENUM_URI_GARS]) ? $_GET[VBSEO_PAGENUM_URI_GARS] : $_GET['page'], (VBSEO_ENABLE_GARS && $_GET[VBSEO_PAGENUM_URI_GARS]) ? VBSEO_URL_THREAD_GARS_PAGENUM : ($print ? (($_GET['page'] + 0 > 1) ? VBSEO_URL_THREAD_PRINT_PAGENUM : VBSEO_URL_THREAD_PRINT) : '') ); } } if ($newurl) { $tinfo = $vbseo_gcache['thread'][$threadid]; $is_public = vbseo_forum_is_public($vbseo_gcache['forum'][$tinfo['forumid']]); if ($is_public) vbseo_safe_redirect($newurl, array(VBSEO_ENABLE_GARS?VBSEO_PAGENUM_URI_GARS:'', VBSEO_THREADID_URI, 'threadid', 'postid', 'page', 'viewfull', ($_GET['pp'] == $vboptions['maxposts'])?'pp':'' )); else { define('VBSEO_PRIVATE_REDIRECT_URL', $newurl); define('VBSEO_PRIVATE_REDIRECT_THREAD', $threadid); } } } else if (VBSEO_REWRITE_SHOWPOST && (VBSEO_BASEURL == 'showpost.' . VBSEO_VB_EXT) && !$_POST) { define('THIS_SCRIPT', 'showpost'); vbseo_get_options(); vbseo_prepare_seo_replace(); $r_post_id = $_GET[VBSEO_POSTID_URI]; vbseo_get_forum_info(); if (VBSEO_POSTBIT_PINGBACK == 2) $found_object_ids['prepostthread_ids'] = array($r_post_id); vbseo_get_post_thread_info($r_post_id, true); vbseo_get_thread_info($found_object_ids['postthreads']); if (VBSEO_POSTBIT_PINGBACK == 2) $vbseo_url_ = vbseo_thread_url_postid($r_post_id); else $vbseo_url_ = vbseo_post_url($r_post_id, $_GET['postcount']); if($vbseo_url_) vbseo_safe_redirect($vbseo_url_, array(VBSEO_POSTID_URI, 'postcount')); else { $vbseo_found_fn = 'showpost.' . VBSEO_VB_EXT; $vbseo_found = true; } } else if (VBSEO_REWRITE_ATTACHMENTS && (VBSEO_BASEURL == 'attachment.' . VBSEO_VB_EXT)) { if ($attid = $_REQUEST['attachmentid']) { vbseo_get_forum_info(); vbseo_get_attachments_info($attid); $ainfo = $vbseo_gcache['attach'][$attid]; if(vbseo_content_type($ainfo) == 'forum') { $found_object_ids['prepostthread_ids'] = array($ainfo['contentid']); vbseo_get_post_thread_info($ainfo['contentid'], true); vbseo_get_thread_info($found_object_ids['postthreads']); } $newurl = vbseo_attachment_url($attid, '', $_REQUEST['d'], $_REQUEST['thumb']); $strip_params = array('attachmentid', 'd', 'thumb'); if($newurl) vbseo_safe_redirect($newurl, $strip_params); else { $vbseo_found_fn = 'attachment.' . VBSEO_VB_EXT; $vbseo_found = true; } } } else if (VBSEO_REWRITE_MEMBER_LIST && (VBSEO_BASEURL == 'memberlist.' . VBSEO_VB_EXT)) { if (!in_array($_REQUEST['do'], array('search', 'process'))) { $vbseo_url_ = vbseo_memberlist_url($_GET['ltr'], $_GET[VBSEO_PAGENUM_URI]); $strip_params = array('ltr', 'do', VBSEO_PAGENUM_URI); if ($_GET['sort'] == VBSEO_DEFAULT_MEMBERLIST_SORT) $strip_params[] = 'sort'; if ($_GET['order'] == VBSEO_DEFAULT_MEMBERLIST_ORDER) $strip_params[] = 'order'; vbseo_safe_redirect($vbseo_url_, $strip_params); } } else if (VBSEO_REWRITE_MEMBERS && (VBSEO_BASEURL == 'member.' . VBSEO_VB_EXT)) { $newurl = ''; if (!$_GET['find']) { $userid = $_GET[VBSEO_USERID_URI] ? $_GET[VBSEO_USERID_URI] : $_GET['userid']; if(!$userid && $_GET['username']) { $userid = vbseo_reverse_username($_GET['username']); } if ($userid) { vbseo_get_user_info(array($userid)); $uunset = array(); if($_GET['vmid']) { vbseo_get_options(); $_GET['page'] = vbseo_vmsg_pagenum($userid, $_GET['vmid']); $_GET['tab'] = 'visitor_messaging'; } if($_GET['tab'] == 'visitor_messaging' && $_GET['page']>1) { $newurl = vbseo_member_url($_GET['u'], '', 'VBSEO_URL_MEMBER_MSGPAGE', array('%page%'=>$_GET['page'])); }else if($_GET['tab'] == 'friends' && $_GET['page']>1) { $newurl = vbseo_member_url($_GET['u'], '', 'VBSEO_URL_MEMBER_FRIENDSPAGE', array('%page%'=>$_GET['page'])); }else if(!$_GET['action'] || ($_GET['action']=='getinfo')) { $newurl = vbseo_member_url($userid); /* if($_GET['tab']) { $uunset[] = 'tab'; $uunset[] = 'page'; } */ } if($newurl) { if($_GET['tab'] && $_GET['tab'] != 'visitor_messaging') $newurl .= '#'.$_GET['tab']; vbseo_safe_redirect($newurl, array_diff( array(VBSEO_USERID_URI, 'action', 'userid', 'username', 'tab', 'page', 'pp', 'vmid'), $uunset)); } } } else if ($_GET['find'] == 'lastpost