<div class="titlebox">
<div class="h1">
The PHP Layers Menu System 3.2.0-rc
</div>
</div>

<p>
<b>PHP Layers Menu</b> is a hierarchical menu system
to prepare &quot;on the fly&quot; DHTML 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, Safari,
Opera, Internet Explorer; rather old browser versions are supported, too;
accessibility is provided for text-only browsers.
</p>
<p>
It achieves a compact layout and a compact output code also for menus
with a large number of entries.
</p>
<p>
It provides horizontal and vertical layers-based menus whose behavior
is analogous to menus of commonly used GUI-based applications.
It also provides JavaScript-based tree menus, whose look is analogous
to the most widely used file managers and bookmark handling tools.
</p>
<p>
<b>Note:</b> <a href="http://www.sitebar.org" target="sitebar">SiteBar</a> can act as a backend for PHPLM;
visit <a href="http://www.sitebar.org" target="sitebar">the SiteBar web site</a> for details.
</p>
<hr />
<p>
<a name="layersmenus"></a>
<b>Layers-based menus</b> require JavaScript and work at least
on the following browsers:
</p>
<ul>
<li><div class="phplmnormal">Mozilla 0.6+ (versions 0.9.2+ 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 for Linux</div></li>
<li><div class="phplmnormal">Opera 7.x</div></li>
<li><div class="phplmnormal">Internet Explorer 5, 5.5, 6.</div></li>
</ul>
<p>
If <b>old-style templates</b> 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 and 6.x</div></li>
<li><div class="phplmnormal">Internet Explorer 4</div></li>
</ul>
<hr />
<p>
<a name="treemenus"></a>
The PHP Layers Menu System also provides <b>JavaScript-based tree menus</b>,
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.2+ 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>
<a name="accessibilitymenus"></a>
Two classes are provided to prepare also <b>accessibility solutions</b>,
i.e. &quot;server-side based&quot; tree menus
(that have just the same look of the above mentioned
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 />
<a name="featuresandstds"></a>
<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>
To use the DB support, PEAR DB is required;
obviously, if the open_basedir restriction is in effect,
PEAR must be installed somewhere inside the allowed path.
</p>
<p>
PHPLM is compliant with the following web standards:
</p>
<ul>
<li><div class="phplmnormal">XHTML 1.0 Transitional</div></li>
<li><div class="phplmnormal">CSS 2.0</div></li>
</ul>
<hr />
<a name="customizations"></a>
<p class="phplmnormal">
Some interesting <b>customizations</b> are bundled in the PATCHES directory.
</p>

<pre class="preformatted">
--
Marco Pratesi - <a href="http://www.marcopratesi.it/" target="marcopratesi.it">http://www.marcopratesi.it/</a>
</pre>
