Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 03-11-2012, 03:37 PM
samergains samergains is offline
 
Join Date: Jul 2011
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Question about external links coding

Hi everyone,
I'm trying to modify the file includes/class_bbcode.php to make the external links coded.
I added a block of code to the function called handle_bbcode_url
PHP Code:
$coding_needed true;

        if (!isset(
$current_url))
        {
            
$current_url = @parse_url($this->registry->options['bburl']);
            
$current_host preg_replace('#:(\d)+$#'''VB_HTTP_HOST);
            
$allowed preg_split('#\s+#'$this->registry->options['url_nofollow_whitelist'], -1PREG_SPLIT_NO_EMPTY);
            
$allowed[] = preg_replace('#^www\.#i'''$current_host);
            
$allowed[] = preg_replace('#^www\.#i'''$current_url['host']);
        }

        
$target_url preg_replace('#^([a-z0-9]+:(//)?)#'''$rightlink);
if(isset(
$allowed))
            {
        foreach (
$allowed AS $host)
        {
            if (
stripos($target_url$host) !== false)
            {
                if (
$this->registry->options['url_nofollow']) {
                    
$is_external false;
                }
                
$coding_needed false;
            }
        }
        }
        

        if (
$coding_needed && preg_match('~^https?://~i'$rightlink)) {
            
$t $rightlink;
            
$rightlink '/forum/outgoing.php?to=';

            for (
$i 0$i strlen($t); $i ++) {
                
$rightlink .= dechex(ord(substr($t$i1)));
            }
        } 
it's working fine but the problem is that it's coding all the link not only the external ones. the parameter coding_needed is always true.

how can I fix that?

thanks in advance for any ideas.
Reply With Quote
  #2  
Old 03-11-2012, 04:15 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I looked at it and can't see anything offhand, but what I usually do is print out some debug info using print_r(), maybe to a file. If you look at $allowed and $target_url I'm guessing that you'll see the problem.
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:27 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.08343 seconds
  • Memory Usage 2,183KB
  • Queries Executed 13 (?)
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
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)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_postinfo_query
  • fetch_postinfo
  • 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