29 September 2009

Short note on javascript refresher

In the program i made, which tabulates the latest 20 call in a minute, I've found some good resource for it.
My setup, perl-cgi script is the one that generates the list of calls. This script is just called via an Ajax function.


The main important part of that is part that contains this setInterval.
I chose setInterval since the "Call Accounting System" i made needs a refreshing every minute to update
the user about the activity of PBX.

The code also requires to have an id "content" to have the content generated by "refresher.cgi" displayed.
An example of usage will be.

<div id="content">&nbsp;</div>

and i put the code at the bottom of the html page.

<script type="text/javascript" src="20records.js"></script>


Below is the content of the 20records.js file:





var xmlhttp;

function showList()
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="refresher.cgi";
url=url+"?sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
{

document.getElementById('content').innerHTML = xmlhttp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
window.setInterval("showList();",60000)

11 May 2009

A Notes on UTF8 in PHP & MYSQL

According to Wikipedia, the Congo Region has 3 countries, the 2 Congo countries and the Angola.

I was tasked 2 list the countries all over the world and that includes the two (2) countries of Congo called Republic of the Congo (Congo-Brazzaville) and the Democratic Republic of the Congo (Congo-Kinshasa).

The addition of the dash - thing on the country to identify that separate country rendered some special unknown characters in both IE and Firefox browser. So upon seeing the content of the combo-box that contains the list of the country, this 2 country was rendered then as Congo <special character> Kinshasa and Congo <special character> Brazzaville. I thought that was just the result of the uploads via LOAD DATA INFILE command of Mysql yet when I browse the code via mysql client console, the dash stays there. Later I realize that this UTF8 thing really made that difference.

Thus using the command :
mysql_query("SET NAMES 'utf8'");
resolves that issue.

17 April 2009

Stop the Annoying Restart Now - Restart Later popup

I've been annoyed by this Windows Automatic Update popup on my WinXP box. I'm trying to get rid of this. When I google this keyword - I end up browsing and reading some suggestions to messed up with my Windows Registry.
One suggestion that i like is this - a very simple one.
Steps:
1) Click the start button
2) Select and click the "Run"
3) On the run dialog box, type the CMD to open the WinXP DOS shell.
4) On the command prompt (the one with c:\Documents and Settings\whoareyou>), type this sc stop wuauserv

Nice one. I've tried and tested this.

The Windows Update icon on the system tray will disappear. No more annoying restart popup also will appear after this.

01 February 2009

Perl: Appending array in a hash element

My code :
push($parentmenu{$parentkey}{childlist},[$childmenu{$childid}{name},$childmenu{$childid}{link}]);

Gives me this error.

Type of arg 1 to push must be array (not hash element) at ./test.cgi line 34, near "])"
Execution of ./test.cgi aborted due to compilation errors.


And it was just resolved by adding the @ and enclose it with {} - see the code below. I need an explanation though, but I'll have to find the explanation later, for the meantime the solution just worked for my task.

push(@{$parentmenu{$parentkey}{childlist}},[$childmenu{$childid}{name},$childmenu{$childid}{link}]);