Files
oc-server3/htdocs/lang/de/ocstyle/lib/menu.php
2012-08-16 21:04:13 +02:00

452 lines
12 KiB
PHP

<?php
/****************************************************************************
./lang/de/ocstyle/lib/menu.php
-------------------
begin : Mon June 14 2004
For license information see doc/license.txt
****************************************************************************/
/****************************************************************************
*
* Unicode Reminder メモ
*
* $menu contains the entire menu structure
*
* possible array elements are:
*
* title displayed HTML title
* menustring displayed menu text
* siteid unique id of this page
* visible bool, if true this site is shown in the menu structure
* quicklinks array of relativ pages
* (contains assotiativ array with href and text for each page)
* submenu array of submenues. Only the first 3 levels are displayed, deeper levels
* are only for the breadcrump. Each submenu has the same structure as $menu
* navicolor (only top-level menus) backgroundcolor of the menu
* filename filename for href
*
****************************************************************************/
global $menu;
$menu = array(
array(
'title' => t(''),
'menustring' => t('Start'),
'siteid' => 'start',
'visible' => true,
'filename' => 'index.php'
),
array(
'title' => t('My profile'),
'menustring' => t('My profile'),
'siteid' => 'myhome',
'visible' => true,
'filename' => 'myhome.php',
'navicolor' => '#E8DDE4'
),
array(
'title' => t('Caches'),
'menustring' => t('Caches'),
'siteid' => 'search',
'visible' => true,
'filename' => 'search.php',
'navicolor' => '#FFFFC5',
'submenu' => array(
array(
'title' => t('Search'),
'menustring' => t('Search'),
'visible' => true,
'filename' => 'search.php',
'siteid' => 'search',
'submenu' => array(
array(
'title' => t('Show Geocache'),
'menustring' => t('Show Geocache'),
'visible' => false,
'filename' => 'viewcache.php',
'siteid' => 'viewcache',
'submenu' => array(
array(
'title' => t('Create a logentry'),
'menustring' => t('Create a logentry'),
'visible' => false,
'filename' => 'log.php',
'siteid' => 'log_cache'
),
array(
'title' => t('Edit logentry'),
'menustring' => t('Edit logentry'),
'visible' => false,
'filename' => 'editlog.php',
'siteid' => 'editlog'
),
array(
'title' => t('Remove logentry'),
'menustring' => t('Remove logentry'),
'visible' => false,
'filename' => 'removelog.php',
'siteid' => 'removelog_logowner'
),
array(
'title' => t('Remove logentry'),
'menustring' => t('Remove logentry'),
'visible' => false,
'filename' => 'removelog.php',
'siteid' => 'removelog_cacheowner'
),
array(
'title' => t('Edit cache'),
'menustring' => t('Edit cache'),
'visible' => false,
'filename' => 'editcache.php',
'siteid' => 'editcache'
),
array(
'title' => t('Add description'),
'menustring' => t('Add description'),
'visible' => false,
'filename' => 'newdesc.php',
'siteid' => 'newdesc'
),
array(
'title' => t('Edit description'),
'menustring' => t('Edit description'),
'visible' => false,
'filename' => 'editdesc.php',
'siteid' => 'editdesc'
),
array(
'title' => t('Remove description'),
'menustring' => t('Remove description'),
'visible' => false,
'filename' => 'removedesc.php',
'siteid' => 'removedesc'
)
)
),
array(
'title' => t('Select city'),
'menustring' => t('Select city'),
'visible' => false,
'filename' => 'search.php',
'siteid' => 'selectlocid'
),
array(
'title' => t('Show search result'),
'menustring' => t('Result'),
'visible' => false,
'filename' => 'search.php',
'siteid' => 'search.result.caches'
),
array(
'title' => t('Recommendations'),
'menustring' => t('Recommendations'),
'visible' => false,
'filename' => 'recommendations.php',
'siteid' => 'recommendations'
)
)
),
array(
'title' => t('Create a cache'),
'menustring' => t('Create a cache'),
'visible' => true,
'filename' => 'newcache.php',
'siteid' => 'newcache',
'submenu' => array(
array(
'title' => t('Description - Create a cache'),
'menustring' => t('Description'),
'visible' => true,
'filename' => 'articles.php?page=cacheinfo',
'siteid' => 'articles/cacheinfo'
),
array(
'title' => t('HTML preview'),
'menustring' => t('HTML preview'),
'visible' => true,
'filename' => 'htmlprev.php',
'siteid' => 'htmlprev'
),
array(
'title' => t('HTML Tags'),
'menustring' => t('HTML Tags'),
'visible' => true,
'filename' => 'articles.php?page=htmltags',
'siteid' => 'articles/htmltags'
)
)
),
array(
'title' => t('Special caches'),
'menustring' => t('Special caches'),
'visible' => true,
'filename' => 'tops.php',
'siteid' => 'tops'
)
)
),
array(
'title' => t('Map'),
'menustring' => t('Map'),
'siteid' => 'map',
'visible' => true,
'filename' => 'map2.php'
),
array(
'title' => t('Add picture'),
'visible' => false,
'filename' => 'newpic.php',
'menustring' => t('Add picture'),
'siteid' => 'newpic'
),
array(
'title' => t('Edit picture'),
'visible' => false,
'filename' => 'editpic.php',
'menustring' => t('Edit picture'),
'siteid' => 'editpic'
),
array(
'title' => t('Error message'),
'menustring' => t('Error message'),
'visible' => false,
'filename' => 'index.php',
'siteid' => 'error'
),
array(
'title' => t('Message'),
'visible' => false,
'filename' => 'index.php',
'menustring' => t('Message'),
'siteid' => 'message'
),
array(
'title' => t('Changelog'),
'visible' => false,
'filename' => 'index.php',
'menustring' => t('Changelog'),
'siteid' => 'changelog'
),
array(
'title' => t('Sitemap'),
'visible' => false,
'filename' => 'index.php',
'menustring' => t('Sitemap'),
'siteid' => 'sitemap'
),
array(
'title' => t('Verein'),
'visible' => false,
'filename' => 'index.php',
'menustring' => t('Verein'),
'siteid' => 'verein'
)
);
/*
* mnu_MainMenuIndexFromPageId - returns the top level menu
*
* menustructure normally $menu
* pageid siteid to search for
*/
function mnu_MainMenuIndexFromPageId($menustructure, $pageid)
{
/* selmenuitem contains the selected (bold) menu item */
global $mnu_selmenuitem;
for ($i = 0, $ret = -1; ($i < count($menustructure)) && ($ret == -1); $i++)
{
if ($menustructure[$i]['siteid'] == $pageid)
{
$mnu_selmenuitem = $menustructure[$i];
return $i;
}
else
{
if (isset($menustructure[$i]['submenu']))
{
$ret = mnu_MainMenuIndexFromPageId($menustructure[$i]['submenu'], $pageid);
if ($ret != -1) return $i;
}
}
}
return $ret;
}
/*
* mnu_EchoMainMenu - echos the top level menus
*
* selmenuid p.e. mnu_MainMenuIndexFromPageId($menu, $siteid)
*/
function mnu_EchoMainMenu($selmenuid)
{
global $menu;
$c = 0;
for ($i = 0; $i < count($menu); $i++)
{
if ($menu[$i]['visible'] == true)
{
$sItem = '<a href="' . $menu[$i]['filename'] . '">' . htmlspecialchars(t($menu[$i]['menustring']), ENT_COMPAT, 'UTF-8') . '</a>';
$sItemSel = '<a href="' . $menu[$i]['filename'] . '" class=\'selected bg-green06\'>' . htmlspecialchars(t($menu[$i]['menustring']), ENT_COMPAT, 'UTF-8') . '</a>';
if ($menu[$i]['siteid'] == $selmenuid)
/* $sItem = '<li>TODO:selected' . $sItem . '</li>'; */
$sItem = '<li>' . $sItemSel . '</li>';
else
$sItem = '<li>' . $sItem . '</li>';
echo $sItem . "\n";
$c++;
}
}
}
/*
* mnu_EchoSubMenu - echos the 2. and 3. menu level
*
* menustructure $menu
* pageid siteid to search for
* level has to be 1
* bHasSubmenu has to be false
*/
function mnu_EchoSubMenu($menustructure, $pageid, $level, $bHasSubmenu)
{
/* enthält die Hintergrundfarbe des Menüs */
global $mnu_bgcolor;
if (!$bHasSubmenu)
{
/* prüfen, ob ein Submenü vorhanden ist */
for ($i = 0, $bSubmenu = false; ($i < count($menustructure)) && ($bSubmenu == false); $i++)
{
if (isset($menustructure[$i]['submenu']))
{
$bSubmenu = true;
}
}
}
if (!$bHasSubmenu)
{
$cssclass = 'group1';
}
else
{
if ($level == 1)
{
$cssclass = 'group1';
}
else
{
$cssclass = 'group2';
}
}
for ($i = 0; $i < count($menustructure); $i++)
{
if ($menustructure[$i]['visible'] == true)
{
if ($menustructure[$i]['siteid'] == $pageid)
{
echo '<li class="' . $cssclass . ' group_active"><a href="' . $menustructure[$i]['filename'] . '">' . htmlspecialchars(t($menustructure[$i]['menustring']), ENT_COMPAT, 'UTF-8') . '</a></li>' . "\n";
}
else
{
if (isset($menustructure[$i]['submenu']))
{
if (mnu_IsMenuParentOf($menustructure[$i]['submenu'], $pageid))
{
echo '<li class="' . $cssclass . ' group_active"><a href="' . $menustructure[$i]['filename'] . '">' . htmlspecialchars(t($menustructure[$i]['menustring']), ENT_COMPAT, 'UTF-8') . '</a></li>' . "\n";
}
else
{
echo '<li class="' . $cssclass . '"><a href="' . $menustructure[$i]['filename'] . '">' . htmlspecialchars(t($menustructure[$i]['menustring']), ENT_COMPAT, 'UTF-8') . '</a></li>' . "\n";
}
}
else
{
echo '<li class="' . $cssclass . '"><a href="' . $menustructure[$i]['filename'] . '">' . htmlspecialchars(t($menustructure[$i]['menustring']), ENT_COMPAT, 'UTF-8') . '</a></li>' . "\n";
}
}
if (isset($menustructure[$i]['submenu']))
{
/* rekursiver Aufruf zur Ausgabe der 3. Ebene */
mnu_EchoSubMenu($menustructure[$i]['submenu'], $pageid, $level + 1, true);
}
}
}
}
/*
* mnu_IsMenuParentOf - returns true if menuitemid is part of $parentmenuitems, otherwise false
*
* parentmenuitems p.e. $menu
* menuitemid siteid to search for
*/
function mnu_IsMenuParentOf($parentmenuitems, $menuitemid)
{
for ($i = 0; $i < count($parentmenuitems); $i++)
{
if ($parentmenuitems[$i]['siteid'] == $menuitemid) return true;
if (isset($parentmenuitems[$i]['submenu']))
{
$ret = mnu_IsMenuParentOf($parentmenuitems[$i]['submenu'], $menuitemid);
if ($ret == true) return true;
}
}
return false;
}
/*
* mnu_EchoBreadCrumb - echos the breadcrumb
*
* pageid siteid to search for
* mainmenuindex index of the top level menu
*/
function mnu_EchoBreadCrumb($pageid, $mainmenuindex)
{
global $menu;
echo htmlspecialchars(t($menu[$mainmenuindex]['menustring']), ENT_COMPAT, 'UTF-8');
if (isset($menu[$mainmenuindex]['submenu']) && ($menu[$mainmenuindex]['siteid'] != $pageid))
{
mnu_prv_EchoBreadCrumbSubItem($pageid, $menu[$mainmenuindex]['submenu']);
}
}
/*
* mnu_prv_EchoBreadCrumbSubItem - private helper function
*/
function mnu_prv_EchoBreadCrumbSubItem($pageid, $menustructure)
{
for ($i = 0; $i < count($menustructure); $i++)
{
if ($menustructure[$i]['siteid'] == $pageid)
{
echo '&nbsp;&gt;&nbsp;' . htmlspecialchars(t($menustructure[$i]['menustring']), ENT_COMPAT, 'UTF-8');
return;
}
else
{
if (isset($menustructure[$i]['submenu']))
{
if (mnu_IsMenuParentOf($menustructure[$i]['submenu'], $pageid))
{
echo '&nbsp;&gt;&nbsp;' . htmlspecialchars(t($menustructure[$i]['menustring']), ENT_COMPAT, 'UTF-8');
mnu_prv_EchoBreadCrumbSubItem($pageid, $menustructure[$i]['submenu']);
return;
}
}
}
}
}
?>