<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<link rel="stylesheet" type="text/css" href="css/maindoc.css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
require_once 'class/xmlmenu.cls.php';
require_once 'class/abstractxmlmenu.cls.php';
/**
* instanciations and initializations
*/
$menu = xmlmenu::getInstance ('1.0', 'iso-8859-1'); // the objet
$aIndex = array (); // array of indexes
$aAttr = array ( // array of styles
'style' => 'color:#ff0000;'
);
$project = xmlmenu::getInstance ('1.0', 'iso-8859-1');
$aIndexProject = array ();
$iInd=$project->defineNode('project 1',$aAttr);
$aIndexProject[$iInd] = $iInd;
$iInd = $project -> defineNode ('Task 1',$aAttr ,$aIndexProject[$iInd]);
$aIndexProject[$iInd] = $iInd;
$iInd = $project -> defineNode ('Task 2',$aAttr ,$aIndexProject[$iInd]);
$aIndexProject[$iInd] = $iInd;
$iInd = $project->defineNode('project 2',$aAttr);
$aIndexProject[$iInd] = $iInd;
$iInd = $project -> defineNode ('Task 1',$aAttr ,$aIndexProject[$iInd]);
$aIndexProject[$iInd] = $iInd;
$iInd = $project -> defineNode ('Task 2',$aAttr ,$aIndexProject[$iInd]);
$aIndexProject[$iInd] = $iInd;
echo $project -> toHTML ('LISTE');
$iInd = $menu -> defineNode ('menu 1', $aAttr); // let's define a node
$aIndex[$iInd] = $iInd; // we store the created node's id
$menu -> defineLink ('#', $aIndex[1]); // let's define a link for the new node
$iInd = $menu -> defineNode ('menu 2', $aAttr); // let's define another node
$aIndex[$iInd] = $iInd;
$iInd = $menu -> defineNode ('menu 1_1', array ('style' => 'color:#000000;'), $aIndex[1]); // let's define a child node for node 1, with some other attributes.
$aIndex[$iInd] = $iInd;
$menu -> defineAttributes (array ('attrNameTest' => 'attrValueTest'),2); // here, we test the public method xmlmenu::defineAttributes
echo $menu; // let's see the generated xml
echo '<br /><br />';
echo $menu -> toHTML ('LISTE'); // let's transform it to an HTML list
$menu -> xmlToFile ('menu1'); // let's save the xml menu
$menu -> htmlToFile ('menu1'); // let's save the html menu
/**
* same player shoot again...but using another XSL transformation type.
*/
$menu = xmlmenu::getInstance ('1.0', 'iso-8859-1');
$aIndex = array ();
$aAttr = array (
'style' => 'background-color: #ffcc33; border: 1px solid #000000;'
);
$iInd = $menu -> defineNode ('menu 1', $aAttr);
$aIndex[$iInd] = $iInd;
$iInd = $menu -> defineNode ('menu 2', $aAttr);
$aIndex[$iInd] = $iInd;
$menu -> defineLink ('#', $aIndex[2]);
$iInd = $menu -> defineNode ('menu 1_1', array ('style' => 'background-color:#ff00cc;border: 1px solid #000000;'), $aIndex[1]);
$aIndex[$iInd] = $iInd;
$iInd = $menu -> defineNode ('menu 1_2', array ('style' => 'background-color:#ff00cc;border: 1px solid #000000;'), $aIndex[1]);
$aIndex[$iInd] = $iInd;
echo $menu;
echo '<br /><br />';
echo $menu -> toHTML ('TABLE'); // here we are : an html table
$menu -> xmlToFile ('menu2');
$menu -> htmlToFile ('menu2');
/**
* last example, simulating a DB extraction...
*/
$aMenu = array (
'menu 1' => array (
'ATTR' => array (
'link' => '#',
'style' => 'background-color: #ffcc33; width: 80px;'
),
'CHILDREN' => array (
'menu 1_1' => array (
'ATTR' => array (
'link' => '#',
'style' => 'background-color: #ccff33;width: 80px;'
)
),
'menu 1_2' => array (
'ATTR' => array (
'link' => '#',
'style' => 'background-color: #00ffcc;width: 80px;'
)
)
)
),
'menu 2' => array (
'ATTR' => array (
'link' => '#',
'style' => 'background-color: #ff33cc;width: 80px;'
),
'CHILREN' => array (
)
)
);
$menu = xmlmenu::getInstance ('1.0', 'iso-8859-1');
foreach ($aMenu as $parentName => $parent) {
$iInd = $menu -> defineNode ($parentName, $parent['ATTR']);
$aIndex[$iInd] = $iInd;
if (!empty ($parent['CHILDREN'])) {
foreach ($parent['CHILDREN'] as $childName => $child) {
$iNewInd = $menu -> defineNode ($childName, $child['ATTR'], $aIndex[$iInd]);
$aIndex[$iNewInd] = $iNewInd;
}
}
}
echo $menu; // let's see the generated xml
echo '<br /><br />';
echo $menu -> toHTML ('LISTE'); // let's transform it to an HTML list
$menu -> xmlToFile ('menu3'); // let's save the xml menu
$menu -> htmlToFile ('menu3'); // let's save the html menu
?>
</body>
</html>
|