Skip to content

Instantly share code, notes, and snippets.

@acid
Created April 15, 2011 15:16
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save acid/921864 to your computer and use it in GitHub Desktop.
Save acid/921864 to your computer and use it in GitHub Desktop.
require 'uri'
require 'digest/md5'
caOrderValue = '0.00'; # orem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin, mi ac lobortis feugiat, ligula augue eleifend libero, vitae suscipit sem nisi ac augue
caOrderReference = URI::escape('blafoo');
caEventID = 'somenumber'; # orem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin, mi ac lobortis feugiat, ligula augue eleifend libero, vitae suscipit sem nisi ac augue
caComment = ''; # lorem ipsum
caMultiple = '1';
caItems = ''; # (Optional) orem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sollicitudin, mi ac lobortis feugiat, ligula augue eleifend libero, vitae suscipit sem nisi ac augue.
# Aenean hendrerit, neque at imperdiet auctor, diam eros interdum lorem, eu suscipit augue risus id neque.
# Maecenas tristique consequat sollicitudin. Sed mauris neque, ultrices vitae pretium in, gravida quis lorem.
# Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam porttitor bibendum ipsum, et lacinia velit aliquet ut.
caCustomerID = ''; # Nunc sed rhoncus tortor. Fusce ultricies dui quis ipsum mattis fringilla.
caProductID = ''; # Nunc sed rhoncus tortor. Fusce ultricies dui quis ipsum mattis fringilla.
caVoucherCode = URI::escape(''); #(Optional) Nunc sed rhoncus tortor. Fusce ultricies dui quis ipsum mattis fringilla.
# Nunc sed rhoncus tortor. Fusce ultricies dui quis ipsum mattis fringilla.
caSLang = 'ruby'; # Aenean lobortis aliquam massa, vitae accumsan diam gravida in. Morbi ac varius mi.
caLang = 'de_DE'; # Aenean lobortis aliquam massa, vitae accumsan diam gravida in. Morbi ac varius mi.
caPin = '1234'; # Aenean lobortis aliquam massa, vitae accumsan diam gravida in. Morbi ac varius mi.
caProgramID = '5678'; # Aenean lobortis aliquam massa, vitae accumsan diam gravida in. Morbi ac varius mi.
caVersion = '1.2';
caSubDomain = "track";
caCheckString = 'caver='+caVersion+'&casubdomain='+caSubDomain+'&calang='+caLang+'&caslang='+caSLang+'&caprogramid='+caProgramID+'&caeventid='+caEventID+'&cavalue='+caOrderValue+'&caorderreference='+caOrderReference+'&cacomment='+caComment+'&camultiple='+caMultiple+'&caitems='+caItems+'&cacustomerid='+caCustomerID+'&caproductid='+caProductID+'&cavouchercode='+caVoucherCode;
caCheckSum = Digest::MD5.hexdigest(caPin+caCheckString)
caQueryString = caCheckString+'&cachecksum='+caCheckSum;
caUri = '://'+caSubDomain+'.coolaffiliate.com/transaction.html?'+caQueryString;
puts '<script language="javascript" type="text/javascript">'
puts 'if (location.protocol.toLowerCase() == "https:"){caProtocol="https";}else{caProtocol="http";}'
puts 'caUri = caProtocol + "'+caUri+'" + "&caprotocol=" + caProtocol + "&calocation=" + location.href;'
puts 'document.write(\'<sc\'+\'ript language="JavaScript" type="text/javascript" src="\'+caUri+\'"></sc\'+\'ript>\');'
puts '</script>'
puts '<noscript><img src="https://'+caSubDomain+'.coolaffiliate.com/transaction.html?caver='+caVersion+'&cars=1&casubdomain='+caSubDomain+'&calang='+caLang+'&caslang='+caSLang+'&caprogramid='+caProgramID+'&caeventid='+caEventID+'&cavalue='+caOrderValue+'&caorderreference='+caOrderReference+'&cacomment='+caComment+'&camultiple='+caMultiple+'&caitems='+caItems+'&cacustomerid='+caCustomerID+'&caproductid='+caProductID+'&cavouchercode='+caVoucherCode+'&cachecksum='+caCheckSum+'&caprotocol=https" alt="" width="1" height="1"/>'
puts '</noscript>'
@nuclearsandwich
Copy link

Any volunteers want to help them refactor?

@caleywoods
Copy link

is there a way to light a gist on fire?

@colindean
Copy link

Challenge accepted: https://gist.github.com/922172

@acid
Copy link
Author

acid commented Apr 20, 2011

@colindean: nice solution! to_query rulez! :)

I integrated it in our rails-app and composite the dynamic part in the controller and wrote a view-partial for it. And I would be very happy if we would use haml ;)

@colindean
Copy link

colindean commented Apr 20, 2011 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment