There are a couple of options here that you might not have even thought of that may be available (and easiest) to implement.
First of all, what billing software or billing method are you using? Are you passing the client onto another script then once they select a domain?
If you are, then you might want to consider using sessions (again, this would depend on your billing script, etc). Then you could just start the session on your website (session_start ()) and use $_SESSION['plan'] = whatever; for session the plan's id prior to passing it onto the whois script, and then pick it up later (by referring to $_SESSION['plan'] prior to or on your billing page... remember to session_start() before attempting to access and before any output).
If that is a possibility, use that.
Now... onto the other answers:
The script doesn't use smarty templates (personal preference on my part in writing the script) and the template engine is a basic one that was scripted specifically for the whois script. I considered adding the ability to allow executed PHP code within templates via [php ] tags but I decided against it since it could potentially open up security holes that are just unnecessary for the ability it offers and as a whole the nature of the script.
That said, you still have a couple of options. One of them is manually editing the config/template.php file. For example, the default main page is:
PHP Code:
$this->TEMPLATES['main'] = "[[header]]
[[searchbar]]
[[footer]]";
You could replace that with:
PHP Code:
$this->TEMPLATES['main'] = "[[header]]
[[searchbar]]"
. $_REQUEST['plan']
. "[[footer]]";
You would have to do that manually by editing the file of course. The advantage of doing it this way would be that you wouldn't break any part of the script with the possible exception of the edit templates page (currently the edit templates page ALWAYS writes all the templates regardless of whether they have been changed... I will likely change this in the next version to only update the templates if they need to be updated). The reason I say possible exception is that more-than-likely your templates page will still work fine, with the exception of editing whichever template(s) has the $_REQUEST code in it (I would suggest backing up template.php before trying it out for the first time to be safe).
So far, the methods above are much better than the method below. First of all because they will almost certainly not break any updating to the script (so the updater script of the admin panel will still work) and secondly because they do not edit any code that might be changed in the future (the modifications will still be in place after updating).
The final method is the one that I do not recommend, and that is adding another variable to the template engine such as [[plan]]. I don't recommend this because the changes will not stick after you next update (you will have to do them all over again), while in the previous examples your changes will likely be fine through any future updates:
Again, I DO NOT recommend this method.
Open up classes/display.php and scroll down to the "function parsePage()" function line (around line 208 as of version 2.22).
Find:
PHP Code:
$search = array (
"/\[\[header\]\]/",
"/\[\[footer\]\]/",
"/\[\[copyright\]\]/"
);
$replace = array (
$this->CORE->TEMPLATES['header'],
($this->CORE->CONFIG->SCRIPT['copyright'] && !$this->copyright ? $copyright : "") . $this->CORE->TEMPLATES['footer'],
$copyright
);
And change that accordingly, such as:
PHP Code:
$search = array (
"/\[\[header\]\]/",
"/\[\[footer\]\]/",
"/\[\[copyright\]\]/",
"/\[\[plan\]\]/"
);
$replace = array (
$this->CORE->TEMPLATES['header'],
($this->CORE->CONFIG->SCRIPT['copyright'] && !$this->copyright ? $copyright : "") . $this->CORE->TEMPLATES['footer'],
$copyright,
$_REQUEST['plan']
);
So there are three methods. I recommend trying the first one, if possible (and it isn't possible to use sessions in many setups). I recommend trying the second one (editing template.php) if the first doesn't work and I DO NOT recommend trying the third one.
Best of luck.