<?php
header('Content-Type: application/json; charset=utf-8');
/* 
 * @Purpose: This file is about making JSON data
 * @author : goldsky
 * @date   : 20100210
 */
 
// Database settings (localhost? username? password?)

include_once('dbonfig.inc.php');

$conn = mysql_connect($database_server, $database_user, $database_password);

if (!$conn ) {
   die('Not connected : ' . mysql_error());
}
// select db
$dbconn = mysql_select_db($dbase,$conn);
if (!$dbconn ) {
   die ('Can\'t select db : ' . mysql_error());
}
// generating event attributes inside a function
function eventAtt() {
   $eventQuery=mysql_query('SELECT * FROM tableName')  or die (mysql_error());
   while ($row = mysql_fetch_array($eventQuery)) {
       $date = explode("-", $row['date']); // in my case, $date is stored as yyyy-mm-dd in MySQL table.
       $phpmakedate = mktime(0, 0, 0, $date[1], $date[2], $date[0]);
       // ------------ optionally with "end" date ------------
       if ($row['enddate']== NULL || $row['enddate'] == '0000-00-00') {
           $phpenddate = NULL;     // to skip latestStart date
           $durationEvent = FALSE; //JSON
       }
       else {
           $enddate = explode("-", $row['enddate']);
           $phpmakeenddate = mktime(0, 0, 0, $enddate[1], $enddate[2], $enddate[0]);
           $phpenddate = date("r",$phpmakeenddate);
           $durationEvent = TRUE; //JSON
       }
       // ------------ create the array here ------------
       $eventAtts[] = array (
               'start' => date("r",$phpmakedate),
               'end' => $phpenddate,
               'durationEvent' => $durationEvent,
               'description' => $row['description']
       );
   }
   mysql_free_result($eventQuery);
   return $eventAtts;
}
////////////////////////////////////////////
//                                        //
//          TIMELINE'S JSON DATA          //
//                                        //
////////////////////////////////////////////
//
$json_data = array (
        //Timeline attributes
        'wiki-url'=>'http://simile.mit.edu/shelf',
        'wiki-section'=>'Simile Cubism Timeline',
        'dateTimeFormat'=>'Gregorian', //JSON!
        //Event attributes
        'events'=> eventAtt() // <---- here is the event arrays from function above.
);
$json_encoded=json_encode($json_data);
echo $json_encoded;
?>