<div class="titlebox">
<div class="h1">
The PHP Layers Menu System 3.1.1 (development)
</div>
</div>

<p>
PHP Layers Menu is a hierarchical dynamic menu system that allows
to prepare &quot;on the fly&quot; dynamic HTML menus relying
on the PHP scripting engine for the processing of data items.
</p>
<p>
It is released under the GNU Lesser General Public License (LGPL),
either Version 2.1, or (at your option) any later version.
</p>
<p>
It supports a wide range of browsers: Mozilla, Konqueror, Netscape,
Opera, Internet Explorer; rather old browser versions are supported, too;
accessibility is provided for text-only browsers.
</p>
<p>
It achieves a compact view and a reasonably small file size for the page
also with a very large number of entries.
</p>
<p>
It provides horizontal and vertical layers-based menus whose behavior
is analogous to the Gnome, KDE, and MS Windows main menus.
It provides also JavaScript-based tree menus, whose look is analogous
to the most widely used file managers and bookmark handling tools.
</p>
<hr />
<p>
Layers-based menus require JavaScript and work at least
on the following browsers:
</p>
<ul>
<li><div class="phplmnormal">Mozilla 0.6+ (versions 0.9.1+ are suggested)</div></li>
<li><div class="phplmnormal">Netscape 6.0+ and other browsers based on Mozilla, e.g. Epiphany and Galeon</div></li>
<li><div class="phplmnormal">Konqueror 2.2+ and browsers based on it, e.g. Safari</div></li>
<li><div class="phplmnormal">Opera 6.x and 7.x</div></li>
<li><div class="phplmnormal">Internet Explorer 5, 5.5, 6.</div></li>
</ul>
<p>
If old-style templates are used instead of the default ones, layers-based
menus work also on the following browsers:
</p>
<ul>
<li><div class="phplmnormal">Netscape 4.07+</div></li>
<li><div class="phplmnormal">Opera 5.x</div></li>
<li><div class="phplmnormal">Internet Explorer 4</div></li>
</ul>
<hr />
<p>
The PHP Layers Menu System provides also JavaScript-based tree menus,
whose nodes can be expanded and collapsed on sufficiently DOM-compliant
browsers (they remain completely expanded for the other browsers).
They have more strict requirements w.r.t. the layers menus and provide
complete functionality only to browsers sufficiently DOM-compliant
for the purpose at hand, i.e.:
</p>
<ul>
<li><div class="phplmnormal">Mozilla (versions 0.9.1+ are suggested)</div></li>
<li><div class="phplmnormal">Netscape 6.0+ and other browsers based on Mozilla, e.g. Epiphany and Galeon</div></li>
<li><div class="phplmnormal">Konqueror 3.0+ and browsers based on it, e.g. Safari</div></li>
<li><div class="phplmnormal">Opera 7.x</div></li>
<li><div class="phplmnormal">Internet Explorer 4, 5, 5.5, 6</div></li>
</ul>
<p>
The following browsers are not supported, as supporting them is either not possible at all or really too hard:
</p>
<ul>
<li><div class="phplmnormal">Netscape 4.x</div></li>
<li><div class="phplmnormal">Konqueror 2.x</div></li>
<li><div class="phplmnormal">Lynx and Links</div></li>
<li><div class="phplmnormal">Opera 5.x and 6.x</div></li>
</ul>
<p>
However, full accessibility is provided for the above browsers:
the Tree Menus always appear completely exploded (and no node can be collapsed)
on them, and this guarantees a rather good accessibility for them.
</p>
<hr />
<p>
Two classes are provided to prepare also &quot;server-side based&quot;
tree menus (that have just the same look of the above JavaScript-based
tree menus, but require the PHP support on the web server) and plain menus
that do not require the JavaScript support to the browser.
</p>
<hr />
<p>
An arbitrary number of vertical and horizontal menus can be used
on the same page.
</p>
<p>
As much levels as needed can be used and each menu is dynamically generated
using data retrieved from a file, a string, or a database table;
the data format is rather simple and intuitive.
</p>
<p>
Multiple languages are supported (i18n) if data are retrieved from a database.
</p>
<p>
PHPLM is compliant with current recommendations for PHP developers:
it works correctly with the following settings
</p>
<ul>
<li><div class="preformatted">register_globals = Off</div></li>
<li><div class="preformatted">safe_mode = On</div></li>
<li><div class="preformatted">error_reporting = E_ALL</div></li>
<li><div class="preformatted">allow_call_time_pass_reference = Off</div></li>
<li><div class="preformatted">short_open_tag = Off</div></li>
</ul>
<p>
If PEAR is not used (i.e. if the DB support is not used), it works correctly
also if the open_basedir restriction is in effect.
</p>
<p>
It is compliant with the following standards:
</p>
<ul>
<li><div class="phplmnormal">XHTML 1.0 Transitional</div></li>
<li><div class="phplmnormal">CSS 2.0</div></li>
</ul>
<!-- p class="phplmnormal">
Some interesting customizations are bundled in the PATCHES directory.
</p -->

<pre class="preformatted">
--
Marco Pratesi
</pre>
