function admin_menu_menu($args = array()) { global $admin_menu, $MSO; $admin_url = getinfo('site_admin_url'); $nr = "\n"; $out = ''; if (count($MSO->data['uri_segment']) > 1) { $cur_url2 = $MSO->data['uri_segment'][2]; // второй сегмент # текущий урл строится из сегментов от второго до последнего $cur_url = $MSO->data['uri_segment']; $cur_url = array_slice($cur_url, 1); $cur_url = implode('/', $cur_url); if (!$cur_url) { $cur_url = 'home'; } } else { $cur_url = 'home'; $cur_url2 = 'home'; } // если меню не содержит подменю, то не выводим его $admin_menu1 = $admin_menu; foreach ($admin_menu1 as $key => $value) { if (count($admin_menu1[$key]) < 2) { unset($admin_menu1[$key]); } } // pr($admin_menu1); foreach ($admin_menu1 as $key => $value) { $out .= $nr . '<ul class="admin-menu admin-menu-' . ($key ? $key : 'beginning') . '">'; $out .= $nr . '<li class="admin-menu-top"><a href="#" class="admin-menu-section">' . _mso_del_menu_pod($value['']) . '</a>'; if (count($value) > 1) { $out .= $nr . ' <ul class="admin-submenu">'; foreach ($value as $url => $name) { if ($value[''] == $name) { continue; } if ($url == $cur_url or $url == $cur_url2) { $selected = ' class="admin-menu-selected admin-menu-' . mso_slug($url) . '"'; } else { $selected = ' class="admin-menu-' . mso_slug($url) . '"'; } $out .= $nr . ' <li' . $selected . ' title="' . _mso_del_menu_pod($name) . '"><a href="' . $admin_url . $url . '">' . _mso_del_menu_pod($name) . '</a></li>'; } $out .= $nr . ' </ul>'; } $out .= $nr . ' </li>' . $nr . '</ul>' . $nr; } return $out; }
function admin_menu_menu($args = array()) { global $admin_menu, $admin_menu_bread, $MSO, $admin_menu_select_option; $admin_url = getinfo('site_admin_url'); $admin_menu_bread = array(); // хлебные крошки $nr = "\n"; $out = ''; $admin_menu_select_option = ''; // <option> для <select> if (count($MSO->data['uri_segment']) > 1) { $cur_url2 = $MSO->data['uri_segment'][2]; // второй сегмент # текущий урл строится из сегментов от второго до последнего $cur_url = $MSO->data['uri_segment']; $cur_url = array_slice($cur_url, 1); $cur_url = implode('/', $cur_url); if (!$cur_url) { $cur_url = 'home'; } } else { $cur_url = 'home'; $cur_url2 = 'home'; } // если меню не содержит подменю, то не выводим его $admin_menu1 = $admin_menu; foreach ($admin_menu1 as $key => $value) { if (count($admin_menu1[$key]) < 2) { unset($admin_menu1[$key]); } } // pr($admin_menu1); foreach ($admin_menu1 as $key => $value) { // обрамляющий ul.admin-menu — выводим в конце цикла, чтобы задать css-классы $out_block_css_class = 'admin-menu admin-menu-' . ($key ? $key : 'beginning'); $out1 = $nr . '<li class="admin-menu-top"><a href="#" class="admin-menu-section admin-menu-section-' . ($key ? $key : 'beginning') . '">' . _mso_del_menu_pod($value['']) . '</a>'; $admin_menu_select_option .= '<optgroup label="' . htmlspecialchars(_mso_del_menu_pod($value[''])) . '">' . NR; if (count($value) > 1) { $out1 .= $nr . '<ul class="admin-submenu">'; foreach ($value as $url => $name) { if ($value[''] == $name) { continue; } $opt_selected = ''; if ($url == $cur_url or $url == $cur_url2) { $selected = ' class="admin-menu-selected admin-menu-' . mso_slug($url) . '"'; $opt_selected = ' selected'; $out_block_css_class .= ' admin-menu-top-selected'; if (!$admin_menu_bread) { $admin_menu_bread[] = _mso_del_menu_pod($value['']); $admin_menu_bread[] = _mso_del_menu_pod($name); } } elseif ($key == 'page' and $cur_url2 == 'page_edit') { $out_block_css_class .= ' admin-menu-top-selected'; $selected = ' class="admin-menu-' . mso_slug($url) . '"'; } else { $selected = ' class="admin-menu-' . mso_slug($url) . '"'; } $out1 .= $nr . ' <li' . $selected . ' title="' . _mso_del_menu_pod($name) . '"><a href="' . $admin_url . $url . '">' . _mso_del_menu_pod($name) . '</a></li>'; $admin_menu_select_option .= '<option value="' . $admin_url . $url . '"' . $opt_selected . '>' . _mso_del_menu_pod($name) . '</option>' . NR; } $out1 .= $nr . ' </ul>'; } $out1 .= $nr . ' </li>'; $out .= $nr . '<ul class="' . $out_block_css_class . '">' . $out1 . '</ul>' . $nr; } return $out; }
function admin_menu_menu($args = array()) { global $admin_menu, $admin_menu_bread, $MSO, $admin_menu_select_option; $admin_url = getinfo('site_admin_url'); $admin_menu_bread = array(); // хлебные крошки $nr = "\n"; $out = ''; $admin_menu_select_option = ''; // <option> для <select> if (count($MSO->data['uri_segment']) > 1) { $cur_url2 = $MSO->data['uri_segment'][2]; // второй сегмент # текущий урл строится из сегментов от второго до последнего $cur_url = $MSO->data['uri_segment']; $cur_url = array_slice($cur_url, 1); $cur_url = implode('/', $cur_url); if (!$cur_url) { $cur_url = 'home'; } } else { $cur_url = 'home'; $cur_url2 = 'home'; } // если меню не содержит подменю, то не выводим его $admin_menu1 = $admin_menu; foreach ($admin_menu1 as $key => $value) { if (count($admin_menu1[$key]) < 2) { unset($admin_menu1[$key]); } } // pr($admin_menu1); foreach ($admin_menu1 as $key => $value) { // обрамляющий ul.admin-menu — выводим в конце цикла, чтобы задать css-классы $out_block_css_class = 'admin-menu admin-menu-' . ($key ? $key : 'beginning'); $out1 = $nr . '<li class="admin-menu-top"><a href="#" class="admin-menu-section admin-menu-section-' . ($key ? $key : 'beginning') . '">' . _mso_del_menu_pod($value['']) . '</a>'; $admin_menu_select_option .= '<optgroup label="' . htmlspecialchars(_mso_del_menu_pod($value[''])) . '">' . NR; if (count($value) > 1) { $out1 .= $nr . '<ul class="admin-submenu">'; foreach ($value as $url => $name) { if ($value[''] == $name) { continue; } $opt_selected = ''; if ($url == $cur_url or $url == $cur_url2) { $selected = ' class="admin-menu-selected admin-menu-' . mso_slug($url) . '"'; $opt_selected = ' selected'; $out_block_css_class .= ' admin-menu-top-selected'; if (!$admin_menu_bread) { $admin_menu_bread[] = _mso_del_menu_pod($value['']); $admin_menu_bread[] = _mso_del_menu_pod($name); } } elseif ($key == 'page' and $cur_url2 == 'page_edit') { $out_block_css_class .= ' admin-menu-top-selected'; $selected = ' class="admin-menu-' . mso_slug($url) . '"'; } else { $selected = ' class="admin-menu-' . mso_slug($url) . '"'; } $out1 .= $nr . ' <li' . $selected . ' title="' . _mso_del_menu_pod($name) . '"><a href="' . $admin_url . $url . '">' . _mso_del_menu_pod($name) . '</a></li>'; $admin_menu_select_option .= '<option value="' . $admin_url . $url . '"' . $opt_selected . '>' . _mso_del_menu_pod($name) . '</option>' . NR; } $out1 .= $nr . '</ul>'; } $out1 .= $nr . ' </li>'; $out .= $nr . '<ul class="' . $out_block_css_class . '">' . $out1 . '</ul>' . $nr; } // пункты в настройки админ-панели в отдельную опцию // добавляется в самый верх в Избранное $admin_menu_favorites = trim(mso_get_option('admin_menu_favorites', 'general')); if ($admin_menu_favorites) { $menu = str_replace("\r", "", $admin_menu_favorites); // если это windows $menu = str_replace("_NR_", "\n", $menu); $menu = str_replace(" ~ ", "\n", $menu); $menu = str_replace("\n\n\n", "\n", $menu); $menu = str_replace("\n\n", "\n", $menu); $menu = explode("\n", trim($menu)); $out_my = '<ul class="admin-menu admin-menu-favorites"><li class="admin-menu-top"><a href="#" class="admin-menu-section admin-menu-section-favorites">' . t('Избранное') . '</a><ul class="admin-submenu">'; $my_admin_menu_select_option = '<optgroup label="' . htmlspecialchars(t('Избранное')) . '">'; foreach ($menu as $elem) { # разобъем строчку по адрес | название $elem = explode('|', trim($elem)); $elem = array_map('trim', $elem); $elem = array_unique($elem); $url = $name = $attr = ''; if (isset($elem[0])) { $url = $elem[0]; } // адрес if (isset($elem[1])) { $name = $elem[1]; } // название if (isset($elem[2]) and $elem[2]) { $attr = ' ' . $elem[2]; } // атрибуты $out_my .= '<li title="' . $name . '"><a href="' . $url . '"' . $attr . '><span>' . $name . '</span></a></li>'; $my_admin_menu_select_option .= '<option value="' . $url . '"' . '>' . $name . '</option>'; } $out_my .= '</ul></li></ul>'; $admin_menu_select_option = $my_admin_menu_select_option . $admin_menu_select_option; $out = $out_my . $out; } return $out; }