00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00047 class t3lib_topmenubase {
00048
00049 function menuItems($menuItems) {
00050 $output = '';
00051
00052
00053 foreach($menuItems as $item) {
00054
00055
00056 if ($item['title']=='--div--') {
00057 $output.= '<div class="menuLayerItem_divider" onmouseover="menuOpenSub(this);"></div>';
00058 } else {
00059
00060 $itemCode = '';
00061 $onClick = '';
00062
00063
00064 if (is_array($item['subitems'])) {
00065 $itemCode.= $this->menuLayer($item['subitems'],$item['id']);
00066 }
00067
00068
00069 switch ($item['state']) {
00070 case 'checked';
00071 $itemCode.= '<img src="gfx/x_state_checked.png" width="16" class="menulayerItemIcon">';
00072 break;
00073 default:
00074 $itemCode.= '<img src="gfx/clear.gif" width="16" class="menulayerItemIcon">';
00075 break;
00076 }
00077
00078
00079 if ($item['icon']) {
00080 if (is_array($item['icon'])) {
00081 $itemCode.= '<img '.t3lib_iconWorks::skinImg('',$item['icon'][0],$item['icon'][1]).' class="menulayerItemIcon" alt="" />';
00082 } else {
00083 $itemCode.= $item['icon'];
00084 }
00085 }
00086
00087
00088 $itemCode.= htmlspecialchars($item['title']).' ';
00089
00090
00091 $itemCode.= is_array($item['subitems']) ? '<img src="gfx/x_thereismore.png" class="menulayerItemIcon" style="padding-left:40px;">' : '';
00092
00093
00094 $onClick.= $item['xurl'] ? "if (Event.element(event)==this){openUrlInWindow('".$item['xurl']."','aWindow');}" : '';
00095 $onClick.= $item['url'] ? "if (Event.element(event)==this){content.document.location='".$item['url']."';}" : '';
00096 $onClick.= $item['onclick'] ? $item['onclick'] : $item['onclick'];
00097
00098
00099 $output.= '<div '.($item['id'] ? 'id="'.htmlspecialchars($item['id']).'"' : '').'class="menuLayerItem" onmouseover="menuOpenSub(this);"'.($onClick ? ' onclick="'.htmlspecialchars($onClick).'"' : '').'>'.$itemCode.'</div>';
00100 $output.= $item['html'];
00101 }
00102 }
00103
00104 return $output;
00105 }
00109 function menuLayer($menuItems,$baseid='') {
00110 $output = $this->menuItems($menuItems);
00111
00112
00113 return $this->simpleLayer($output,$baseid?$baseid.'-layer':'');
00114 }
00115
00116 function simpleLayer($output,$id='',$class='menulayer') {
00117 return '<div class="'.$class.'" style="display: none;"'.($id?' id="'.htmlspecialchars($id).'"':'').'>'.$output.'</div>';
00118 }
00119
00120 function menuItemLayer($id,$content,$onclick='') {
00121 return '<div id="'.$id.'" class="menuItems menu-normal" style="float: left;" onclick="menuToggleState(\''.$id.'\');'.$onclick.'" onmouseover="menuMouseOver(\''.$id.'\');" onmouseout="menuMouseOut(\''.$id.'\');">'.$content.'</div>';
00122 }
00123 function menuItemObject($id,$functionContent) {
00124 return '
00125 <script>
00126 menuItemObjects[\''.$id.'\'] = {
00127 '.$functionContent.'
00128 }
00129 </script>
00130 ';
00131 }
00132 }
00133
00134 ?>