Thinkings of a tinker who thinks he’s a thinker
With the release of the new version of Jaledit, I thought of introducing a new feature to all my programs. It’s the typical check for updates. I found that Opera does something similar, where in, when the check for update menu option is clicked, a message is displayed if there are no updates. If there’s an update the web page with the download link for the new version of Opera is is displayed.
I didn’t want a fully automatic update where the update file is downloaded in the background for selfish reasons (I want a page hit )
So here’s the base spec in my terms
My PHP skills = 0, Delphi skills = Advanced
Digging a bit around PHP documentation led to version_compare, generally used to check PHP versions, but works quite well for program versions as well.
Here’s the code that does the job
$latest = ‘0.5.6′; // define your latest version
$ver = $_GET[’ver’]; // for me this is like a command line argument get whatever is there after ?ver=
if ($ver) // Do the check only if the version info is passed if its just http://jal.sunish.net/jaledit then nothing happens
{
if (version_compare($latest,$ver) == 1) // there is an update available
print(”<hr/><strong>”.”An update to JALEdit is available. Latest version is :”.$latest.”</strong>”) ;
// display in bold about update status in between 2 lines
else
print(”<hr/><strong>”.”No update available.You are using the latest version.”.”</strong>”);
print “<hr/>”;
}
What I learnt,
Delphi Code
procedure TfrmSecMain.acncheckUpdatesExecute(Sender: TObject); var tempStr: string; begin tempStr := ‘http://jal.sunish.net/jaledit?ver=’; with TJclFileVersionInfo.Create(Application.ExeName) do try tempStr := tempstr + Format(’%s’, [FileVersion]); finally Free; end; ShellExecute(0, ‘open’, pcHAR(tempStr), ”, ”, SW_SHOW);end;
The Delphi code is pretty straight forward with the JCL function to retrieve the file version from the exe file and that’s passed to the Shellexecute function to do a default browser call.
The PHP code I guess should work with wordpress and any CMS.
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Apr | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||