function topheading($current_id, $title = null) { global $MENU_OPTIONS; open('table', array('id' => 'topheading')); tag('tr', array('id' => 'r1'), txttag('td', array('id' => 'c11'), ' ') . txttag('td', array('id' => 'c12'), ' ')); open('tr', array('id' => 'r2')); tag('td', array('id' => 'c21'), ' '); open('td', array('id' => 'menu')); $i = 0; foreach ($MENU_OPTIONS as $t_id => $t_link) { if ($i++ != 0) { echo ' - '; } tag('a', array('class' => $t_id == $current_id ? 'current' : null, 'href' => $t_link['link'], 'title' => $t_link['tooltip']), escape($t_link['text'])); } close('table'); }
<?php require_once 'site/base.inc.php'; head('jMList'); topheading('home'); open('div', array('id' => 'body')); h2('Overview'); $_jMList = txttag('span', array('class' => 'jmlist'), 'jMList'); $_XML = acronym('XML', 'eXtensible Markup Language'); $_HTML = acronym('HTML', 'HyperText Markup Language'); $_XSL = acronym('XSL', 'eXtensible Stylesheet Language'); $_RDF = acronym('RDF', 'Resource Description Framework'); $_RSS = acronym('RSS', 'RDF Site Summary'); tag('p', array(), "{$_jMList} is a small utility that scans one or more given " . "directories for media files (currently only audio files) and " . "generates a {$_XML} listing of the whole directory tree with " . "information about each media file such as filesize, song length, " . "title, author, album, etc. A {$_XSL} stylesheet can be applied to " . "the output to transform into a different output, like tabular or " . "tree listings in plain text, {$_XML}, {$_HTML}, {$_RDF}, {$_RSS} or any " . "other {$_XML} format."); $_MP3 = acronym('MP3', 'MPEG Layer-3'); $_FLAC = acronym('FLAC', 'Free Lossless Audio Codec'); tag('p', array(), "{$_jMList} is still in its earlier stages of developement, but it " . "already supports identification of {$_MP3} and OGG files and is capable " . "of extracting meta-information from ID3, ID3v2 and Vorbis tags."); tag('p', array(), "{$_jMList} is released under the " . a('GNU', 'http://www.gnu.org/') . " " . a('General Public License', 'http://www.gnu.org/licenses/gpl.html') . "."); h2('Features'); tag('p', array(), "The following features are currently supported by {$_jMList}:"); open('ol', array()); tag('li', array(), "Internally transform output through {$_XSL}."); tag('li', array(), "Parsing information from MPEG Layer 1, 2 and 3 ({$_MP3}) files, both ID3 v1 and v2 tags."); tag('li', array(), "Parsing information from Ogg Vorbis (OGG) files."); tag('li', array(), "Full Unicode support."); tag('li', array(), "Parsing data in UTF-8 and ISO8859-1 encondings from ID3 tags."); close(); tag('p', array(), "The following features are planned to be supported:"); $_NLS = acronym('NLS', 'National Language Support'); $_i18n = acronym('i18n', 'internationalization'); open('ol');
<?php require_once 'site/base.inc.php'; head('Download - jMList'); topheading('download'); open('div', array('id' => 'body')); $_jMList = txttag('span', array('class' => 'jmlist'), 'jMList'); h2('Requirements'); tag('p', array(), "The following libraries are required in order to use or compile " . "{$_jMList}:"); open('ul', array()); tag('li', array(), a('GLib', 'http://www.gtk.org/') . " 2.4.0 or higher (required)"); tag('li', array(), a('LibXML', 'http://xmlsoft.org/') . " 2.6.0 or higher (require)"); tag('li', array(), a('LibXSLT', 'http://xmlsoft.org/XSLT/') . " 1.1.0 or higher (required)"); tag('li', array(), a('ID3Lib', 'http://id3lib.sourceforge.net/') . " 3.8.0 or higher (required)"); tag('li', array(), a('OggVorbis', 'http://www.xiph.org/ogg/vorbis/') . " 1.1.0 or higher (optional, for OggVorbis support)"); close(); h2('Source Packages'); h3('Version 0.1.0 (beta)'); tag('p', array(), a('jmlist-0.1.0.tar.gz', 'http://download.berlios.de/jmlist/jmlist-0.1.0.tar.gz') . " (initial release) - " . a('Release Notes', 'http://developer.berlios.de/project/shownotes.php?release_id=5187')); h2('Repository Access'); tag('p', array(), "{$_jMList} is hosted on a " . a('Subversion', 'http://subversion.tigris.org/') . " repository. " . "You can checkout it from " . a('svn://svn.berlios.de/jmlist/source/trunk') . " " . "or browse it at " . a('http://svn.berlios.de/viewcvs/jmlist/source/trunk') . "."); tag('p', array(), "In order to compile from the repository, you will need the following " . "additional software:"); open('ul', array()); tag('li', array(), a('autoconf', 'http://www.gnu.org/software/autoconf/') . " 2.59 or higher"); tag('li', array(), a('automake', 'http://www.gnu.org/software/automake/') . " 1.8 or higher"); close(); tag('p', array(), "After checking-out the trunk tree, run " . txttag('code', array(), './configure.svn') . " on the working copy " . "directory in order to generate support files needed to configure and " . "compile {$_jMList}. After that, proceed as usual with " . txttag('code', array(), './configure --help') . ", " . txttag('code', array(), './configure') . ", " . txttag('code', array(), 'make') . " and " . txttag('code', array(), 'make install') . ".");
function form_hidden($name, $value = null) { return txttag('input', array('type' => 'hidden', 'name' => $name, 'value' => $value)); }
<?php require_once 'site/base.inc.php'; head('Screenshots - jMList'); topheading('screenshots'); open('div', array('id' => 'body')); h2('Live Screenshot'); $_jMList = txttag('span', array('class' => 'jmlist'), 'jMList'); open('div', array('class' => 'margin')); open('table', array('border' => '0')); open('tr'); tag('td', array('align' => 'center'), a(txttag('img', array('border' => 0, 'src' => 'demo/rclayderman-thumb.png', 'alt' => 'Try it!')), 'demo/rclayderman.html', 'Try it!')); tag('td', array('valign' => 'top'), txttag('p', array(), "This is an example of output produced by {$_jMList}. The " . "stylesheet used was xhtml-collapsible, which generates a " . "tree listing in XHTML using JavaScript to make folders " . "collapsible like in a file manager. It still lacks tag " . "information (title, artist, etc).") . txttag('p', array(), a("Here", 'demo/rclayderman.xml') . " is the unstyled XML output produced by jMList.")); close('div');