Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
vRewrite - SEOed URLs for vBulletin Details »»
vRewrite - SEOed URLs for vBulletin
Version: 1.5.1, by Immortal Immortal is offline
Developer Last Online: May 2010 Show Printable Version Email this Page

Version: 3.5.3 Rating:
Released: 01-04-2006 Last Update: 05-15-2006 Installs: 506
Uses Plugins Template Edits
Additional Files  
No support by the author.

About

vRewrite is an advance but simple system to rewrite vB's URLs. The rewrite system uses preg_match_all and str_replace to rewrite the URLs. It will rewrite any URLs that are dynamic ex: showthread.php?t= to /the-forum/title-of-the-forum-id.html. Why? SEs (Search Engines) rate results based on filename. Not only that, but most SEs give a "boost" to static URLs (what we do here) versus dynamic URLs. vRewrite accomplishes both of this, for all URLs that a search engine (or a guest) will see.

Installation

Please download vRewrite.zip and read install.html for more information on how to install it.

Requirements

vRewrite assumes that you are using Apache with the mod_rewrite module enabled, and running vBulletin 3.5.x. However, if you ask for support here on IIS' module or on vBulletin 3.0.x - I will be more then happy to assist you.

Contributions

I would like to thank Chroder and Cole for assisting me release vRewrite. I could not have released it if it wasn't for them.

I would like to thank the following people/boards for helping beta test vRewrite and making it a better product.

Gaming Ultimate, BP Gaming, NBS Designz Cyclez, Hosting-Talk and Forum University.

Copyright

I've spent many hours working and perfecting vRewrite. The only thing I ask you to do is if you use it, please keep the link back. If you wish to put it in your style instead, simply remove or comment out that line. However, if you use vRewrite you MUST link back. That is the only thing I ask.

Known Issues

There are no known issues with the latest release (1.0).

Support / Issues

If you have any problems or discover a bug please post here in this thread. I have also included my email in the install.html email for one-on-one support. The only thing I ask you is please do not post this email address publicly - it is my personal email.

Changelog

1.5 Release - vRewrite 1.5 has become stable, and all users under 1.5 RC3 and 1.0 need to upgrade. Support for 1.0 will no longer be offered, and you will be told simply to upgrade. Please continue to keep all bug and feature suggestions on the bug tracker at:

Code:
http://www.techhelpforum.com/vrewrite
1.1 Release - Several bug fixes, and a few new features. Details here.

03/26/06 - Updated the thread to reflect vRewrite 1.5 Beta links. vRewrite files has NOT changed.

03/11/06 - Updated the thread to take advantage of vB.org's new prefix feature. vRewrite itself has NOT changed.

1.0 Release (02/19/06) - I have released the much awaited 1.0. This is the first stable release of vRewrite. All users now should be safe installing vRewrite. For more information, and how to upgrade, please see here.

1.0 Preview (01/12/06) - I have released a preview version of 1.0. This is the final version before 1.0 is considered stable. I believe everything should work in this new preview, but one bug (see known issues). Please see here for more information and how to upgrade.

01/05/06 - Updated ZIP to include a fix for boards running a table prefix. You do not need to upgrade unless you previously had SQL errors. You can upgrade by importing the product and choose "Allow Overwrite".

Donations

Any donations are very much appreciated! I do this out of my free time and work many hours on it - all for free. Anything to help is always very welcomed

If you use vRewrite, please click Install. This helps you keep track of additional upgrades and shows to me that you care about vRewrite


You may not post vRewrite ZIP or any files contained in the ZIP on any website. You may not also post any support requests/give support on any website other then this one, without my permission. If you do so, you will get a DMCA for copyright infringement. I do not want this spread to pirated users. Please stop piracy and do not share the source outside of this thread and vB.org/com. Thanks.

Support will only be obtained at:
https://vborg.vbsupport.ru/forumdisplay.php?f=182

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #292  
Old 01-25-2006, 10:06 AM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Immortal
Dean never did it himself either he didn't want to or didn't know how.
There were far too many ascii characters to write a replacement.
Reply With Quote
  #293  
Old 01-26-2006, 07:48 AM
El_Muerte's Avatar
El_Muerte El_Muerte is offline
 
Join Date: Nov 2001
Posts: 237
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This gets a long way:
PHP Code:
$stringstrtr($string,  "?????????????????????????????????????????????????????""aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn"); 
Don't know about performance.
Reply With Quote
  #294  
Old 01-26-2006, 12:11 PM
Snake's Avatar
Snake Snake is offline
 
Join Date: Mar 2005
Location: Cleveland, OH
Posts: 3,832
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You must be using a foreign language. Note that this hack will work on English boards only.
Reply With Quote
  #295  
Old 01-26-2006, 06:33 PM
Brandon Sheley's Avatar
Brandon Sheley Brandon Sheley is offline
 
Join Date: Mar 2005
Location: Google Kansas
Posts: 4,678
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

has anyone had this issue I posted here ??

http://www.forumuniversity.com/campu...0&postcount=49
Reply With Quote
  #296  
Old 01-27-2006, 01:27 AM
ChuanSE's Avatar
ChuanSE ChuanSE is offline
 
Join Date: Feb 2003
Posts: 311
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i get a 403 error as soon as the .htaccess file is in place :/

You don't have permission to access /forums/index.php on this server.
Reply With Quote
  #297  
Old 01-27-2006, 04:24 AM
Fender963 Fender963 is offline
 
Join Date: May 2004
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Excellent hack Immortal, one problem though. It's not rewriting my thread urls or my member profile urls. It rewrites the forum ones fine.

www.plantedtank.net/forums/ is my link.

EDIT: After further inspection I noticed the following:
1. It rewrites the url in any forum, for the most recent post.
2. Any post that is not rewritten will give an incorrect url for page 2 of posts. It only does it for page 2, not 3,4,5,32 .... you get the point.

This is very odd behavior.
Reply With Quote
  #298  
Old 01-27-2006, 05:28 AM
Brandon Sheley's Avatar
Brandon Sheley Brandon Sheley is offline
 
Join Date: Mar 2005
Location: Google Kansas
Posts: 4,678
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ChuanSE
i get a 403 error as soon as the .htaccess file is in place :/

You don't have permission to access /forums/index.php on this server.
make sure you edit the htaccess to show /forums


btw,, has anyone else had the issue I'm having ? I'll have to uninstall this untill this is fixed..
Reply With Quote
  #299  
Old 01-28-2006, 11:42 PM
10sion 10sion is offline
 
Join Date: Jul 2005
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey Immortal, I must say thanks for this great hack, it seams to be running great except for one minor thing.

It only SEOs the first thread in every forum... Have any idea why?

Example:

General Forum
>whoa new post! -thread
>who likes cheese? -thread
>sweet! -thread

It only rewrites the first thread (whoa new post!) and not the others. Any quick fix? Thanks a lot.
Reply With Quote
  #300  
Old 01-29-2006, 12:54 AM
in'dira in'dira is offline
 
Join Date: Apr 2005
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello, Can you explain more precisely how and what to make at the time of the 3rd stage of the installation with $headinclude and < bases href="$vboptions[bburl ]/"/> please ?

Thx lot
Reply With Quote
  #301  
Old 01-29-2006, 01:44 AM
Immortal Immortal is offline
 
Join Date: Jul 2005
Location: Cincinnati, OH
Posts: 403
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by 10sion
Hey Immortal, I must say thanks for this great hack, it seams to be running great except for one minor thing.

It only SEOs the first thread in every forum... Have any idea why?

Example:

General Forum
>whoa new post! -thread
>who likes cheese? -thread
>sweet! -thread

It only rewrites the first thread (whoa new post!) and not the others. Any quick fix? Thanks a lot.
It's weird..Try overwritting your code in Plugin Manager->vRewrite under global_complete with this:

PHP Code:
if($vbulletin->options['vRewrite_on'])
{
if(
$vbulletin->options['vRewrite_forumrewrite'] == "2") {
#------------------------------
# Replace Forums
#------------------------------
$found preg_match_all('#<a href="forumdisplay\.php\?f=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT forumid, title FROM " TABLE_PREFIX "forum WHERE forumid IN($ids)");

    while(
$f $vbulletin->db->fetch_array($res))
    {
        
$title urlize($f['title']);
        
$fid $f['forumid'];
        
$title str_replace("-","",$title);

        
$output str_replace("<a href="forumdisplay.php?f=$fid"""<a href="siteforums/$title-$fid.html""$output);
    }


}
    }
#------------------------------
# Replace Forums
#------------------------------
$found preg_match_all('#<a href="forumdisplay\.php\?f=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT forumid, title FROM " TABLE_PREFIX "forum WHERE forumid IN($ids)");

    while(
$f $vbulletin->db->fetch_array($res))
    {
        
$title urlize($f['title']);
        
$fid $f['forumid'];

        
$output str_replace("<a href="forumdisplay.php?f=$fid"""<a href="f-$title-$fid.html""$output);
    }


}
if(
$vbulletin->options['vRewrite_memberrewrite'] == "2") {
#------------------------------
# Replace User
#------------------------------
$found preg_match_all('#member\.php\?u=([0-9]+)#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT userid, username FROM " TABLE_PREFIX "user WHERE userid IN($ids)");

    while(
$u $vbulletin->db->fetch_array($res))
    {
        
$username urlize($u['username']);
        
$uid $u['userid'];

        
$output str_replace("member.php?u=$uid""members/$username-$uid.html"$output);
    }


}
    }
#------------------------------
# Replace User
#------------------------------
$found preg_match_all('#member\.php\?u=([0-9]+)#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT userid, username FROM " TABLE_PREFIX "user WHERE userid IN($ids)");

    while(
$u $vbulletin->db->fetch_array($res))
    {
        
$username urlize($u['username']);
        
$uid $u['userid'];

        
$output str_replace("member.php?u=$uid""u-$username-$uid.html"$output);
    }


}

#------------------------------
# Replace showthread.php?goto=newpost
#------------------------------
$found preg_match_all('#<a href="showthread\.php\?goto=newpost&amp;t=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT threadid, title, forumid FROM " TABLE_PREFIX "thread WHERE threadid IN($ids)");

    while(
$n $vbulletin->db->fetch_array($res))
    {
        
$title urlize($n['title']);
        
$tid $n['threadid'];
        
$fid $n['forumid'];


        
$output str_replace("<a href="showthread.php?goto=newpost&amp;t=$tid"""<a href="$title-$tid-newpost.html""$output);
    }


}

#------------------------------
# Replace Last Post User (Forum)
#------------------------------
$found preg_match_all('#<a href="member\.php\?find=lastposter&amp;f=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT lastposter, forumid FROM " TABLE_PREFIX "forum WHERE forumid IN($ids)");

    while(
$f $vbulletin->db->fetch_array($res))
    {
        
$lp $f['lastposter'];

        
$lpidinfo $vbulletin->db->query_first("SELECT userid, username FROM " TABLE_PREFIX "user WHERE username='$lp'");
        
$lp urlize($lpidinfo['username']);
        
$lpid $lpidinfo['userid'];
        
$fid $f['forumid'];

        

        
$output str_replace("<a href="member.php?find=lastposter&amp;f=$fid"""<a href="u-$lp-$lpid.html""$output);
    }


}

#------------------------------
# Replace Last Post User (Thread)
#------------------------------
$found preg_match_all('#<a href="member\.php\?find=lastposter&amp;t=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT lastposter, threadid FROM " TABLE_PREFIX "thread WHERE threadid IN($ids)");

    while(
$f $vbulletin->db->fetch_array($res))
    {
        
$lp $f['lastposter'];

        
$lpidinfo $vbulletin->db->query_first("SELECT userid, username FROM " TABLE_PREFIX "user WHERE username='$lp'");
        
$lp urlize($lpidinfo['username']);
        
$lpid $lpidinfo['userid'];
        
$tid $f['threadid'];

        

        
$output str_replace("<a href="member.php?find=lastposter&amp;t=$tid"""<a href="u-$lp-$lpid.html""$output);
    }


}
#-----------------------------------
# DO NOT REMOVE OTHERWISE YOU 
# WILL BE SENT A DMCA FOR COPYRIGHT 
# INFRINGEMENT YOU MAY NOT USE THIS 
# PLUGIN WITHOUT THIS LINE OF CODE
# IF YOU WISE TO REMOVE THIS AND
# ADD IT TO YOUR STYLE, FEEL FREE
# AS LONG AS THE COPYRIGHT REMAINS
#-----------------------------------

$output .= '<div align="center" class="smallfont">SEOed URLs completed by <a href="http://www.techhelpforum.com">Tech Help Forum</a>.</div>';


if(
$vbulletin->options['vRewrite_showthreadrewrite'] == "2") {
#------------------------------
# SHOWTHREAD
#------------------------------
$found preg_match_all('#<a href="showthread\.php\?t=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT threadid, forumid, title FROM " TABLE_PREFIX "thread WHERE threadid IN($ids)");

    while(
$t $vbulletin->db->fetch_array($res))
    {
        
$title urlize($t['title']);
        
$tid $t['threadid'];
        
$fid $t['forumid'];
        
$foruminfo $vbulletin->db->query_first("SELECT title FROM " TABLE_PREFIX "forum WHERE forumid='$fid'");
        
$fname urlize($foruminfo['title']);
        
$fname str_replace("-","",$fname);
        
$title str_replace("-"," ",$title);

        
$output str_replace("<a href="showthread.php?t=$tid"""<a href="$fname/$title-$tid.html""$output);
    }


}
    }
#------------------------------
# SHOWTHREAD
#------------------------------
$found preg_match_all('#<a href="showthread\.php\?t=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT threadid, forumid, title FROM " TABLE_PREFIX "thread WHERE threadid IN($ids)");

    while(
$t $vbulletin->db->fetch_array($res))
    {
        
$title urlize($t['title']);
        
$tid $t['threadid'];
        
$fid $t['forumid'];
        
$foruminfo $vbulletin->db->query_first("SELECT title FROM " TABLE_PREFIX "forum WHERE forumid='$fid'");
        
$fname urlize($foruminfo['title']);

        
$output str_replace("<a href="showthread.php?t=$tid"""<a href="$fname/t-$title-$tid.html""$output);
    }


}

#------------------------------
# SHOWTHREAD and page
#------------------------------
$found preg_match_all('#showthread\.php\?t=([0-9]+)&amp;page=([0-9]+)#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    
// Keep track of page nums that go with tid's
    
$temp = array();

    for(
$i 0$i $found$i++)
    {
        
// $temp[<threadid>] = <page>
        
$temp$matches[1][$i] ] = $matches[2][$i];

        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT threadid, forumid, title FROM " TABLE_PREFIX "thread WHERE threadid IN($ids)");

    while(
$t $vbulletin->db->fetch_array($res))
    {
        
$title urlize($t['title']);
        
$tid $t['threadid'];
        
$fid $t['forumid'];
        
$foruminfo $vbulletin->db->query_first("SELECT title FROM " TABLE_PREFIX "forum WHERE forumid='$fid'");
        
$fname urlize($foruminfo['title']);
        
$page $temp[$tid];
        

        
$output str_replace("showthread.php?t=$tid&amp;page=$page""$fname/t-$title-$tid-page-$page.html"$output);


    }


}

#------------------------------
# showpost
#------------------------------
$found preg_match_all('#<a href="showpost\.php\?p=([0-9]+)&amp;postcount=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        
$temp$matches[1][$i] ] = $matches[2][$i];
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);


    
// Go through each
    
$res $vbulletin->db->query_read("SELECT postid, title FROM " TABLE_PREFIX "post WHERE postid IN($ids)");

    while(
$p $vbulletin->db->fetch_array($res))
    {
        
$pid $p['postid'];
        
$postcount $temp[$pid];
        
$output str_replace("<a href="showpost.php?p=$pid&amp;postcount=$postcount"""<a href="p-$pid.html""$output);    }



}


#------------------------------
# Print SHOWTHREAD
#------------------------------
$found preg_match_all('#<a href="printthread\.php\?t=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT threadid, title FROM " TABLE_PREFIX "thread WHERE threadid IN($ids)");

    while(
$t $vbulletin->db->fetch_array($res))
    {
        
$title urlize($t['title']);
        
$tid $t['threadid'];

        
$output str_replace("<a href="printthread.php?t=$tid"""<a href="print-$title-$tid.html""$output);
    }


}

#------------------------------
# Email SHOWTHREAD
#------------------------------
$found preg_match_all('#<a href="sendmessage\.php\?do=sendtofriend&amp;t=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT threadid, title FROM " TABLE_PREFIX "thread WHERE threadid IN($ids)");

    while(
$t $vbulletin->db->fetch_array($res))
    {
        
$title urlize($t['title']);
        
$tid $t['threadid'];

        
$output str_replace("<a href="sendmessage.php?do=sendtofriend&amp;t=$tid"""<a href="sendtofriend-$title-$tid.html""$output);
    }


}

#------------------------------
# New Thread
#------------------------------
$found preg_match_all('#<a href="newthread\.php\?do=newthread&amp;f=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT forumid, title FROM " TABLE_PREFIX "forum WHERE forumid IN($ids)");

    while(
$f $vbulletin->db->fetch_array($res))
    {
        
$title urlize($f['title']);
        
$fid $f['forumid'];

        
$output str_replace("<a href="newthread.php?do=newthread&amp;f=$fid"""<a href="$title-$fid/newthread.php""$output);
    }


}

#------------------------------
# New Post
#------------------------------
$found preg_match_all('#<a href="newreply\.php\?do=newreply&amp;noquote=1&amp;p=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT threadid, postid FROM " TABLE_PREFIX "post WHERE postid IN($ids)");

    while(
$t $vbulletin->db->fetch_array($res))
    {
        
$tid $t['threadid'];
        
$pid $t['postid'];
        
$threadinfo $vbulletin->db->query_first("SELECT title, forumid FROM " TABLE_PREFIX "thread WHERE threadid='$tid'");
        
$title urlize($threadinfo['title']);
        
$fid $threadinfo['forumid'];
        
$f fetch_foruminfo($fid); 
        
$fname urlize($f['title']);



        
$output str_replace("<a href="newreply.php?do=newreply&amp;noquote=1&amp;p=$pid"""<a href="$fname/newpostnoquote-$pid.php""$output);
    }


}

#------------------------------
# New Post
#------------------------------
$found preg_match_all('#<a href="newreply\.php\?do=newreply&amp;p=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT threadid, postid FROM " TABLE_PREFIX "post WHERE postid IN($ids)");

    while(
$t $vbulletin->db->fetch_array($res))
    {
        
$tid $t['threadid'];
        
$pid $t['postid'];
        
$threadinfo $vbulletin->db->query_first("SELECT title, forumid FROM " TABLE_PREFIX "thread WHERE threadid='$tid'");
        
$title urlize($threadinfo['title']);
        
$fid $threadinfo['forumid'];
        
$f fetch_foruminfo($fid); 
        
$fname urlize($f['title']);



        
$output str_replace("<a href="newreply.php?do=newreply&amp;p=$pid"""<a href="$fname/newpost-$pid.php""$output);
    }


}

#------------------------------
# Search
#------------------------------
$found preg_match_all('#<a href="search\.php\?searchid=([0-9]+)"#i'$output$matches);

if(
$found)
{
    
// Build an array of ID's
    
$ids = array();

    for(
$i 0$i $found$i++)
    {
        if(
is_numeric($matches[1][$i]))
            
$ids[] = $matches[1][$i];
    }
    
$ids implode(','$ids);

    
// Go through each
    
$res $vbulletin->db->query_read("SELECT userid, searchid FROM " TABLE_PREFIX "search WHERE searchid IN($ids)");

    while(
$s $vbulletin->db->fetch_array($res))
    {
        
$userid $s['userid'];
        
$searchid $s['searchid'];
        

        
$output str_replace("search.php?searchid=$searchid""search-$userid-$searchid.html"$output);
    }


}


#------------------------------
# misc pages
#------------------------------
$output str_replace("search.php?do=getnew","search-getnew.html",$output);
$output str_replace("search.php?do=getdaily","search-getdaily.html",$output);
$output str_replace("forumdisplay.php?do=markread","markread.html",$output);
}

/**
 * Turn a string into a URL friendly string
 *
 * @param string $txt The string to work on
 * @return string The new string
 */
function urlize($txt)
{
    
$txt unaccent($txt);
    
$txt html_entity_decode($txt);
    
$txt str_replace(' ''-'$txt);
    
$txt preg_replace('#[^a-zA-Z0-9_\-]+#'''$txt);
    
$txt preg_replace('#[\-]+#''-'$txt);

    return 
strtolower($txt);
}

/**
 * Turn accented characters into normal characters
 *
 * @param string $txt The string to remove the accents from
 * @return string Your new clean string
 */
function unaccent($txt)
{
    
$trans get_html_translation_table(HTML_ENTITIES);
    
    foreach(
$trans as $literal => $entity)
    {
        if(
ord($literal) >= 192)
        {
            
$search[]   = $literal;
            
$replace[]  = substr($entity11);
        }
    }

    return 
str_replace($search$replace$txt);

Let me know if that works for you

Quote:
Originally Posted by in'dira
Hello, Can you explain more precisely how and what to make at the time of the 3rd stage of the installation with $headinclude and < bases href="$vboptions[bburl ]/"/> please ?

Thx lot
You want to add the base href after the $headinclude in the templates it mentions. Does that help?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:03 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.11236 seconds
  • Memory Usage 2,563KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_code
  • (2)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (4)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete