Пример #1
0
function sarr($arr, $id)
{
    global $ic;
    $thisa = array();
    $aarr = seekarr($arr, 'fup', $id);
    //fup 上级
    if (count($aarr) > 0) {
        for ($i = 0; $i < count($aarr); $i++) {
            $thisa[$ic] = $aarr[$i];
            $ic += 1;
            $o = $aarr[$i]['id'];
            //fid 栏目id
            $toarr = sarr($arr, $o);
            if (count($toarr) > 0) {
                $thisa = array_merge($thisa, $toarr);
            }
        }
        return $thisa;
    }
}
Пример #2
0
    public function menusend()
    {
        $access_token = self::get_access_token();
        $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token=' . $access_token;
        //$json->access_token;
        $mlist = $this->db->field('id,fup,type,name,key,list')->select();
        //列出一级菜单并排序
        $muplist = array_values(array_sort(seekarr($mlist, 'fup', 0), 'list', 'asc'));
        $data = '{
					"button":[';
        foreach ($muplist as $k => $val) {
            $k == 0 || ($data .= ',');
            //列出二级菜单并排序
            $mson = array_values(array_sort(seekarr($mlist, 'fup', $val['id']), 'list', 'desc'));
            if (array_filter($mson)) {
                $data .= '{
								"name":"' . $val['name'] . '",
								"sub_button":[';
                foreach ($mson as $key => $value) {
                    $value['type'] == 0 ? $type = 'click' : ($type = 'view');
                    $value['type'] == 0 ? $but = 'key' : ($but = 'url');
                    $key == 0 || ($data .= ',');
                    $data .= '{
									"type":"' . $type . '",
									"name":"' . $value['name'] . '",
									"' . $but . '":"' . $value['key'] . '"
								}';
                }
                $data .= ']}';
            } else {
                $val['type'] == 0 ? $type = 'click' : ($type = 'view');
                $val['type'] == 0 ? $but = 'key' : ($but = 'url');
                $data .= '{
								"type":"' . $type . '",
						        "name":"' . $val['name'] . '",
						        "' . $but . '":"' . $val['key'] . '"
							}';
            }
        }
        $data .= ']}';
        $return = $this->api_notice_increment($url, $data);
        if ($return['errcode'] == 0 && $return['errmsg'] == 'ok') {
            echo '菜单创建成功!' . $data;
        } else {
            echo '菜单创建失败!' . $return['errmsg'];
        }
        // $this->display();
    }