vbseo_get_user_info(array($_GET['u'])); $newurl = vbseo_album_url('VBSEO_URL_MEMBER_ALBUMS', $_GET); } } } if ($newurl) { vbseo_safe_redirect($newurl, array('u', 'albumid', 'pictureid', 'commentid', 'page')); } } else { if ((VBSEO_REWRITE_MEMBERS || VBSEO_REWRITE_GROUPS) && VBSEO_BASEURL == 'picture.' . VBSEO_VB_EXT && !isset($_GET['do']) && isset($_GET['pictureid'])) { if (VBSEO_REWRITE_MEMBERS && isset($_GET['albumid'])) { $found_object_ids['pic'][] = $_GET['pictureid']; vbseo_get_object_info('pic'); $found_object_ids['album'][] = $_GET['albumid']; vbseo_get_object_info('album'); vbseo_get_user_info(array($vbseo_gcache['album'][$_GET['albumid']]['userid'])); $newurl = vbseo_album_url('VBSEO_URL_MEMBER_PICTURE_IMG', $_GET); } if (VBSEO_REWRITE_GROUPS && isset($_GET['groupid'])) { $found_object_ids['pic'][] = $_GET['pictureid']; vbseo_get_object_info('pic'); $found_object_ids['groups'][] = $_GET['groupid']; vbseo_get_group_info($found_object_ids['groups']); $newurl = vbseo_group_url(VBSEO_URL_GROUPS_PICTURE_IMG, $_GET); } if ($newurl) { vbseo_safe_redirect($newurl, array(), true); } } else { if (VBSEO_REWRITE_ANNOUNCEMENT && VBSEO_BASEURL == 'announcement.' . VBSEO_VB_EXT && !isset($_GET['do'])) { define('THIS_SCRIPT', 'announcement');
function make_crawlable(&$newtext) { if (!VBSEO_ENABLED && !isset($_COOKIE['VBSEO_ON_MORE'])) { return $newtext; } if (VBSEO_IGNOREPAGES && (preg_match('#(' . VBSEO_IGNOREPAGES . ')#i', VBSEO_REQURL) || preg_match('#(' . VBSEO_IGNOREPAGES . ')#i', VBSEO_BASE))) { return $newtext; } @define('VBSEO_PROCESS', true); error_reporting(0); vbseo_addon_function('postprocess', $newtext); restore_error_handler(); global $vboptions, $vbulletin, $bbuserinfo, $_COOKIE, $HTTP_COOKIE_VARS; global $vbseo_gcache, $seo_preg_replace, $seo_links_replace, $tempusagecache, $threadcache, $usercache, $found_object_ids; if (isset($_COOKIE['VBSEO_EXPOSE_MORE'])) { Header('X-Processed-By: vBSEO ' . VBSEO_VERSION2_MORE . ' (http://www.vbseo.com)'); } if (VBSEO_CLEANUP_REDIRECT) { $vbseo_non_clean = array('styleid' => array(), 'view' => array('hybrid', 'threaded', 'linear'), 'mode' => array('hybrid', 'threaded', 'linear')); if (THIS_SCRIPT == 'member') { $vbseo_non_clean['do'] = array('getinfo'); } foreach ($vbseo_non_clean as $vbseo_nn => $vbseo_nnopt) { if (isset($_GET[$vbseo_nn]) && (!$vbseo_nnopt || in_array($_GET[$vbseo_nn], $vbseo_nnopt))) { vbseo_safe_redirect(VBSEO_REQURL, array_keys($vbseo_non_clean)); } } } vbseo_get_options(); if (defined('VBSEO_EXPIRED_MORE_LICENSE') || isset($_COOKIE['VBSEO_OFF_MORE']) || isset($_GET['VBSEO_OFF_MORE'])) { return $newtext; } if (VBSEO_LASTMOD_HEADER) { $isloggedin = $bbuserinfo['userid'] <= 0 ? '' : 'yes'; $isloggedin_changed = !isset($_COOKIE['vbseo_loggedin']) || $_COOKIE['vbseo_loggedin'] != $isloggedin; if ($isloggedin_changed) { setcookie('vbseo_loggedin', $isloggedin, $isloggedin ? time() + 3600 : time() - 3600, '/'); } if (!$isloggedin && THIS_SCRIPT == 'showthread') { $lmdate_txt = gmdate('D, d M Y H:i:s', $GLOBALS['vbseo_lastmod'] ? $GLOBALS['vbseo_lastmod'] : time() - 3) . ' GMT'; @header('Last-Modified: ' . $lmdate_txt); if (!VBSEO_IS_ROBOT) { $newtext = str_replace('</head>', "\n<script type=\"text/javascript\"><!--\nfunction vbseo_cache_check()\n{\nif(document.cookie.indexOf('vbseo_loggedin=yes')>0 && \ndocument.cookie.indexOf('vbseo_redirect=yes')<0)\n{\ndocument.cookie = 'vbseo_redirect=yes; path=/';\ndocument.location.reload(true);\n}\n}\nsetTimeout('vbseo_cache_check()', 5); \n//-->\n</script>\n</head>\n", $newtext); } } if ($_COOKIE['vbseo_redirect']) { setcookie('vbseo_redirect', '', time() - 3600, '/'); } } vbseo_check_stripsids(); vbseo_prepare_seo_replace(); if (isset($GLOBALS['vbseo_find_pids']) && $GLOBALS['vbseo_find_pids']) { vbseo_get_posts_info($GLOBALS['vbseo_find_pids']); } foreach ($vbseo_gcache['post'] as $pid => $pv) { $found_object_ids['postthreads'][] = $pv['threadid']; } vbseo_find_ids($newtext); $vbseo_gcache['thread'] = array(); vbseo_get_forum_info(true); if (VBSEO_SITEMAP_MOD && VBSEO_IS_ROBOT) { vbseo_hit_log(); } global $VBSEO_REWRITE_TEXTURLS; if (!$VBSEO_REWRITE_TEXTURLS) { define('VBSEO_SHOW_COPYRIGHT', !isset($tempusagecache['STANDARD_REDIRECT']) && !isset($tempusagecache['WHOPOSTED']) && !isset($tempusagecache['ATTACHMENTS']) && !isset($tempusagecache['SHOWTHREAD_SHOWPOST']) && !isset($tempusagecache['BUDDYLIST']) && !isset($tempusagecache['smiliepopup']) && !isset($tempusagecache['reputation']) && !isset($tempusagecache['im_message']) && !isset($tempusagecache['newattachment']) && THIS_SCRIPT != 'blunts_whodownloaded_ip'); } if (!$VBSEO_REWRITE_TEXTURLS) { if (VBSEO_SHOW_COPYRIGHT && !defined('VBSEO_BRANDING_FREE')) { if (VBSEO_COPYRIGHT == 0) { $vbseo_host = VBSEO_HTTP_HOST; $vbseo_cpno = ord($vbseo_host[strlen($vbseo_host) / 2]) + strlen($vbseo_host); $vbseo_cpno = $vbseo_cpno % 4; } else { $vbseo_cpno = VBSEO_COPYRIGHT - 1; } $vbseo_cpa = array('Search Engine Friendly URLs by vBSEO ' . VBSEO_VERSION2_MORE, 'Content Relevant URLs by vBSEO ' . VBSEO_VERSION2_MORE, 'Search Engine Optimization by vBSEO ' . VBSEO_VERSION2_MORE, 'SEO by vBSEO ' . VBSEO_VERSION2_MORE, 'Search Engine Friendly URLs by vBSEO ' . VBSEO_VERSION2_MORE . ' ©2008, Crawlability, Inc.', 'Content Relevant URLs by vBSEO ' . VBSEO_VERSION2_MORE . ' ©2008, Crawlability, Inc.', 'Search Engine Optimization by vBSEO ' . VBSEO_VERSION2_MORE . ' ©2008, Crawlability, Inc.', 'SEO by vBSEO ' . VBSEO_VERSION2_MORE . ' ©2008, Crawlability, Inc.', 'LinkBacks Enabled by vBSEO ' . VBSEO_VERSION2_MORE, 'LinkBacks Enabled by vBSEO ' . VBSEO_VERSION2_MORE . ' © 2008, Crawlability, Inc.'); $vbseo_cpno = $vbseo_cpno % count($vbseo_cpa); $cp_str = $vbseo_cpa[$vbseo_cpno]; $clinked = !strstr($cp_str, '©'); if (VBSEO_NOVER_INFO) { $cp_str = str_replace(' ' . VBSEO_VERSION2_MORE, '', $cp_str); } if (VBSEO_AFFILIATE_ID) { $cp_str = str_replace($clinked ? 'vBSEO' : $cp_str, '<a href="http://www.vbseo.com/' . VBSEO_AFFILIATE_ID . '/">' . ($clinked ? 'vBSEO' : $cp_str) . '</a>', $cp_str); } else { if ($clinked) { $cp_str = str_replace('vBSEO', '<a href="http://www.crawlability.com/vbseo/">vBSEO</a>', $cp_str); } } if (defined('VBSEO_UNREG')) { $cp_str .= ' (<span style="color:red;font-weight:bold;">' . (preg_match('#^vresp(.*)#', $vboptions['vbseo_confirmation_code'], $unregpm) ? $unregpm[1] : 'Unregistered') . '</span>)'; } $lfollow = THIS_SCRIPT == 'index' || THIS_SCRIPT == 'adv_index'; if (!$lfollow) { $cp_str = str_replace('<a', '<a rel="nofollow"', $cp_str); } if (VBSEO_GOOGLE_AD_SEC) { $cp_str = vbseo_google_ad_section($cp_str, true); } if (strstr($newtext, '<!--VBSEO_COPYRIGHT-->')) { $newtext = str_replace('<!--VBSEO_COPYRIGHT-->', $cp_str, $newtext); } else { if (preg_match('#(Copyright[^<]*?Jelsoft Enterprises Ltd\\.)#im', $newtext, $cpfind)) { $newtext = str_replace($cpfind[1], $cpfind[1] . "\n<br />" . $cp_str, $newtext); } else { $newtext = preg_replace('#(</body>)#is', '<br /><div style="z-index:3" class="smallfont" align="center">' . $cp_str . '</div>\\1', $newtext, 1); } } } } if (VBSEO_SHOW_COPYRIGHT && VBSEO_ARCHIVE_LINKS_FOOTER && THIS_SCRIPT != 'archive') { if (VBSEO_ARCHIVE_LINKS_FOOTER < 3 || !$bbuserinfo['joindate']) { $arc_str = vbseo_prepare_arc_links(); if (strstr($newtext, '<!--VBSEO_ARCHIVE_LINKS-->')) { $newtext = str_replace('<!--VBSEO_ARCHIVE_LINKS-->', $arc_str, $newtext); } else { $newtext = preg_replace('#(</body>)#is', '<br /><div style="z-index:3" class="smallfont" align="center">' . $arc_str . '</div>\\1', $newtext); } } } if (defined('VBSEO_UNREG_EXPIRED')) { return $newtext; } if (VBSEO_CODE_CLEANUP && !isset($_GET['vbseo_nocleanup']) && !$_POST['ajax'] && !$VBSEO_REWRITE_TEXTURLS) { $newtext = preg_replace(array('#(<pre[^>]*?>)(.*?)</pre>#sie', '#>\\s+<#s', '#(<s(?:cript|tyle)[^>]*?>[^<]*?<!)--#si', '#<!--(\\s*(\\[|VBS|google_ad))#s', '#<!--.*?-->#s', '#<!js#', '#\\@vbseo_r_n\\@#'), array("str_replace('\\\\\"', '\"', '\$1'.preg_replace(\"#\r?\n#s\",'@vbseo_r_n@','\$2').'\$3')", '> <', '\\1js', '<!js\\1', '', '<!--', "\n"), $newtext); } if ($found_object_ids['announcements']) { vbseo_clean_object_ids('announcements'); vbseo_get_forum_announcement($found_object_ids['announcements']); } vbseo_clean_object_ids('poll_ids'); vbseo_get_poll_info($pollids); if (VBSEO_REWRITE_ATTACHMENTS) { vbseo_clean_object_ids('attachment_ids'); vbseo_get_attachments_info($found_object_ids['attachment_ids']); } if ($found_object_ids['thread_ids'] || $found_object_ids['postthreads']) { $found_object_ids['thread_ids'] = array_merge($found_object_ids['thread_ids'], $found_object_ids['postthreads']); vbseo_clean_object_ids('thread_ids'); if ($threadcache) { $vbseo_gcache['thread'] = array(); foreach ($threadcache as $tid => $tar) { $vbseo_gcache['thread'][$tar['threadid'] ? $tar['threadid'] : $tid] = $tar; if ($found_object_ids['thread_last'] && in_array($tar['threadid'], $found_object_ids['thread_last'])) { $found_object_ids['user_names'][] = $tar['lastposter']; } } $found_object_ids['thread_ids'] = array_diff($found_object_ids['thread_ids'], array_keys($threadcache)); foreach ($vbseo_gcache['thread'] as $tid => $tar) { $vbseo_gcache['thread'][$tid]['seotitle'] = vbseo_filter_replace_text($tar['title'] ? $tar['title'] : $tar['threadtitle']); $usercache[$tar['postuserid']] = array('userid' => $tar['postuserid'], 'username' => $tar['postusername']); if ($tar['pollid']) { $vbseo_gcache['polls'][$tar['pollid']]['threadid'] = $tid; } } } if (isset($GLOBALS['getlastpost'])) { $vbseo_gcache['thread'][$GLOBALS['getlastpost']['threadid']] = $GLOBALS['getlastpost']; } vbseo_get_thread_info($found_object_ids['thread_ids']); } if ($found_object_ids['prepostthread_ids']) { vbseo_get_post_thread_info($found_object_ids['prepostthread_ids'], true); } if (VBSEO_REWRITE_GROUPS) { if (is_array($GLOBALS['group']) && $GLOBALS['group']['groupid']) { $vbseo_gcache['groups'][$GLOBALS['group']['groupid']] = $GLOBALS['group']; } $found_object_ids['groups'] = array_diff($found_object_ids['groups'], array_keys($vbseo_gcache['groups'])); vbseo_get_group_info($found_object_ids['groups']); } if (VBSEO_REWRITE_BLOGS) { global $categories, $postattach; if ($found_object_ids['blog_ids']) { vbseo_get_blog_info($found_object_ids['blog_ids']); } if (isset($vbulletin->vbblog['categorycache'])) { foreach ($vbulletin->vbblog['categorycache'] as $uid => $catarr) { if (is_array($catarr)) { foreach ($catarr as $cid => $carr) { $vbseo_gcache['blogcat'][$cid] = $carr; } } } } $vblog_cats = $GLOBALS['vblog_categories'] ? $GLOBALS['vblog_categories'] : $GLOBALS['categories']; if (is_array($vblog_cats)) { foreach ($vblog_cats as $bid => $catarr) { if (is_array($catarr)) { foreach ($catarr as $cid => $carr) { if ($carr['blogcategoryid']) { $vbseo_gcache['blogcat'][$carr['blogcategoryid']] = $carr; } } } } } $found_object_ids['blogcat_ids'] = array_diff($found_object_ids['blogcat_ids'], array_keys($vbseo_gcache['blogcat'])); if ($found_object_ids['blogcat_ids']) { vbseo_get_blog_cats($found_object_ids['blogcat_ids']); } if (isset($vbseo_gcache['blog']) && is_array($vbseo_gcache['blog'])) { foreach ($vbseo_gcache['blog'] as $bid => $barr) { $found_object_ids['user_ids'][] = $barr['userid']; } } if (is_array($postattach)) { foreach ($postattach as $pid => $attarr) { if (is_array($attarr)) { foreach ($attarr as $aid => $att) { $vbseo_gcache['battach'][$aid] = $att; } } } } if ($found_object_ids['blogatt_ids']) { vbseo_get_blogatt_info($found_object_ids['blogatt_ids']); } } if (is_array($gpic = $GLOBALS['pictureinfo'])) { $vbseo_gcache['pic'][$gpic['pictureid']] = $gpic; } vbseo_get_object_info('pic'); if (VBSEO_REWRITE_MEMBERS || VBSEO_REWRITE_AVATAR) { if (!empty($found_object_ids['user_ids']) || !empty($found_object_ids['user_names'])) { if (is_array($vbseo_gcache['pic'])) { foreach ($vbseo_gcache['pic'] as $pid => $parr) { $found_object_ids['album'][] = $parr['albumid']; } } if (is_array($galb = $GLOBALS['albuminfo'])) { $vbseo_gcache['album'][$galb['albumid']] = $galb; } vbseo_get_object_info('album'); if (is_array($vbseo_gcache['album'])) { foreach ($vbseo_gcache['album'] as $pid => $parr) { $found_object_ids['user_ids'][] = $parr['userid']; } } $userids = array_unique($found_object_ids['user_ids']); vbseo_clean_object_ids('user_names'); if (isset($GLOBALS['newuserid'])) { $usercache[$GLOBALS['newuserid']] = array('userid' => $GLOBALS['newuserid'], 'username' => $GLOBALS['newusername']); } if (!empty($usercache)) { foreach ($usercache as $uid => $uval) { if ($uid && ($uname = $uval['username'])) { $vbseo_gcache['user'][$uid] = $vbseo_gcache['usernm'][strtolower($uname)] = array('userid' => $uid, 'username' => $uname); } } } if (!empty($vbseo_gcache['post'])) { foreach ($vbseo_gcache['post'] as $pid => $pval) { if (isset($pval['postuserid']) && ($uid = $pval['postuserid']) && ($uname = $pval['postusername'])) { $vbseo_gcache['user'][$uid] = $vbseo_gcache['usernm'][strtolower($uname)] = array('userid' => $uid, 'username' => $uname); } } } $userids = array_diff($userids, array_keys($vbseo_gcache['user'] ? $vbseo_gcache['user'] : array())); $found_object_ids['user_names'] = array_diff($found_object_ids['user_names'], array_keys($vbseo_gcache['usernm'])); if (VBSEO_GET_MEMBER_TITLES && !empty($userids) || !empty($found_object_ids['user_names'])) { vbseo_get_user_info($userids, $found_object_ids['user_names']); } else { for ($ui = 0; $ui < count($userids); $ui++) { $vbseo_gcache['user'][$userids[$ui]] = array('userid' => $userids[$ui]); } } } } $vbse_rurl = $vbse_rurl_check = ''; $force_redirect = false; vbseo_get_options(); $mode_nonlinear = vbseo_is_threadedmode(); if (!$mode_nonlinear && VBSEO_THREAD_301_REDIRECT && (VBSEO_REWRITE_THREADS && THIS_SCRIPT == 'showthread' || VBSEO_REWRITE_PRINTTHREAD && THIS_SCRIPT == 'printthread') && !isset($_GET[VBSEO_PAGENUM_URI_GARS]) && (!isset($_GET['goto']) && ($thisthreadid = $_GET['t']) || defined('VBSEO_PRIVATE_REDIRECT_THREAD') && ($thisthreadid = VBSEO_PRIVATE_REDIRECT_THREAD))) { vbseo_get_thread_info($thisthreadid); $tinfo = $vbseo_gcache['thread'][$thisthreadid]; $thisforumid = $tinfo['forumid']; if (function_exists('fetch_permissions')) { if (!$vbulletin->userinfo['userid']) { $vbseo_gcache['forum'][$thisforumid]['permissions'][1] = fetch_permissions($thisforumid); } } $is_public = vbseo_forum_is_public($vbseo_gcache['forum'][$thisforumid], '', 1); if ($is_public) { $maxpage = vbseo_thread_pagenum($tinfo['replycount'] + 1); $_page = isset($_GET['page']) ? intval($_GET['page']) : 0; if (defined('VBSEO_PRIVATE_REDIRECT_URL')) { $vbse_rurl = VBSEO_PRIVATE_REDIRECT_URL; } else { $vbse_rurl = vbseo_thread_url($thisthreadid, min($_page, $maxpage), $_page > 1 ? THIS_SCRIPT == 'showthread' ? VBSEO_URL_THREAD_PAGENUM : VBSEO_URL_THREAD_PRINT_PAGENUM : (THIS_SCRIPT == 'showthread' ? VBSEO_URL_THREAD : VBSEO_URL_THREAD_PRINT)); } $excpars = array(VBSEO_THREADID_URI, 'threadid', 'page', isset($_GET['pp']) && $_GET['pp'] == $vboptions['maxposts'] ? 'pp' : '', 'posted'); if ($_REQUEST['posted']) { $force_redirect = true; } } } if (THIS_SCRIPT == 'forumdisplay') { if ($_REQUEST['page'] && $GLOBALS['pagenumber'] && $_REQUEST['page'] != $GLOBALS['pagenumber']) { $vbse_rurl = vbseo_forum_url($_GET['f'], $GLOBALS['pagenumber']); } if ($vbse_rurl) { $excpars = array('f', 'page'); } } if ((VBSEO_REWRITE_BLOGS || VBSEO_REWRITE_BLOGS_ENT) && THIS_SCRIPT == 'blog') { if (VBSEO_REWRITE_BLOGS_LIST && $_GET['do'] == 'list' && $_REQUEST['page'] && $_REQUEST['page'] != $_REQUEST['pagenumber']) { $vbse_rurl = vbseo_blog_url($_GET['m'] ? VBSEO_URL_BLOG_MONTH_PAGE : VBSEO_URL_BLOG_LIST_PAGE, $_GET); $excpars = array('do', 'page', 'm', 'y'); } if ((($bid = $_GET['b']) || ($bid = $_GET['blogid'])) && (!$_GET['goto'] || in_array($_GET['goto'], array('next', 'prev')))) { if ($_GET['goto']) { if ($GLOBALS['blogid'] != $bid) { $bid = $_GET['b'] = $GLOBALS['blogid']; } else { $bid = 0; } } if ($bid && VBSEO_REWRITE_BLOGS_ENT) { vbseo_get_blog_info($bid); if ($vbseo_gcache['blog'][$bid]['title']) { $vbse_rurl = vbseo_blog_url(vbseo_vb_gpc('pagenumber') > 1 ? VBSEO_URL_BLOG_ENTRY_PAGE : VBSEO_URL_BLOG_ENTRY, $_GET); } $excpars = array('b'); } } if (VBSEO_REWRITE_BLOGS_ENT && $_REQUEST['do'] == 'blog' && !$_REQUEST['b'] && $_REQUEST['bt'] && $GLOBALS['blogid']) { $vbse_rurl = vbseo_blog_url(vbseo_vb_gpc('pagenumber') > 1 ? VBSEO_URL_BLOG_ENTRY_PAGE : VBSEO_URL_BLOG_ENTRY, array('b' => $GLOBALS['blogid'], 'page' => vbseo_vb_gpc('pagenumber'))); $excpars = array('bt', 'page'); $vbse_rurl .= '#comment' . $_REQUEST['bt']; } if ($_GET['u'] && $_GET[VBSEO_BLOG_CATID_URI] && VBSEO_REWRITE_BLOGS_CAT) { $vbse_rurl = vbseo_blog_url($_GET['page'] ? VBSEO_URL_BLOG_CAT_PAGE : VBSEO_URL_BLOG_CAT, $_GET); $excpars = array('u', VBSEO_BLOG_CATID_URI); } } if (VBSEO_REWRITE_MEMBERS && THIS_SCRIPT == 'album' && !isset($_GET['do'])) { if (isset($_GET['pictureid'])) { $vbse_rurl = vbseo_album_url($_GET['page'] > 1 ? 'VBSEO_URL_MEMBER_PICTURE_PAGE' : 'VBSEO_URL_MEMBER_PICTURE', $_GET); $excpars = array('albumid', 'pictureid', 'page'); } } if (VBSEO_REWRITE_TAGS && THIS_SCRIPT == 'tags' && $_GET['tag']) { $apars = $_GET; $apars['tag'] = urlencode($apars['tag']); $vbse_rurl = vbseo_tags_url($apars['page'] ? VBSEO_URL_TAGS_ENTRYPAGE : VBSEO_URL_TAGS_ENTRY, $apars); $excpars = array('tag', 'page'); } if (!$vbse_rurl) { $vbse_rurl2 = ''; $auto_replace = array('group' => array('groupid', 'do', 'pp', 'page', 'pictureid', 'gmid', 'sort', 'order'), 'tags' => array('tag')); if (in_array(THIS_SCRIPT, array_keys($auto_replace))) { $vbse_rurl2 = vbseo_any_url(VBSEO_REQURL); $excpars = $auto_replace[THIS_SCRIPT]; } if (preg_match('#^(.*)\\?(.*)#', $vbse_rurl2, $pmatch)) { $_SERVER['QUERY_STRING'] = $pmatch[2]; $vbse_rurl2 = $pmatch[1]; } $vbse_rurl = $vbse_rurl2; } if ($vbse_rurl) { vbseo_url_autoadjust($vbse_rurl, $excpars, $force_redirect); } if (defined('VBSEO_PRIVATE_REDIRECT_SUGGEST')) { global $foruminfo; $thisforumid = $foruminfo['forumid']; if (function_exists('fetch_permissions')) { if (!$vbulletin->userinfo['userid']) { $vbseo_gcache['forum'][$thisforumid]['permissions'][1] = fetch_permissions($thisforumid); } } $is_public = vbseo_forum_is_public($vbseo_gcache['forum'][$thisforumid], '', 1); if ($is_public) { if (VBSEO_PRIVATE_REDIRECT_SUGGEST != substr(VBSEO_REQURL, 0, strlen(VBSEO_PRIVATE_REDIRECT_SUGGEST))) { vbseo_safe_redirect(VBSEO_PRIVATE_REDIRECT_SUGGEST, array(), true); } } } if (VBSEO_BASEDEPTH) { if (preg_match('#<base href="([^\\"]*)#i', $newtext, $pm)) { if (preg_replace('#/[^/]*$#', '', $pm[1]) == $vboptions['bburl2']) { define('VBSEO_BASEHREF_INDIR', 1); } } } if (VBSEO_BASEDEPTH && defined('VBSEO_PREPROCESSED')) { $newtext = preg_replace('#<head>#i', "\$0\n" . '<base href="' . $vboptions['bburl2'] . (defined('VBSEO_BASE_URL') ? VBSEO_BASE_URL : '') . '/" />', $newtext, 1); } if (isset($VBSEO_REWRITE_TEXTURLS)) { $newtext = preg_replace('#(' . str_replace('tps\\:', 'tps?\\:', preg_quote($vboptions['bburl2'], '#')) . '/?)([^<\\]\\[\\"\\)\\s]*)#ise', 'vbseo_replace_urls("$1", "$2")', $newtext); } if ($GLOBALS['vbseo_proc_xml']) { $newtext = preg_replace('#(<link>(?:\\<\\!\\[CDATA\\[)?)([^<\\]]*)#ise', 'vbseo_replace_urls("$1", "$2")', $newtext); } if (1) { $newtext = preg_replace('#(value="(?:\\[.*?\\])?)(' . preg_quote($vboptions['bburl2'], '#') . '/?)([^<\\]\\[\\"\\)\\s]*)#ise', 'stripslashes(\'$1\').vbseo_replace_urls("", "$2$3")', $newtext); } if (!isset($VBSEO_REWRITE_TEXTURLS)) { $r_tags = 'a|span'; if (VBSEO_ABSOLUTE_PATH_IN_URL) { $r_tags .= '|form|script|link'; } if (VBSEO_ABSOLUTE_PATH_IN_URL || VBSEO_REWRITE_ATTACHMENTS || VBSEO_REWRITE_AVATAR) { $r_tags .= '|img'; } $r_tattr = 'href|src|action|url|\\.open|\\.location'; $newtext = preg_replace('#(<(?:' . $r_tags . ')([^>]*?)(?:' . $r_tattr . ')\\s*[=\\(]\\s*["\'])([^"\'>\\)]*)(.*?[\\>\\);])([^<]*)(</a>)?#ise', "vbseo_replace_urls('\$1', '\$3', '\$2', '\$4', '\$5', '\$6')", $newtext); global $g_replace_cache; if (!defined('VBSEO_AJAX') && isset($g_replace_cache)) { unset($g_replace_cache); } if (strpos($_SERVER['REQUEST_URI'], 'printthread.' . VBSEO_VB_EXT) !== false) { $obb = $vboptions['relbburl']; $vboptions['relbburl'] = $vboptions['bburl2']; $GLOBALS['VBSEO_REWRITE_PRINTTHREAD'] = 1; $newtext = preg_replace('#(\\([^\\)]*?(?:http://)?[^\\)]*?)(' . preg_quote($vboptions['bburl2'], '#') . '/[^<\\)]*)#ise', 'vbseo_replace_urls("$1", "$2")', $newtext); $vboptions['relbburl'] = $obb; } } if (VBSEO_ADD_ANALYTICS_CODE && VBSEO_ADD_ANALYTICS_CODE_EXT) { $tmode = isset($_REQUEST['mode']) ? $_REQUEST['mode'] : vbseo_bbarray_cookie('threadedmode'); if (!$tmode) { $tmode = $bbuserinfo["threadedmode"] ? 'threaded' : ''; } if ($tmode == 'threaded') { $newtext = preg_replace('#^(\\s*pd\\[\\d+\\] = )\'(.+)$#me', '"$1\'".preg_replace("#(pageTracker\\._trackPageview \\()\'(.*?)\'#","\\$1\\\'\\$2\\\'", str_replace("\\\'","\'","$2"))', $newtext); } } $ticonurl = str_replace('.gif', '', VBSEO_TREE_ICON); if (VBSEO_REWRITE_TREE_ICON && strpos($newtext, $ticonurl) !== false) { if (preg_match('#' . $ticonurl . '(_...)?[^>]+?alt="([^"]+)"#', $newtext, $matches)) { $currentdir = $matches[1]; $currentalt = $matches[2]; } $ticonurl_full = $ticonurl . $currentdir . '.gif'; $ticon_format = str_replace('.gif', $currentdir . '.gif', VBSEO_URL_THREAD_TREE_ICON); $ficon_format = str_replace('.gif', $currentdir . '.gif', VBSEO_URL_FORUM_TREE_ICON); $url = $_SERVER['REQUEST_URI']; if ($tempusagecache['FORUMDISPLAY']) { if (preg_match('#' . VBSEO_FORUMID_URI . '=(\\d+)#', $url, $matches)) { $forumid = $matches[1]; $thisforum =& $vbseo_gcache['forum'][$forumid]; $newtext = str_replace($ticonurl_full, vbseo_forum_url($forumid, 0, VBSEO_ICON_PREFIX . $ficon_format), $newtext); $newtext = str_replace($currentalt, str_replace('"', '"', $thisforum['title']), $newtext); } } else { if ($tempusagecache['SHOWTHREAD']) { reset($vbseo_gcache['thread']); list($threadid, $thisthread) = each($vbseo_gcache['thread']); $newtext = str_replace($ticonurl_full, vbseo_thread_url($threadid, 0, VBSEO_ICON_PREFIX . $ticon_format), $newtext); $newtext = str_replace($currentalt, str_replace('"', '"', $thisthread['title']), $newtext); } } } if (THIS_SCRIPT == 'showthread' && VBSEO_REWRITE_THREADS && $GLOBALS['threadedmode']) { preg_match_all('#writeLink\\(\\s*(\\d+)#', $newtext, $posts); reset($vbseo_gcache['thread']); list($threadid, $thisthread) = each($vbseo_gcache['thread']); $gen_post_url = vbseo_thread_url($threadid, 1, VBSEO_URL_THREAD_GOTOPOST, "' + postid + '"); $newtext = preg_replace('#(</body>)#is', ' <script type="text/javascript"> var plist = new Array("' . implode('","', $posts[1]) . '") for(var i=0;i<plist.length;i++){ postid = plist[i] postel = document.getElementById(\'div\'+postid) if(postel){ newurl = \'' . $gen_post_url . '\' postel.innerHTML = postel.innerHTML.replace(\'showthread.' . VBSEO_VB_EXT . '?' . (VBSEO_VB35X ? 'p' : 'postid') . '=\'+postid, newurl); } } </script> \\1', $newtext); } $vbseo_fp = ''; if (VBSEO_REWRITE_META_DESCRIPTION || VBSEO_REWRITE_META_KEYWORDS) { $kw_content = $desc_content = ''; switch (THIS_SCRIPT) { case 'member': $ui =& $GLOBALS['usercache'][$_GET['u']]; $kw_content = $ui['username']; $desc_content = str_replace(array('[username]', '[usertitle]', '[bb_title]', '[bbtitle]'), array($ui['username'], $ui['usertitle'], $vboptions['bbtitle'], $vboptions['bbtitle']), VBSEO_META_DESCRIPTION_MEMBER); $desc_content = @preg_replace('#\\[user_field_(\\d+)\\]#e', '$ui[\'field\'.\'$1\']', $desc_content); break; case 'forumdisplay': $fi =& $GLOBALS['forumcache'][$_GET['f']]; $kw_content = $fi['title']; $kw_content = preg_replace('#[^a-zA-Z0-9_\\x80-\\xff]+#', ',', $kw_content); $desc_content = $fi['title'] . ($_GET['page'] ? ', Page ' . $_GET['page'] : '') . (isset($fi['description']) ? ' - ' . $fi['description'] : ''); break; case 'showpost': case 'showthread': if (VBSEO_REWRITE_META_DESCRIPTION) { $desc_content = vbseo_extract_msg_postbits(); } if (VBSEO_REWRITE_META_KEYWORDS && ($tbits = $GLOBALS['threadinfo']['title'])) { if (VBSEO_FILTER_STOPWORDS != 0 && VBSEO_STOPWORDS) { $tbits = preg_replace('#\\b(' . VBSEO_STOPWORDS . ')\\b#is', '', $tbits); } preg_match_all('#([a-zA-Z0-9_\\x80-\\xff]+)#s', $tbits, $ptext); $kw_content = implode(',', $ptext[1]); } break; case 'blog': if (VBSEO_REWRITE_META_DESCRIPTION && ($desc_content = $GLOBALS['blog']['message'])) { $desc_content = preg_replace('#(<.*?>)+#s', ' ', $desc_content); $desc_content = trim($desc_content); } if (VBSEO_REWRITE_META_KEYWORDS && ($tbits = $GLOBALS['blog']['title'])) { if (VBSEO_FILTER_STOPWORDS != 0 && VBSEO_STOPWORDS) { $tbits = preg_replace('#\\b(' . VBSEO_STOPWORDS . ')\\b#is', '', $tbits); } preg_match_all('#([a-zA-Z0-9_\\x80-\\xff]+)#s', $tbits, $ptext); $kw_content = implode(',', $ptext[1]); } break; } if (VBSEO_REWRITE_META_KEYWORDS && $kw_content) { $kw_content = strip_tags($kw_content); if (VBSEO_STOPWORDS) { $kw_content = preg_replace('#,?\\b(' . VBSEO_STOPWORDS . ')\\b#i', '', $kw_content); } $newtext = preg_replace('#(<meta name="keywords".*?content=)"#is', '$1"' . str_replace('$', '\\$', $kw_content) . ',', $newtext); } if (VBSEO_REWRITE_META_DESCRIPTION && $desc_content) { $desc_content = strip_tags($desc_content); $desc_content = preg_replace('#[\\s\\"]+#s', ' ', $desc_content); if (strlen($desc_content) > VBSEO_META_DESCRIPTION_MAX_CHARS) { $desc_content = vbseo_substr($desc_content, 0, VBSEO_META_DESCRIPTION_MAX_CHARS + 1); $desc_content = preg_replace('#\\s+\\w+$#', '', $desc_content); } $newtext = preg_replace('#(<meta name="description".*?content=)"[^"]*#is', '$1"' . str_replace('$', '\\$', str_replace('"', '"', $desc_content)), $newtext); } } if ($GLOBALS['vbseo_meta']) { foreach ($GLOBALS['vbseo_meta'] as $metaname => $metacont) { $newtext = preg_replace('#(<meta name="' . $metaname . '".*?content=)"[^"]*#is', '$1"' . str_replace('$', '\\$', htmlspecialchars($metacont)), $newtext); } } if (!$GLOBALS['bbuserinfo']['badlocation'] && (THIS_SCRIPT == 'forumdisplay' && ($vbseo_rr = $GLOBALS['vbseo_relev_replace']) && $GLOBALS['foruminfo']['forumid'] || THIS_SCRIPT == 'showthread' && ($vbseo_rr = $GLOBALS['vbseo_relev_replace_t']) && $GLOBALS['threadinfo']['title'])) { $parent_forum = $vbseo_gcache['forum'][$GLOBALS['foruminfo']['parentid']]; $vbseo_rrepl = array('[thread_title]' => $GLOBALS['threadinfo']['title'], '[forum_description]' => $GLOBALS['foruminfo']['description'], '[forum_title]' => $GLOBALS['foruminfo']['title'], '[parent_forum_description]' => $parent_forum['description'], '[parent_forum_title]' => $parent_forum['title'], '[bb_title]' => $vboptions['bbtitle'], '[default_keywords]' => $vboptions['keywords'], '[username]' => $GLOBALS['userinfo']['username'], '[thread_page]' => $_GET['page']); $vbseo_pn = 0; foreach ($vbseo_rr as $rr) { $vbseo_pn++; if ($rr) { $rr = str_replace(array_keys($vbseo_rrepl), array_values($vbseo_rrepl), $rr); if (preg_match('#\\[first_post_(\\d+)_words\\]#', $rr, $fp_m)) { if (!$vbseo_fp) { $vbseo_fp = vbseo_extract_msg_postbits(); } $rr = str_replace('[first_post_' . $fp_m[1] . '_words]', preg_replace('#^\\s*((\\S+\\s+){' . $fp_m[1] . '}).*$#' . (VBSEO_UTF8_SUPPORT ? 'u' : '') . 's', '\\1', $vbseo_fp), $rr); } $rr2 = VBSEO_GOOGLE_AD_SEC ? vbseo_google_ad_section($rr) : $rr; $newtext = str_replace('<!--VBSEO_RR_' . $vbseo_pn . '-->', $rr2, $newtext); $newtext = str_replace('<!--VBSEO_RR_' . $vbseo_pn . '_NOHTML-->', $rr, $newtext); } } } if ($seo_preg_replace && !VBSEO_ACRONYMS_IN_CONTENT) { $newtext = preg_replace(array_keys($seo_preg_replace), $seo_preg_replace, $newtext); } if (VBSEO_ADD_ANALYTICS_CODE && VBSEO_ANALYTICS_CODE) { global $display; $track_url = $more_tracking = ''; if (THIS_SCRIPT == 'search' && $_REQUEST['do'] == 'showresults' && $display['highlight']) { $track_url = 'search.php?q=' . urlencode(implode(' ', $display['highlight'])); } if ($isloggedin_changed) { $more_tracking .= "\n" . 'pageTracker._setVar("' . ($bbuserinfo['userid'] > 0 ? 'member' : 'guest') . '");'; } if (THIS_SCRIPT == 'register') { $vbseo_goal = $_REQUEST['do']; if ($_GET['a'] == 'act') { $vbseo_goal = 'complete'; } if ($GLOBALS['templatename'] == 'register_verify_age') { $vbseo_goal = 'birthday'; } $vbseo_goal_pages = array('coppaform' => 'coppaform.html', 'birthday' => 'enter-birthday.html', 'signup' => 'agreement.html', 'register' => 'regform-show.html', 'addmember' => 'regform-submit.html', 'complete' => 'registration-complete.html'); if (isset($vbseo_goal_pages[$vbseo_goal])) { $more_tracking .= "\n" . 'pageTracker._trackPageview("' . VBSEO_ANALYTICS_GOAL_PATH . $vbseo_goal_pages[$vbseo_goal] . '");'; } } $newtext = preg_replace('#(</body>)#is', ' <script type="text/javascript"><!-- var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src=\'" + gaJsHost + "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E")); //--> </script> <script type="text/javascript"><!-- var pageTracker = _gat._getTracker("' . VBSEO_ANALYTICS_CODE . '"); pageTracker._initData(); ' . $more_tracking . ' pageTracker._trackPageview(' . ($track_url ? "'{$track_url}'" : "") . '); //--> </script> ' . '\\1', $newtext, 1); } if (VBSEO_LINK && $GLOBALS['bbuserinfo']['isadmin']) { $config_link = ' <div style="position:absolute;z-index:3;width:100%;left:0px;top:8px;text-align:center;"><a style="BACKGROUND: #FFFFFF; padding:5px; FONT-SIZE: 11px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #003399;" href="' . $vboptions['bburl2'] . '/vbseocp.php">Back to vBSEO Config Panel</a></div> '; $newtext = preg_replace('#(<body.*?>)#is', '\\1' . $config_link, $newtext, 1); } /********************************************************************************/ if (!isset($VBSEO_REWRITE_TEXTURLS)) { } return $newtext; }