Archive for the ‘Programming’ Category

Secpay, Actinic & SSL lameness

Tuesday, October 30th, 2007

Currently when enabling SSL on shopping cart pages in Actinic, Actinic will no longer be able to link up Secpay transactions to orders.

After numerous hours debugging, I figured out what was going wrong.. when SSL is enabled on shopping cart pages, Actinic provides Secpay with HTTPS callbacks - as you’d expect. It also sets a parameter which Secpay needs if the callbacks are HTTPS. However for some reason at this moment in time Secpay won’t use the HTTPS callbacks - the request is never sent to the server

I don’t know why this is happening, I even used the alternative method of informing Secpay that the callback is HTTPS - via the ‘options’ parameter.. no dice

The solution I’m currently using is to modify the ‘OCCSecPayScriptTemplate.pl’ file, inserting a line after the following block of code:

# to enable Diners cards, remove the ‘#’ from the start of the 2 lines below
#$sOptions .= ‘,’ if ($sOptions ne ”);
#$sOptions .= ‘diners=true’;

the line to change the callback URLs back to HTTP is:

$::sCallBackURLAuth =~ s/https/http/;

phpBB mods: bbcode for ifilm, youtube and google video embedding

Thursday, September 21st, 2006

I wanted to be able to embed videos from various services into forum posts on CoopersGuns Health, Fitness & BodyBuilding Forums so I decided to have a play with modifying the bbcode processor and here’s what I’ve come up with..

Modification instructions

Make the following modifications to forum/includes/bbcode.php

  • Find the bbencode_first_pass function
  • Locate the end of the function

	// Remove our padding from the string..
	return substr($text, 1);
  • Add the following just before the above:

	// [ifilm] and [/ifilm] 
	$text = preg_replace("#\[ifilm=([0-9]+[,][0-9]+[,][0-9]+)\](.*?)\[/ifilm\]#si", "[ifilm=\\1:$uid]\\2[/ifilm:$uid]", $text);

	// [youtube] and [/youtube] 
	$text = preg_replace("#\[youtube=([0-9]+[,][0-9]+[,][0-9a-z\-_]+)\](.*?)\[/youtube\]#si", "[youtube=\\1:$uid]\\2[/youtube:$uid]", $text);
	
	// [gvid] and [/gvid] 
	$text = preg_replace("#\[gvid=([0-9]+[,][0-9]+[,][0-9a-z\-_]+)\](.*?)\[/gvid\]#si", "[gvid=\\1:$uid]\\2[/gvid:$uid]", $text);	
  • Find the bbencode_second_pass function
  • Locate the part that deals with [QUOTE]

	// [QUOTE] and [/QUOTE] for posting replies with quote, or just for quoting stuff.
	$text = str_replace("[quote:$uid]", $bbcode_tpl['quote_open'], $text);
	$text = str_replace("[/quote:$uid]", $bbcode_tpl['quote_close'], $text);
  • Add the following code after the above:

	// [ifilm] and [/ifilm]
	$text = preg_replace("#\[ifilm=([0-9]+)[,]([0-9]+)[,]([0-9]+):$uid\](.*?)\[/ifilm:$uid\]#si", "<embed allowScriptAccess=\"never\" width=\"\\1\" height=\"\\2\" src=\"http://www.ifilm.com/efp\" quality=\"high\" bgcolor=\"000000\" name=\"efp\" align=\"middle\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" flashvars=\"flvBaseClip=\\3\""."[/ifilm:$uid]", $text);
	$text = str_replace("[/ifilm:$uid]", " />", $text); 	

	// [youtube] and [/youtube]
	$text = preg_replace("#\[youtube=([0-9]+)[,]([0-9]+)[,]([0-9a-z\-_]+):$uid\](.*?)\[/youtube:$uid\]#si", "<object width=\"\\1\" height=\"\\2\"><param name=\"movie\" value=\"http://www.youtube.com/v/\\3\"></param><embed src=\"http://www.youtube.com/v/\\3\" type=\"application/x-shockwave-flash\" width=\"\\1\" height=\"\\2\"></embed></object>"."[/youtube:$uid]", $text);
	$text = str_replace("[/youtube:$uid]", "", $text); 		

	// [gvid] and [/gvid]
	$text = preg_replace("#\[gvid=([0-9]+)[,]([0-9]+)[,]([0-9a-z\-_]+):$uid\](.*?)\[/gvid:$uid\]#si", "<embed style=\"width:\\1px; height:\\2px;\" id=\"VideoPlayback\" type=\"application/x-shockwave-flash\" src=\"http://video.google.com/googleplayer.swf?docId=\\3&hl=en\"> </embed>"."[/gvid:$uid]", $text);
	$text = str_replace("[/gvid:$uid]", "", $text); 
  • Save your changes to bbcode.php and upload the modified file (if you downloaded it to modify)

That’s it.. you can now embed iFilm, YouTube and Google Video videos into your forum posts

Usage

The syntax is similar for all three:

[ifilm=width,height,id]description[/ifilm]

[youtube=width,height,id]description[/youtube]

[gvid=width,height,id]description[/gvid]

Example:
CoopersGuns Health, Fitness & BodyBuilding Forums Post

WordPress’ TinyMCE Popup Width In Firefox

Thursday, July 13th, 2006

I’m surprised there isn’t much about this online.. although I admit my search wasn’t very comprehensive

Anyway, for a while now I’ve been a bit annoyed with the TinyMCE editor in WordPress.. for example, when you click the “Insert/edit link” button on the toolbar, a popup window is launched which proceeds to resize itself to be a less than useful width

Apparently according to one of the developers of TinyMCE in this thread, it’s down to Firefox using the status bar width when it shouldn’t

Anyway, the fix is as follows:

Just after the statements below in tiny_mce_popup.js

   // Netscape 7.1 workaround
   if (this.isWindow && tinyMCE.isNS71) {
      window.resizeBy(0, 10);
      return;
   }

Add the following:

   // Gecko workaround
   if (this.isWindow && tinyMCE.isGecko) {
      window.resizeBy(20, 10);
      return;
   }

That seems to work alright and resize the window to a useable width!

Google Desktop Sidebar & Delphi

Friday, October 14th, 2005

Recently I’ve been trying to produce a plugin using Delphi Win32 for Google Desktop 2 Beta - a Sidebar plugin.

Unfortunately my knowledge of COM isn’t great and my knowledge of COM in Delphi is even less. However I have learned what I think is enough and cannot seem to solve the problems I’m experiencing. No amount of posting to the Google Desktop Developer Group seems produce replies on the subject.

This is a plea for anybody who can program in Delphi to produce an example Sidebar plugin!