Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
  #1  
Old 01-03-2006, 09:00 PM
Immortal Immortal is offline
 
Join Date: Jul 2005
Location: Cincinnati, OH
Posts: 403
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Fix a redirect URL

Hello everyone,

I've used preg_match_all to replace all of my URLs to be more SEO friendly. However, I tried to use preg_match_all (global_complete hook) for redirects such as showthread.php?p=id#postid and search.php?searchid=id however it does not want to cooperate since they are "redirects" and not URLs...I've tried using the following code.

PHP Code:
$found preg_match_all('#showthread\.php\?p=([0-9]+)\#post([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 thread WHERE threadid='$tid'");
        
$title urlize($threadinfo['title']);
        
$fid $threadinfo['forumid'];
        
$f fetch_foruminfo($fid); 
        
$fname urlize($f['title']);



        
$output str_replace("showthread.php?p=$pid#post$pid""$fname/p-$title-$pid.html#$pid"$output);
    }



But preg_match_all found nothing. Is there a special way I have to do this or in a different hook then global_complete? I really don't want to modify any files if I can stay away from that. Any help would be greatly appreciated
Reply With Quote
  #2  
Old 01-07-2006, 12:21 AM
Immortal Immortal is offline
 
Join Date: Jul 2005
Location: Cincinnati, OH
Posts: 403
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just giving this a kind bump up (sorry!). I've also tried to replace the code in case newpost in showthread.php but it's still redirecting. It honestly doesn't matter how it can be done as long as its correct at this point :nervous:
Reply With Quote
  #3  
Old 01-10-2006, 07:58 PM
Immortal Immortal is offline
 
Join Date: Jul 2005
Location: Cincinnati, OH
Posts: 403
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay, I thought I had it, but apprently not. I stuck this code in global_start:

PHP Code:
if(THIS_SCRIPT == 'showthread') {
if(!isset(
$_GET['is_vrewrite'])){

//Let's see if we're doing a thread, or a post.
$threadid $_GET['t'];

if(!empty(
$threadid)) { 
$thread $vbulletin->db->query_first("SELECT title, forumid FROM  " TABLE_PREFIX "thread WHERE threadid='$threadid'");

$title $thread['title'];
$fid $thread['forumid'];
  
$f $vbulletin->forumcache[$fid];
  
$fid $f['forumid'];
  
$ftitle $f['title'];
exec_header_redirect("$ftitle/$title-$threadid.html");

 }

else
{ die(
'we are on a post'); }

 } 

But its redirecting as the forums over and over, but how can that be if its not in a while? :S
Reply With Quote
  #4  
Old 01-30-2006, 11:56 PM
yayvb's Avatar
yayvb yayvb is offline
 
Join Date: Feb 2005
Location: CT
Posts: 192
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Surprising that no one has any ideas, maybe it's just an impossibility.
Reply With Quote
Reply

Thread Tools
Display Modes

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 04:58 AM.


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.05603 seconds
  • Memory Usage 2,201KB
  • Queries Executed 11 (?)
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)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete