Exemplo n.º 1
0
function update_menu($id = 1)
{
    require '../weixin/wechat.class.php';
    $config = $GLOBALS['db']->getRow("SELECT * FROM " . $GLOBALS['ecs']->table('weixin_config') . " WHERE `id` = {$id}");
    $weixin = new core_lib_wechat($config);
    $ret = $GLOBALS['db']->getAll("SELECT * FROM " . $GLOBALS['ecs']->table('weixin_menu') . " where pid=0 order by `order` desc");
    if ($ret) {
        foreach ($ret as $k => $v) {
            $button[$k]['name'] = $v['name'];
            $ret2 = $GLOBALS['db']->getAll("SELECT * FROM " . $GLOBALS['ecs']->table('weixin_menu') . " where pid={$v['id']} order by `order` desc");
            if ($ret2) {
                foreach ($ret2 as $kk => $vv) {
                    $button[$k]['sub_button'][$kk]['name'] = $vv['name'];
                    if ($vv['type'] == 1) {
                        $button[$k]['sub_button'][$kk]['key'] = $vv['value'];
                        $button[$k]['sub_button'][$kk]['type'] = "click";
                    } elseif ($vv['type'] == 3) {
                        $button[$k]['sub_button'][$kk]['key'] = $vv['value'];
                        $button[$k]['sub_button'][$kk]['type'] = "click";
                    } else {
                        $vv['value'] = str_replace('{id}', $id, $vv['value']);
                        $button[$k]['sub_button'][$kk]['url'] = $vv['value'];
                        $button[$k]['sub_button'][$kk]['type'] = "view";
                    }
                }
            } else {
                if ($v['type'] == 1) {
                    $button[$k]['key'] = $v['value'];
                    $button[$k]['type'] = "click";
                } else {
                    $v['value'] = str_replace('{id}', $id, $v['value']);
                    $button[$k]['url'] = $v['value'];
                    $button[$k]['type'] = "view";
                }
            }
        }
    }
    $res = $weixin->createMenu(array('button' => $button));
    if ($res === false) {
        sys_msg('更新菜单出错:' . $weixin->errMsg, 1, $link);
    } else {
        return true;
    }
}