示例#1
0
function manyou_getuserapp($panel = 0)
{
    global $_G;
    $panelapp = $_G['my_menu'] = $userapplist = $_G['my_panelapp'] = array();
    $showcount = $_G['my_menu_more'] = 0;
    if ($_G['uid'] && $_G['setting']['my_app_status']) {
        space_merge($_G['member'], 'field_home');
        if ($_G['member']['menunum'] < 3) {
            $_G['member']['menunum'] = 10;
        }
        $query = DB::query("SELECT ua.*, my.iconstatus, my.userpanelarea FROM " . DB::table('home_userapp') . " ua LEFT JOIN " . DB::table('common_myapp') . " my USING(appid) WHERE ua.uid='{$_G['uid']}' ORDER BY ua.menuorder DESC");
        while ($value = DB::fetch($query)) {
            $value['icon'] = getmyappiconpath($value['appid'], $value['iconstatus']);
            if ($value['iconstatus'] == '0' && empty($_G['myapp_icon_downloaded'])) {
                $_G['myapp_icon_downloaded'] = '1';
                downloadmyappicon($value['appid']);
            }
            if ($value['allowsidenav'] && !empty($value['appname'])) {
                $_G['my_userapp'][$value['appid']] = $value;
                if ($panel) {
                    $userapplist[$value['appid']] = $value;
                    if ($value['userpanelarea'] && $value['userpanelarea'] < 3) {
                        $panelapp[$value['appid']] = $value;
                        $_G['my_panelapp'][$value['userpanelarea']][$value['appid']] = $value;
                    }
                } else {
                    if (!isset($_G['cache']['userapp'][$value['appid']])) {
                        if ($_G['member']['menunum'] > 100 || $showcount < $_G['member']['menunum']) {
                            $_G['my_menu'][] = $value;
                            $showcount++;
                        } else {
                            $_G['my_menu_more'] = 1;
                        }
                    }
                }
            }
        }
        if (!empty($userapplist)) {
            foreach ($panelapp as $appid => $value) {
                if (isset($_G['cache']['userapp'][$value['appid']])) {
                    unset($_G['cache']['userapp'][$appid]);
                }
            }
            foreach ($userapplist as $appid => $value) {
                if (!isset($_G['cache']['userapp'][$value['appid']]) && !isset($panelapp[$value['appid']])) {
                    if ($_G['member']['menunum'] > 100 || $showcount < $_G['member']['menunum']) {
                        $_G['my_menu'][] = $value;
                        $showcount++;
                    } else {
                        $_G['my_menu_more'] = 1;
                        break;
                    }
                }
            }
        }
    }
}
示例#2
0
function manyou_getuserapp($panel = 0)
{
    global $_G;
    $myapps = $panelapp = $_G['my_menu'] = $userapplist = $_G['my_panelapp'] = array();
    $showcount = $_G['my_menu_more'] = 0;
    if ($_G['uid'] && $_G['setting']['my_app_status']) {
        space_merge($_G['member'], 'field_home');
        if ($_G['member']['menunum'] < 3) {
            $_G['member']['menunum'] = 10;
        }
        $userapps = C::t('home_userapp')->fetch_all_by_uid_appid($_G['uid'], 0, 'menuorder');
        $appids = array();
        foreach ($userapps as $app) {
            $appids[$app['appid']] = $app['appid'];
        }
        if (!empty($appids)) {
            $myapps = C::t('common_myapp')->fetch_all($appids);
        }
        foreach ($userapps as $value) {
            $value['iconstatus'] = $myapps[$value['appid']]['iconstatus'];
            $value['userpanelarea'] = $myapps[$value['appid']]['userpanelarea'];
            $value['appstatus'] = $myapps[$value['appid']]['appstatus'];
            $value['icon'] = getmyappiconpath($value['appid'], $value['iconstatus']);
            if ($value['iconstatus'] == '0' && empty($_G['myapp_icon_downloaded'])) {
                $_G['myapp_icon_downloaded'] = '1';
                downloadmyappicon($value['appid']);
            }
            if ($value['allowsidenav'] && !empty($value['appname'])) {
                $_G['my_userapp'][$value['appid']] = $value;
                if ($panel) {
                    $userapplist[$value['appid']] = $value;
                    if ($value['userpanelarea'] && $value['userpanelarea'] < 3) {
                        $panelapp[$value['appid']] = $value;
                        $_G['my_panelapp'][$value['userpanelarea']][$value['appid']] = $value;
                    }
                } else {
                    if (!isset($_G['cache']['userapp'][$value['appid']])) {
                        if ($_G['member']['menunum'] > 100 || $showcount < $_G['member']['menunum']) {
                            $_G['my_menu'][] = $value;
                            $showcount++;
                        } else {
                            $_G['my_menu_more'] = 1;
                        }
                    }
                }
            } elseif (!$value['allowsidenav']) {
                if (isset($_G['cache']['userapp'][$value['appid']])) {
                    unset($_G['cache']['userapp'][$value['appid']]);
                }
            }
        }
        if (!empty($userapplist)) {
            foreach ($panelapp as $appid => $value) {
                if (isset($_G['cache']['userapp'][$value['appid']])) {
                    unset($_G['cache']['userapp'][$appid]);
                }
            }
            foreach ($userapplist as $appid => $value) {
                if (!isset($_G['cache']['userapp'][$value['appid']]) && !isset($panelapp[$value['appid']])) {
                    if ($_G['member']['menunum'] > 100 || $showcount < $_G['member']['menunum']) {
                        $_G['my_menu'][] = $value;
                        $showcount++;
                    } else {
                        $_G['my_menu_more'] = 1;
                        break;
                    }
                }
            }
        }
    }
}