vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.6 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=194)
-   -   Miscellaneous Hacks - Dynamic Amazon Links (https://vborg.vbsupport.ru/showthread.php?t=163393)

Hidden_Gamma 12-25-2008 02:39 AM

This doesn't seem to be working for me in 3.7.4, and I've tried the hack to get Amazon UK links added, and those won't work either. Maybe I'm doing something wrong? :confused: :o

rmd1 12-26-2008 01:06 PM

Hey, I installed the script and its working so far... but when editing a post and clicking on the submit button it turns into the loading symbol for infinite time... but the post already got edited. I contacted the the vB support and they told me its because of this hack :(
Can somebody confirm that he is having the same problems? Or a fix for this? Please help, I need this working asap!

Regards,
rmd1

Quote:

Originally Posted by Hidden_Gamma (Post 1693267)
This doesn't seem to be working for me in 3.7.4, and I've tried the hack to get Amazon UK links added, and those won't work either. Maybe I'm doing something wrong? :confused: :o

try out the code that was posted a page ago. that one worked for me with co.uk

Hidden_Gamma 12-26-2008 05:32 PM

Quote:

Originally Posted by rmd1 (Post 1694010)

try out the code that was posted a page ago. that one worked for me with co.uk

That's what I tried, but it doesn't work. In fact, nothing works. It just won't add the affiliate links to anything. :confused:

Ironduke 01-02-2009 12:16 AM

I've uploaded the PHP file with my aStore ID written in, and uploaded the plugin. How do I get it to re-write the links to include my aStore ID?

Hidden_Gamma 01-11-2009 09:30 PM

Okay, this wasn't working for me in 3.7.4 PL1, and now I've gone to 3.8.0 -- do I have any hope of getting it to work in that version? :(

Also, I have one further question about the hack on the last page to get it to work with Amazon.co.uk, what exactly do you mean by 'add the bit in the preg_match to work with this'? I'd like to give it one last go before I throw my hands up on this entirely. :o

ebed146 01-17-2009 03:07 AM

Someone port this over to 3.8 please. It is a wonderful hack!

Claygp 01-22-2009 03:49 AM

Are we going to see a 3.8 version??

veracity024 01-28-2009 06:23 PM

the sooner the better for the 3.8 version!

Coop1979 02-07-2009 03:16 AM

I just PM'd the coder. I offered financial compensation to update the mod, so hopefully that will help!

Hidden_Gamma 03-19-2009 05:57 PM

Quote:

Originally Posted by buro9 (Post 1541380)
I've got this working for .co.uk

You can easily add .ca, .de or any two level .tld like .co.uk to this by adding:
$associate_id_ and then the .tld with the . replaced by _
$associate_id_co_uk is the UK one.

And of course add the bit in the preg_match to work with this.

Code for the file is thus:
PHP Code:

<?php
function amazon_links($text) {
    
$associate_id_co_uk 'buro9-21'// or leave empty
    
$associate_id_com 'buro9-20'// or leave empty

    
$replace_targt_urls true// true or false

    
$replace_src = array();
    
$replace_str = array();

    
// check for [url="amazon-link"]some text[/url]
    
if(preg_match_all("/\[url\=(?:\")?(http:\/\/(?:[A-z0-9\.]+)?amazon\.(co\.uk|com)\/(?:.+))(?:\")?](.+)\[\/url\]/iU"$text$out)) {
        for(
$i=0;$i<count($out[1]);$i++) {
            
$associate_id = ${'associate_id_'.str_replace('.','_',$out[2][$i])};
            
$out[4][$i] = $out[1][$i];

            if(
$associate_id && !empty($associate_id)) {
                
// Look for an asin number
                
if(preg_match("/\/[A-Z0-9]{10}(\/)?/"$out[1][$i], $asin) && strpos($out[1][$i], '/review') === false) {
                    if(
substr($asin[0], -1) != '/') { $asin[0] .= '/'; }
                    
$out[1][$i] = 'http://www.amazon.'.$out[2][$i].'/exec/obidos/ASIN'.$asin[0].'ref=nosim/'.$associate_id;
                } else {
                    
$target_url $out[1][$i];
                    if(
$replace_targt_urls) {
                        
$target_url preg_replace('/ref\=([a-z0-9\-]{3,})\-([0-9]{2})/iU''ref='.$associate_id$target_url);
                        
$target_url preg_replace('/tag\=([a-z0-9\-]{3,})\-([0-9]{2})/iU''tag='.$associate_id$target_url);
                    }

                    
$out[1][$i] = 'http://www.amazon.'.$out[2][$i].'/exec/obidos/redirect?link_code=ur2&camp=1789&tag='.$associate_id.'&creative=9325&path='.urlencode($target_url);
                }

                
$replace_src[] = '[url="'.$out[4][$i].'"]';
                
$replace_str[] = '[url="'.$out[1][$i].'"]';

                
$replace_src[] = '[url='.$out[4][$i].']';
                
$replace_str[] = '[url='.$out[1][$i].']';

                
$replace_src[] = '[url="'.$out[4][$i].'"]';
                
$replace_str[] = '[url="'.$out[1][$i].'"]';

                
$replace_src[] = '[url='.$out[4][$i].']';
                
$replace_str[] = '[url='.$out[1][$i].']';
            }
        }
    } unset(
$out);
    
    
// check for [url]amazon-link[/url]
    
if(preg_match_all("/\[url\](http:\/\/(?:[A-z0-9\.]+)?amazon\.(co\.uk|com)\/(?:.+))\[\/url\]/iU"$text$out)) {
        for(
$i=0;$i<count($out[1]);$i++) {
            
$associate_id = ${'associate_id_'.str_replace('.','_',$out[2][$i])};
            
$out[4][$i] = $out[1][$i];

            if(
$associate_id && !empty($associate_id)) {
                
// Look for an asin number
                
if(preg_match("/\/[A-Z0-9]{10}(\/)?/"$out[1][$i], $asin) && strpos($out[1][$i], '/review') === false) {
                    if(
substr($asin[0], -1) != '/') { $asin[0] .= '/'; }
                    
$out[1][$i] = 'http://www.amazon.'.$out[2][$i].'/exec/obidos/ASIN'.$asin[0].'ref=nosim/'.$associate_id;
                } else {
                    
$target_url $out[1][$i];
                    if(
$replace_targt_urls) {
                        
$target_url preg_replace('/ref\=([a-z0-9\-]{3,})\-([0-9]{2})/iU''ref='.$associate_id$target_url);
                        
$target_url preg_replace('/tag\=([a-z0-9\-]{3,})\-([0-9]{2})/iU''tag='.$associate_id$target_url);
                    }

                    
$out[1][$i] = 'http://www.amazon.'.$out[2][$i].'/exec/obidos/redirect?link_code=ur2&camp=1789&tag='.$associate_id.'&creative=9325&path='.urlencode($target_url);
                }

                
$displayed_link $out[4][$i];
                if(
strlen($displayed_link) > 55) {
                    
$displayed_link substr($displayed_link036).'...'.substr($displayed_link, -14);
                }


                
$replace_src[] = '[url]'.$out[4][$i].'[/url]';
                
$replace_str[] = '[url="'.$out[1][$i].'"]'.$displayed_link."[/url]";

                
$replace_src[] = '[url]'.$out[4][$i].'[/url]';
                
$replace_str[] = '[url="'.$out[1][$i].'"]'.$displayed_link."[/url]";
            }
        }
    } unset(
$out);


    
// replace the message
    
if(isset($replace_src[0])) {
        
$text str_replace($replace_src$replace_str$text);
    } unset(
$replace_src$replace_str);

    return 
$text;
}
?>

Thanks for the great hack.


Can someone tell me what exactly I am supposed to write into the preg_match section to get this hack to work for my multilevel domain affiliate links if I am using more than one? I have affiliate IDs for .co.uk and .co.jp, but I don't really understand how to write in more than one according to this example, I also can't seem to figure out where I am supposed to put my .de domain in the preg_match section.

Also, I seemed to have discoveed that on my forum (running 3.8.1 PL1) that this plugin will only add the affiliate ID to URLs if they are added raw, but if an Amazon URL is added to text, like this, for example: I Love Lucy, it won't add the Afilliate ID.

Thanks for any help. I really hope this plugin can be updated.


All times are GMT. The time now is 03:57 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.01220 seconds
  • Memory Usage 1,811KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete