Example #1
0
function prepareMenu(array &$menu_list)
{
    $is_active = FALSE;
    $rights = \Biome\Biome::getService('rights');
    foreach ($menu_list as $index => &$menu) {
        $url = isset($menu['url']) ? $menu['url'] : '';
        $menu['class'] = isset($menu['class']) ? $menu['class'] : '';
        $menu['subclass'] = isset($menu['subclass']) ? $menu['subclass'] : '';
        /**
         * Check if the menu is allowed.
         */
        if (!empty($url) && !$rights->isUrlAllowed('GET', $url)) {
            unset($menu_list[$index]);
            continue;
        }
        if (URL::matchRequest($url)) {
            $menu['class'] .= 'active';
            $is_active = TRUE;
        }
        if (!empty($menu['submenu'])) {
            if (prepareMenu($menu['submenu'])) {
                $menu['subclass'] .= 'in';
                $is_active = TRUE;
            }
            /* Remove the menu if no other menu is inside. */
            if (empty($menu['submenu'])) {
                unset($menu_list[$index]);
            }
        }
    }
    unset($menu);
    return $is_active;
}
Example #2
0
<?php

include_once '../common/include-file.php';
include_once '../wxapi/wxconsts.php';
include_once '../wxapi/WxApi.class.php';
$wxAccount = new Account();
$wxAccount = $wxAccount->getSingleAccount();
$appId = $wxAccount['appid'];
$appSecret = $wxAccount['appsecret'];
$gid = $_GET['gid'];
$accountMenu = new AccountMenu();
$sql = ' select * from t_wxcms_account_menu where gid = ' . $gid . ' order by parentId , sort ';
$querySet = $accountMenu->queryBySql($sql);
$menuStr = prepareMenu($querySet);
$rst = WxApi::create_menu($appId, $appSecret, $menuStr);
if ($rst->errcode == 0) {
    $wxAccountGroup = new AccountMenuGroup();
    $wxAccountGroup->updateById(array("id" => $gid, "enable" => 1));
    header("Location:" . $CONTEXT_PATH . "/wxcms/success.php?type=1");
} else {
    header("Location:" . $CONTEXT_PATH . "/wxcms/failure.php?type=1&errcode=" . $rst->errcode);
}
function prepareMenu($querySet)
{
    $menuArr = array();
    $subMenuArr = array();
    foreach ($querySet as $item) {
        if ($item['parentId'] == 0) {
            array_push($menuArr, $item);
        } else {
            if (empty($subMenuArr[$item['parentId']])) {