XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
menu.php
Go to the documentation of this file.
1 <?php
19 defined( 'XOOPS_ROOT_PATH' ) or die();
20 
22 {
27  var $_menutop = array();
28  var $_menutabs = array();
29  var $_obj;
30  var $_header;
32 
36  function __construct()
37  {
38  global $xoopsModule;
39  $this->_obj =& $xoopsModule;
40  }
41 
42  function getAddon($addon)
43  {
44  $this->_obj =& $addon;
45  }
46 
47  function addMenuTop($value, $name = "")
48  {
49  if ($name != "" ) {
50  $this->_menutop[$value] = $name;
51  } else {
52  $this->_menutop[$value] = $value;
53  }
54  }
55 
56  function addMenuTopArray($options, $multi = true)
57  {
58  if (is_array($options)) {
59  if ($multi == true) {
60  foreach ($options as $k => $v) {
61  $this->addOptionTop($k, $v);
62  }
63  } else {
64  foreach ($options as $k) {
65  $this->addOptiontop($k, $k);
66  }
67  }
68  }
69  }
70 
71  function addMenuTabs($value, $name = "")
72  {
73  if ($name != "") {
74  $this->_menutabs[$value] = $name;
75  } else {
76  $this->_menutabs[$value] = $value;
77  }
78  }
79 
80  function addMenuTabsArray($options, $multi = true)
81  {
82  if (is_array($options)) {
83  if ($multi == true) {
84  foreach ($options as $k => $v) {
85  $this->addMenuTabsTop($k, $v);
86  }
87  } else {
88  foreach ($options as $k) {
89  $this->addMenuTabsTop($k, $k);
90  }
91  }
92  }
93  }
94 
95  function addHeader($value)
96  {
97  $this->_header = $value;
98  }
99 
100  function addSubHeader($value)
101  {
102  $this->_subheader = $value;
103  }
104 
105  function breadcrumb_nav($basename = "Home")
106  {
107  global $bc_site, $bc_label;
108  $site = $bc_site;
109  $return_str = "<a href=\"/\">$basename</a>";
110  $str = substr(dirname( xoops_getenv('PHP_SELF')), 1);
111 
112  $arr = explode('/', $str);
113  $num = count($arr);
114 
115  if ($num > 1) {
116  foreach($arr as $val) {
117  $return_str .= ' &gt; <a href="' . $site . $val . '/">' . $bc_label[$val] . '</a>';
118  $site .= $val . '/';
119  }
120  } else if ($num == 1) {
121  $arr = $str;
122  $return_str .= ' &gt; <a href="' . $bc_site . $arr . '/">' . $bc_label[$arr] . '</a>';
123  }
124  return $return_str;
125  }
126 
127  function render($currentoption = 1, $display = true)
128  {
129  global $modversion;
130  $_dirname = $this->_obj->getVar('dirname');
131  $i = 0;
132 
136  foreach ($this->_menutabs as $k => $menus) {
137  $menuItems[] = $menus;
138  }
139  $breadcrumb = $menuItems[$currentoption];
140  $menuItems[$currentoption] = 'current';
141  $menu = "<div id='buttontop_mod'>";
142  $menu .= "<table style='width: 100%; padding: 0;' cellspacing='0'>\n<tr>";
143  $menu .= "<td style='font-size: 10px; text-align: left; color: #2F5376; padding: 0 6px; line-height: 18px;'>";
144  foreach ($this->_menutop as $k => $v) {
145  $menu .= " <a href=\"$k\">$v</a> |";
146  }
147  $menu = substr($menu, 0, -1);
148 
149  $menu .= "</td>";
150  $menu .= "<td style='text-align: right;'><strong>" . $this->_obj->getVar( 'name' ) . "</strong> : " . $breadcrumb . "</td>";
151  $menu .= "</tr>\n</table>\n";
152  $menu .= "</div>\n";
153  $menu .= "<div id='buttonbar_mod'><ul>";
154  foreach ($this->_menutabs as $k => $v) {
155  $menu .= "<li id='" . $menuItems[$i] . "'><a href='" . XOOPS_URL . "/modules/" . $this->_obj->getVar( 'dirname' ) . "/" . $k . "'><span>$v</span></a></li>\n";
156  $i++;
157  }
158  $menu .= "</ul>\n</div>\n";
159  if ($this->_header) {
160  $menu .= "<h4 class='admin_header'>";
161  if (isset( $modversion['name'])) {
162  if ($modversion['image'] && $this->_obj->getVar( 'mid' ) == 1) {
163  $system_image = XOOPS_URL . '/modules/system/images/system/' . $modversion['image'];
164  } else {
165  $system_image = XOOPS_URL . '/modules/' . $_dirname . '/images/' . $modversion['image'];
166  }
167  $menu .= "<img src='$system_image' align='middle' height='32' width='32' alt='' />";
168  $menu .= " " . $modversion['name'] . "</h4>\n";
169  } else {
170  $menu .= " " . $this->_header . "</h4>\n";
171  }
172  }
173  if ($this->_subheader) {
174  $menu .= "<div class='admin_subheader'>" . $this->_subheader . "</div>\n";
175  }
176  $menu .= '<div class="clear">&nbsp;</div>';
177  unset($this->_obj);
178  if ($display == true) {
179  echo $menu;
180  } else {
181  return $menu;
182  }
183  }
184 }
185 
186 ?>