The described Web site was active on http://trends.risoe.dk/ from 2003 to 2006 and closed in January 2010.
An archive is available.
This Web site has been done respecting current W3C rules:
Thanks to CSS, the site display is adapted to the different medias.
For example, when printing a page, the menu is not displayed anymore, and the font is adapted to the paper.
Example:
trends-normal.css
body {font-family:"Arial","Helvetica",sans-serif}
/*Print*/
@page {size:portrait}
@page {margin:1.1cm}
@media print {
body {font-family:"Times New Roman","Times",serif}
#menu,#logo {display:none}
}
/*Handheld*/
@media handheld {
#logo {float:none}
}
Example of form checking:
add-country.js
function verifcountry()
{
var err='';
if (!(/^[A-Za-z _-]{4,128}$/.test(document.getElementsByName('ctrname')[0].value)))
{
err='Please enter a valid country name';
document.getElementsByName('ctrname')[0].focus();
}
if (err.length>0)
{
alert(err);
return false;
}
else if (!confirm('The country will now be stored. Are you sure?')) return false;
else return true;
}
Dynamic pages with PHP4.
domxml to PHP5 dom
has been written for this project, before becoming quite popular, in particular in the Open Source community.Example:
detail-country.php
if ($dom=domxml_open_file('model.html')) //Loading model
{
$corpus=$dom->get_element_by_id('corpus');
if ($odbc=odbc_connect('trends','trends-admin','temppass'))
{
$sql='SELECT ct.name AS ct_name FROM countries ct WHERE ct.id='.$country;
if (($query=odbc_exec($odbc,$sql))&&odbc_fetch_row($query)) //SQL request
{
$h2=$dom->create_element('h2');
$h2->append_child($dom->create_text_node('Country : '.odbc_result($query,'ct_name')));
odbc_free_result($query);
$corpus->append_child($h2);
$corpus->append_child($dom->create_text_node("\n"));
//...
}
odbc_close($odbc);
}
$dom->dump_mem(); //Send results to the client’s browser
}