Пример #1
0
function apms_auto_menu()
{
    global $g5, $xp, $member, $is_admin, $ca_id, $sca, $gid, $hid, $pid, $grid, $bo_table;
    if ($g5['cache_auto_menu'] < 0) {
        return;
    }
    $tmp = array();
    $sub = array();
    $sub2 = array();
    if (IS_YC && IS_SHOP) {
        // 쇼핑몰
        if (G5_IS_MOBILE) {
            // 모바일
            $tmp = $g5['cache_auto_menu'] > 0 ? unserialize(apms_cache('apms_mobile_shop_menu', $g5['cache_auto_menu'], "apms_chk_auto_menu(1,1,1)")) : apms_chk_auto_menu(0, 1, 1);
        } else {
            // PC
            $tmp = $g5['cache_auto_menu'] > 0 ? unserialize(apms_cache('apms_pc_shop_menu', $g5['cache_auto_menu'], "apms_chk_auto_menu(1,0,1)")) : apms_chk_auto_menu(0, 0, 1);
        }
    } else {
        // 커뮤니티
        if (G5_IS_MOBILE) {
            // 모바일
            $tmp = $g5['cache_auto_menu'] > 0 ? unserialize(apms_cache('apms_mobile_bbs_menu', $g5['cache_auto_menu'], "apms_chk_auto_menu(1,1,0)")) : apms_chk_auto_menu(0, 1, 0);
        } else {
            // PC
            $tmp = $g5['cache_auto_menu'] > 0 ? unserialize(apms_cache('apms_pc_bbs_menu', $g5['cache_auto_menu'], "apms_chk_auto_menu(1)")) : apms_chk_auto_menu(0, 0, 0);
        }
    }
    $cnt = count($tmp);
    $it_ca = $it_ca2 = $it_ca3 = '';
    if ($ca_id) {
        $it_ca = substr($ca_id, 0, 2);
        $it_ca2 = substr($ca_id, 0, 4);
        $it_ca3 = substr($ca_id, 0, 6);
    }
    $l = 1;
    for ($i = 1; $i < $cnt; $i++) {
        if (!$is_admin && $tmp[$i]['show']) {
            if (apms_auth($tmp[$i]['grade'], $tmp[$i]['equal'], $tmp[$i]['min'], $tmp[$i]['max'], 1)) {
                continue;
            }
        }
        $tmp[$i]['sg'] = isset($tmp[$i]['sg']) ? $tmp[$i]['sg'] : '';
        $tmp[$i]['name'] = $tmp[$i]['icon'] ? $tmp[$i]['icon'] . ' ' . $tmp[$i]['menu'] : $tmp[$i]['menu'];
        if ($tmp[$i]['sg']) {
            $tmp[$i]['on'] = $grid && $tmp[$i]['gr_id'] === $grid ? 'on' : 'off';
            if ($tmp[$i]['is_sub']) {
                $m = 0;
                for ($j = 0; $j < count($tmp[$i]['sub']); $j++) {
                    if (!$is_admin && $tmp[$i]['sub'][$j]['show']) {
                        if (apms_auth($tmp[$i]['sub'][$j]['grade'], $tmp[$i]['sub'][$j]['equal'], $tmp[$i]['sub'][$j]['min'], $tmp[$i]['sub'][$j]['max'], 1)) {
                            continue;
                        }
                    }
                    $tmp[$i]['sub'][$j]['name'] = $tmp[$i]['sub'][$j]['icon'] ? $tmp[$i]['sub'][$j]['icon'] . ' ' . $tmp[$i]['sub'][$j]['menu'] : $tmp[$i]['sub'][$j]['menu'];
                    if ($tmp[$i]['sub'][$j]['is_page']) {
                        $ns = 0;
                        if ($tmp[$i]['sub'][$j]['is_sub']) {
                            for ($k = 0; $k < count($tmp[$i]['sub'][$j]['sub']); $k++) {
                                $tmp[$i]['sub'][$j]['sub'][$k]['name'] = $tmp[$i]['sub'][$j]['sub'][$k]['icon'] ? $tmp[$i]['sub'][$j]['sub'][$k]['icon'] . ' ' . $tmp[$i]['sub'][$j]['sub'][$k]['menu'] : $tmp[$i]['sub'][$j]['sub'][$k]['menu'];
                                if ($tmp[$i]['on'] == 'on' && ($hid && $tmp[$i]['sub'][$j]['sub'][$k]['hid'] === $hid || $pid && $tmp[$i]['sub'][$j]['sub'][$k]['hid'] === $pid)) {
                                    $tmp[$i]['sub'][$j]['sub'][$k]['on'] = 'on';
                                    $ns++;
                                } else {
                                    $tmp[$i]['sub'][$j]['sub'][$k]['on'] = 'off';
                                }
                            }
                        }
                        $tmp[$i]['sub'][$j]['on'] = $ns || $tmp[$i]['on'] == 'on' && ($hid && $tmp[$i]['sub'][$j]['hid'] === $hid || $pid && $tmp[$i]['sub'][$j]['hid'] === $pid) ? 'on' : 'off';
                    } else {
                        $tmp[$i]['one'] = isset($tmp[$i]['one']) ? $tmp[$i]['one'] : '';
                        if ($tmp[$i]['one']) {
                            // 보드를 메인으로 올렸을 경우
                            $tmp[$i]['sub'][$j]['on'] = $tmp[$i]['on'] == 'on' && $sca && $tmp[$i]['sub'][$j]['name'] === $sca ? 'on' : 'off';
                        } else {
                            $tmp[$i]['sub'][$j]['on'] = $tmp[$i]['on'] == 'on' && $bo_table && $tmp[$i]['sub'][$j]['hid'] === $bo_table ? 'on' : 'off';
                        }
                        if ($tmp[$i]['sub'][$j]['is_sub']) {
                            for ($k = 0; $k < count($tmp[$i]['sub'][$j]['sub']); $k++) {
                                $tmp[$i]['sub'][$j]['sub'][$k]['name'] = $tmp[$i]['sub'][$j]['sub'][$k]['menu'];
                                $tmp[$i]['sub'][$j]['sub'][$k]['on'] = $tmp[$i]['sub'][$j]['on'] == 'on' && $sca && $tmp[$i]['sub'][$j]['sub'][$k]['name'] === $sca ? 'on' : 'off';
                            }
                        }
                    }
                    $sub[$m] = $tmp[$i]['sub'][$j];
                    $m++;
                }
                $tmp[$i]['sub'] = $sub;
                unset($sub);
            }
        } else {
            $tmp[$i]['on'] = $it_ca && $tmp[$i]['gr_id'] === $it_ca ? 'on' : 'off';
            if ($tmp[$i]['is_sub']) {
                $m = 0;
                for ($j = 0; $j < count($tmp[$i]['sub']); $j++) {
                    if (!trim($tmp[$i]['sub'][$j]['gr_id'])) {
                        continue;
                    }
                    if (!$is_admin && $tmp[$i]['sub'][$j]['show']) {
                        if (apms_auth($tmp[$i]['sub'][$j]['grade'], $tmp[$i]['sub'][$j]['equal'], $tmp[$i]['sub'][$j]['min'], $tmp[$i]['sub'][$j]['max'], 1)) {
                            continue;
                        }
                    }
                    $tmp[$i]['sub'][$j]['name'] = $tmp[$i]['sub'][$j]['icon'] ? $tmp[$i]['sub'][$j]['icon'] . ' ' . $tmp[$i]['sub'][$j]['menu'] : $tmp[$i]['sub'][$j]['menu'];
                    $tmp[$i]['sub'][$j]['on'] = $tmp[$i]['on'] == 'on' && $it_ca2 && $tmp[$i]['sub'][$j]['hid'] === $it_ca2 ? 'on' : 'off';
                    if ($tmp[$i]['sub'][$j]['is_sub']) {
                        $n = 0;
                        for ($k = 0; $k < count($tmp[$i]['sub'][$j]['sub']); $k++) {
                            if (!$is_admin && $tmp[$i]['sub'][$j]['subj'][$k]['show']) {
                                if (apms_auth($tmp[$i]['sub'][$j]['subj'][$k]['grade'], $tmp[$i]['sub'][$j]['subj'][$k]['equal'], $tmp[$i]['sub'][$j]['subj'][$k]['min'], $tmp[$i]['sub'][$j]['subj'][$k]['max'], 1)) {
                                    continue;
                                }
                            }
                            $tmp[$i]['sub'][$j]['sub'][$k]['name'] = $tmp[$i]['sub'][$j]['sub'][$k]['icon'] ? $tmp[$i]['sub'][$j]['sub'][$k]['icon'] . ' ' . $tmp[$i]['sub'][$j]['sub'][$k]['menu'] : $tmp[$i]['sub'][$j]['sub'][$k]['menu'];
                            $tmp[$i]['sub'][$j]['sub'][$k]['on'] = $tmp[$i]['sub'][$j]['on'] == 'on' && $it_ca3 && $tmp[$i]['sub'][$j]['sub'][$k]['ca_id'] === $it_ca3 ? 'on' : 'off';
                            $sub2[$n] = $tmp[$i]['sub'][$j]['sub'][$k];
                            $n++;
                        }
                        $tmp[$i]['sub'][$j]['sub'] = $sub2;
                        unset($sub2);
                    }
                    $sub[$m] = $tmp[$i]['sub'][$j];
                    $m++;
                }
                $tmp[$i]['sub'] = $sub;
                unset($sub);
            }
        }
        $menu[$l] = $tmp[$i];
        $l++;
    }
    $menu[0] = $tmp[0];
    return $menu;
}
Пример #2
0
                        $z++;
                    }
                    //html_table
                    $sql = " update {$g5['apms_page']}\n\t\t\t\t\t\tset as_order\t\t\t\t= '{$_POST['as_order'][$i]}'\n\t\t\t\t\t\t\t, bo_subject\t\t\t= '{$_POST['bo_subject'][$i]}'\n\t\t\t\t\t\t\t, bo_mobile_subject\t\t= '{$_POST['bo_mobile_subject'][$i]}'\n\t\t\t\t\t\t\t, as_icon\t\t\t\t= '{$_POST['as_icon'][$i]}'\n\t\t\t\t\t\t\t, as_mobile_icon\t\t= '{$_POST['as_mobile_icon'][$i]}'\n\t\t\t\t\t\t\t, as_title\t\t\t\t= '{$_POST['as_title'][$i]}'\n\t\t\t\t\t\t\t, as_desc\t\t\t\t= '{$_POST['as_desc'][$i]}'\n\t\t\t\t\t\t\t, as_link\t\t\t\t= '{$_POST['as_link'][$i]}'\n\t\t\t\t\t\t\t, as_target\t\t\t\t= '{$_POST['as_target'][$i]}'\n\t\t\t\t\t\t\t, as_show\t\t\t\t= '{$_POST['as_show'][$i]}'\n\t\t\t\t\t\t\t, as_menu_show\t\t\t= '{$_POST['as_menu_show'][$i]}'\n\t\t\t\t\t\t\t, as_grade\t\t\t\t= '{$_POST['as_grade'][$i]}'\n\t\t\t\t\t\t\t, as_equal\t\t\t\t= '{$_POST['as_equal'][$i]}'\n\t\t\t\t\t\t\t, as_wide\t\t\t\t= '{$_POST['as_wide'][$i]}'\n\t\t\t\t\t\t\t, as_partner\t\t\t= '{$_POST['as_partner'][$i]}'\n\t\t\t\t\t\t\t, as_min\t\t\t\t= '{$_POST['as_min'][$i]}'\n\t\t\t\t\t\t\t, as_max\t\t\t\t= '{$_POST['as_max'][$i]}'\n\t\t\t\t\t\t\t, html_id\t\t\t\t= '{$_POST['html_id'][$i]}'\n\t\t\t\t\t\t\t, as_file\t\t\t\t= '{$_POST['as_file'][$i]}'\n\t\t\t\t\t\t\t, as_skin\t\t\t\t= '{$_POST['as_skin'][$i]}'\n\t\t\t\t\t\t\t, as_head\t\t\t\t= '{$_POST['as_head'][$i]}'\n\t\t\t\t\t\t\t, as_hcolor\t\t\t\t= '{$_POST['as_hcolor'][$i]}'\n\t\t\t\t\t\t\twhere id = '{$_POST['id'][$i]}'\n\t\t\t\t\t\t\t";
                    sql_query($sql);
                }
                //서브체크
                $is_sub = $z ? 1 : 0;
                sql_query(" update {$g5['apms_page']} set as_menu = '{$is_sub}' where id = '{$cid}' ", false);
                //자동메뉴 캐시
                if (IS_YC) {
                    apms_cache('apms_mobile_shop_menu', 0, "apms_chk_auto_menu(1,1,1)");
                    apms_cache('apms_pc_shop_menu', 0, "apms_chk_auto_menu(1,0,1)");
                }
                apms_cache('apms_mobile_bbs_menu', 0, "apms_chk_auto_menu(1,1)");
                apms_cache('apms_pc_bbs_menu', 0, "apms_chk_auto_menu(1)");
            }
        }
    }
    //Move
    goto_url('./apms.groupsubmenu.php?gr_id=' . $gr_id . '&amp;cid=' . $cid);
}
auth_check($auth[$sub_menu], 'r');
//읽기 권한
include_once G5_LIB_PATH . '/apms.widget.lib.php';
$skinlist = array();
$headlist = array();
$skinlist = get_skin_dir('page', G5_SKIN_PATH);
$headlist = get_skin_dir('header', G5_SKIN_PATH);
$row1 = sql_fetch("select bo_subject from {$g5['apms_page']} where id = '{$cid}' ");
include_once G5_PATH . '/head.sub.php';