<?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>
 
 |