/* This PHP script is designed to edit an IC Card. --prr6 04.20.2007 */
header('Content-Type: text/html; charset=utf-8');
echo ''."\n";
?>
CS2310 IC Card Editor
IC Card Management System - IC Card Editor
include_once('utils.inc');
include_once('dom4php/XmlParser.php');
include_once('dom4php/Document.php');
include_once('dom4php/DocumentFragment.php');
include_once('dom4php/XmlSerializer.php');
if(isSet($_POST['submitCard']))
{
/* a card update has been submitted */
echo '';
}
else
{
if(isSet($_GET['submitCardID']) && isSet($_GET['cardID']))
{
/* a specific IC Card was requested. Edit it. */
echo displayEditor($_GET['cardID'])."\n";
}
else
{
echo availableCardsList('Edit');
}
}
?>
function displayEditor($cardID)
{
$dbData = @file_get_contents('icdb.xml');
if($dbData == FALSE)
{
return 'IC Database not found.
';
}
// else parse database.
$cardData = array();
$parser = new XmlParser();
$dbDoc = $parser->parse($dbData);
$cardCrit = array("id" => $cardID);
$cardEntry = $dbDoc->selectElements($cardCrit,"icCardEntry");
$cardData['cardID'] = $cardEntry[0]->attributes['id'];
$cardData['cardGroup'] = $cardEntry[0]->attributes['groupId'];
$cardEntry = $cardEntry[0]->getElementsByTagName("icCard");
foreach($cardEntry[0]->childNodes as $node)
{
if($node->nodeType == DOM_ELEMENT_NODE)
{
$cardData[$node->tagName] = $node->attributes['content'];
}
}
return showCardForm($cardData);
}
function serializeModification($cardData)
{
$dbData = @file_get_contents('icdb.xml');
if($dbData == FALSE)
{
return 'IC Database not found.
';
}
// else parse database.
$parser = new XmlParser();
$dbDoc = $parser->parse($dbData);
$cardCrit = array("id" => $cardData['icCardID']);
$cardEntry =& $dbDoc->selectElements($cardCrit,"icCardEntry");
$cardEntry =& $cardEntry[0]->getElementsByTagName("icCard");
foreach(array_keys($cardEntry[0]->childNodes) as $index)
{
$node =& $cardEntry[0]->childNodes[$index];
if($node->nodeType == DOM_ELEMENT_NODE)
{
if(isSet($cardData[$node->tagName]))
{
$node->attributes['content'] = $cardData[$node->tagName];
}
// else not a known icCard element.
}
}
$serializer = new XmlSerializer('XML');
return $serializer->serializeNode($dbDoc);
}
?>