Mailinglisten-Archive |
Hallo Albin,
Albin Blaschka wrote:
> <li acl = "1"><a href = "script1.php">Ausgabe</a>
> <ul acl = "1">
> <li acl = "1"><a href = "script2.php">Persönliche Liste</a></li>
> <li acl = "2"><a href = "script3.php">Gesamtliste</a></li>
> <li acl = "2"><a href = "script4.php">Statistik</a></li>
> </ul>
> </li>
Verstehe ich das richtig, dass für User 2, dieser gesamte Ast "Ausgab"
wegfällt, während User 1 fast alles zu sehen bekommt, außer
"Gesamtliste" und "Statistik"? (Die bekommt aber auch User 2 nicht zu
sehen, weil ja schon das Elternelement gesperrt ist.)
> Ich mach's auch gern andersherum, streiche die Knoten, die nicht
> hineinpassen...hatte aber auch in dieser Richtung keinen Lichtblitz...
Wenn ich Dich richtig verstanden habe, und es nicht unbedingt mit
DOM-Funktionen realisiert werden soll, könnte es so gehen:
==========================
<?php
require_once("xml-line-0.4.4.3.php");
$xml = new xml_line("liste.xml", "xml");
//alle Elemente rauswerfen, bei denen acl="2" ist:
$xml->delete_element(0, "", "", array('acl' => 2));
echo "<pre>";
$xml->xml_stream('lat1', 'lat1');
echo htmlentities($xml->get_output());
echo "</pre>";
?>
Ausgabe:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ul id="navigation" class="horizontal">
<li acl="1"><a href="edit.php">Daten pflegen</a>
<ul acl="1">
<li acl="1"><a href="edit.php?flag=input">Werk eingeben</a></li>
<li acl="1"><a href="edit.php?flag=edit">Werk editieren</a></li>
</ul>
</li>
<li acl="1"><a href="script1.php">Ausgabe</a>
<ul acl="1">
<li acl="1"><a href="script2.php">Persönliche Liste</a></li>
</ul>
</li>
</ul>
========================
Bei Bedarf packe ich das Beispiel mal in eine Zip-Datei und stelle es
zum Testen zur Verfügung.
Viele Grüße
Peter
--
http://www.media-palette.de/tools/xml-line/
php::bar PHP Wiki - Listenarchive