国产精品爱啪在线线免费观看_97视频精品_欧美精品一区二区在线播放_国产欧美久久一区二区三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5433|回復: 0

[內置擴展] Discuz x3.5 核心文件 function/function_group.php 函數注釋

[復制鏈接]
1#
發表于 2024-6-23 13:31:16 | 只看該作者 |倒序瀏覽 |閱讀模式

馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區

您需要 登錄 才可以下載或查看,沒有賬號?立即注冊

×
[PHP] 純文本查看 復制代碼
<?php

/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *
 *      $Id: function_group.php 32367 2013-01-07 02:30:12Z liulanbo $
 */

if(!defined('IN_DISCUZ')) {
        exit('Access Denied');
}
/**
 * 刪除指定類型緩存數組中與指定論壇ID相關的緩存
 *
 * @param int $fid 論壇ID
 * @param array $cachearray 緩存數組
 */
function delgroupcache($fid, $cachearray) {
    C::t('forum_groupfield')->delete_by_type($cachearray, $fid);
}

/**
 * 檢查用戶是否有權限在指定論壇執行指定操作
 *
 * @param array &$forum 論壇信息
 * @param int $uid 用戶ID
 * @param string $action 指定操作,默認為空
 * @param string $isgroupuser 是否為組成員,默認為空
 * @return mixed 返回值為-1表示無訪問權限,'isgroupuser'表示是組成員,空字符串表示有訪問權限但不是組成員
 */
function groupperm(&$forum, $uid, $action = '', $isgroupuser = '') {
    // 檢查論壇狀態和類型是否符合要求
    if($forum['status'] != 3 || $forum['type'] != 'sub') {
        return -1;
    }
    // 檢查是否為創始人
    if(!empty($forum['founderuid']) && $forum['founderuid'] == $uid) {
        return 'isgroupuser';
    }
    // 獲取或驗證用戶是否為組成員
    $isgroupuser = empty($isgroupuser) && $isgroupuser !== false ? C::t('forum_groupuser')->fetch_userinfo($uid, $forum['fid']) : $isgroupuser;
    // 檢查是否為版主
    if($forum['ismoderator'] && !$isgroupuser) {
        return '';
    }
    // 檢查加入方式和是否為版主
    if($forum['jointype'] < 0 && !$forum['ismoderator']) {
        return 1;
    }
    // 檢查查看權限
    if(!$forum['gviewperm'] && !$isgroupuser) {
        return 2;
    }
    // 檢查特定條件下的查看權限
    if($forum['jointype'] == 2 && (!$forum['gviewperm'] || $action == 'post') && !empty($isgroupuser['uid']) && $isgroupuser['level'] == 0) {
        return 3;
    }
    // 檢查發帖權限
    if($action == 'post' && !$isgroupuser) {
        return 4;
    }
    // 檢查用戶等級
    if(is_array($isgroupuser['level']) && $isgroupuser['level'] === 0) {
        return 5;
    }
    return $isgroupuser ? 'isgroupuser' : '';
}

/**
 * 獲取論壇組列表
 *
 * @param string $orderby 排序方式,默認為'displayorder'
 * @param array $fieldarray 需要獲取的字段數組,默認為空數組
 * @param int $num 每頁顯示數量,默認為1
 * @param array $fids 指定的論壇ID數組,默認為空數組
 * @param int $sort 排序方式標志,默認為0
 * @param bool $getcount 是否只獲取總數,默認為false
 * @param array $grouplevel 組別等級數組,默認為空數組
 * @return array 返回組列表數組,如果只獲取總數則返回總數
 */
function grouplist($orderby = 'displayorder', $fieldarray = array(), $num = 1, $fids = array(), $sort = 0, $getcount = 0, $grouplevel = array()) {
    $query = C::t('forum_forum')->fetch_all_for_grouplist($orderby, $fieldarray, $num, $fids, $sort, $getcount);
    if($getcount) {
        return $query;
    }
    // 處理查詢結果,格式化組信息
    $grouplist = array();
    foreach($query as $group) {
        $group['iconstatus'] = $group['icon'] ? 1 : 0;
        isset($group['icon']) && $group['icon'] = get_groupimg($group['icon'], 'icon');
        isset($group['banner']) && $group['banner'] = get_groupimg($group['banner']);
        $group['orderid'] = $orderid ? intval($orderid) : '';
        isset($group['dateline']) && $group['dateline'] = $group['dateline'] ? dgmdate($group['dateline'], 'd') : '';
        isset($group['lastupdate']) && $group['lastupdate'] = $group['lastupdate'] ? dgmdate($group['lastupdate'], 'd') : '';
        $group['level'] = !empty($grouplevel) ? intval($grouplevel[$group['fid']]) : 0;
        isset($group['description']) && $group['description'] = cutstr($group['description'], 130);
        $grouplist[$group['fid']] = $group;
        $orderid ++;
    }

    return $grouplist;
}

/**
 * 獲取指定用戶的組列表
 *
 * @param int $uid 用戶ID
 * @param string $orderby 排序方式,默認為空
 * @param array $fieldarray 需要獲取的字段數組,默認為空數組
 * @param int $num 每頁顯示數量,默認為0
 * @param int $start 起始位置,默認為0
 * @param bool $ismanager 是否只獲取管理員組,默認為0
 * @param int $count 獲取組數量,默認為0
 * @return mixed 返回組列表數組或查詢結果
 */
function mygrouplist($uid, $orderby = '', $fieldarray = array(), $num = 0, $start = 0, $ismanager = 0, $count = 0) {
    $uid = intval($uid);
    if(empty($uid)) {
        return array();
    }
    $groupfids = $grouplevel = array();
    // 查詢用戶所屬的組
    $query = C::t('forum_groupuser')->fetch_all_group_for_user($uid, $count, $ismanager, $start, $num);
    if($count == 1) {
        return $query;
    }
    foreach($query as $group) {
        $groupfids[] = $group['fid'];
        $grouplevel[$group['fid']] = $group['level'];
    }
    if(empty($groupfids)) {
        return false;
    }
    // 獲取組信息
    $mygrouplist = grouplist($orderby, $fieldarray, $num, $groupfids, 0, 0, $grouplevel);

    return $mygrouplist;
}

/**
 * 獲取群組圖片的URL
 *
 * @param string $imgname 圖片名稱
 * @param string $imgtype 圖片類型,默認為空。可選值:'icon'
 * @return string 返回圖片的URL。若圖片名稱不為空,返回圖片的完整URL;若為空且類型為'icon',返回群組圖標默認圖片的URL;否則返回空字符串。
 */
function get_groupimg($imgname, $imgtype = '') {
        global $_G;
        // 構造圖片的默認路徑
        $imgpath = $_G['setting']['attachurl'].'group/'.$imgname;
        if($imgname) {
                // 如果圖片名稱不為空,直接返回圖片路徑
                return $imgpath;
        } else {
                // 圖片名稱為空時的處理
                if($imgtype == 'icon') {
                        // 如果類型為'icon',返回默認群組圖標圖片的URL
                        return STATICURL.'image/common/groupicon.gif';
                } else {
                        // 其他情況下返回空字符串
                        return '';
                }
        }
}

/**
 * 生成組選擇下拉菜單
 *
 * @param int $fup 一級組類型ID,默認為0
 * @param int $groupid 二級組類型ID,默認為0
 * @param int $ajax 是否為AJAX請求,1為是,其他為否,默認為1
 * @return array 返回包含一級和二級組選擇菜單的數組
 */
function get_groupselect($fup = 0, $groupid = 0, $ajax = 1) {
        global $_G;
        loadcache('grouptype');
        // 獲取一級和二級組類型緩存
        $firstgroup = $_G['cache']['grouptype']['first'];
        $secondgroup = $_G['cache']['grouptype']['second'];
        // 初始化返回的組選擇數組
        $grouptypeselect = array('first' => '', 'second' => '');

        if($ajax) {
                // 如果是AJAX請求,處理一級和二級組選擇
                $fup = intval($fup);
                $groupid = intval($groupid);
                // 生成一級組選擇菜單
                foreach($firstgroup as $gid => $group) {
                        $selected = $fup == $gid ? 'selected="selected"' : '';
                        $grouptypeselect['first'] .= '<option value="'.$gid.'" '.$selected.'>'.$group['name'].'</option>';
                }

                // 如果指定了fup,且存在二級組,則生成二級組選擇菜單
                if($fup && !empty($firstgroup[$fup]['secondlist'])) {
                        foreach($firstgroup[$fup]['secondlist'] as $sgid) {
                                $selected = $sgid == $groupid ? 'selected="selected"' : '';
                                $grouptypeselect['second'] .= '<option value="'.$sgid.'" '.$selected.'>'.$secondgroup[$sgid]['name'].'</option>';
                        }
                }
        } else {
                // 非AJAX請求,處理一級及一級下二級組選擇
                foreach($firstgroup as $gid => $group) {
                        // 生成一級組選擇菜單
                        $gselected = $groupid == $gid ? 'selected="selected"' : '';
                        $grouptypeselect .= '<option value="'.$gid.'" '.$gselected.'>'.$group['name'].'</option>';
                        // 如果該組存在二級組,生成二級組選擇菜單
                        if(is_array($group['secondlist'])) {
                                foreach($group['secondlist'] as $secondid) {
                                        $selected = $groupid == $secondid ? 'selected="selected"' : '';
                                        $grouptypeselect .= '<option value="'.$secondid.'" '.$selected.'>  '.$secondgroup[$secondid]['name'].'</option>';
                                }
                        }
                        $grouptypeselect .= '</optgroup>';
                }
        }
        return $grouptypeselect;
}
/**
 * 生成小組導航欄
 *
 * @param array $forum 包含論壇信息的數組,必須包含fid和name,如果為子版塊還需要包含fup
 * @return array 返回一個包含導航HTML字符串、一級分類信息和二級分類信息的數組
 */
function get_groupnav($forum) {
        global $_G;
        // 檢查輸入的論壇信息是否為空
        if(empty($forum) || empty($forum['fid']) || empty($forum['name'])) {
                return '';
        }
        // 加載分類緩存
        loadcache('grouptype');
        $groupnav = '';
        $groupsecond = $_G['cache']['grouptype']['second'];
        // 根據版塊類型確定二級分類信息
        if($forum['type'] == 'sub') {
                $secondtype = !empty($groupsecond[$forum['fup']]) ? $groupsecond[$forum['fup']] : array();
        } else {
                $secondtype = !empty($groupsecond[$forum['fid']]) ? $groupsecond[$forum['fid']] : array();
        }
        // 計算頂級分類ID和信息
        $firstid = !empty($secondtype) ? $secondtype['fup'] : (!empty($forum['fup']) ? $forum['fup'] : $forum['fid']);
        $firsttype = $_G['cache']['grouptype']['first'][$firstid];
        // 生成一級分類導航
        if($firsttype) {
                $groupnav = ' <em>?</em> <a href="group.php?gid='.$firsttype['fid'].'">'.$firsttype['name'].'</a>';
        }
        // 生成二級分類導航
        if($secondtype) {
                $groupnav .= ' <em>?</em> <a href="group.php?sgid='.$secondtype['fid'].'">'.$secondtype['name'].'</a>';
        }
        // 生成子版塊導航
        if($forum['type'] == 'sub') {
                $mod_action = $_GET['mod'] == 'forumdisplay' || $_GET['mod'] == 'viewthread' ? 'mod=forumdisplay&action=list' : 'mod=group';
                $groupnav .= ($groupnav ? ' <em>?</em> ' : '').'<a href="forum.php?'.$mod_action.'&fid='.$forum['fid'].'">'.$forum['name'].'</a>';
        }
        return array('nav' => $groupnav, 'first' => $firsttype, 'second' => $secondtype);
}

/**
 * 獲取已瀏覽的小組列表
 *
 * @return array 返回一個包含已瀏覽小組信息的數組列表
 */
function get_viewedgroup() {
        $groupviewed_list = $list = array();
        $groupviewed = getcookie('groupviewed');
        // 從cookie中獲取已瀏覽的小組ID列表
        $groupviewed = $groupviewed ? explode(',', $groupviewed) : array();
        if($groupviewed) {
                // 根據小組ID列表查詢小組信息
                $query = C::t('forum_forum')->fetch_all_info_by_fids($groupviewed);
                foreach($query as $row) {
                        $icon = get_groupimg($row['icon'], 'icon');
                        // 組裝小組信息
                        $list[$row['fid']] = array('fid' => $row['fid'], 'name' => $row['name'], 'icon' => $icon, 'membernum' => $row['membernum']);
                }
        }
        // 將小組信息數組按ID列表順序排列
        foreach($groupviewed as $fid) {
                $groupviewed_list[$fid] = $list[$fid];
        }
        return $groupviewed_list;
}

/**
 * 獲取指定論壇組的帖子列表
 *
 * @param int $fid 論壇組ID
 * @param string $type 獲取帖子的類型(replies, views, dateline, lastpost, digest, comments)
 * @param int $timestamp 根據時間戳篩選帖子,0為不篩選
 * @param int $num 返回帖子的數量,默認為10
 * @return array 返回包含帖子信息的數組
 */
function getgroupthread($fid, $type, $timestamp = 0, $num = 10) {
    // 定義有效的帖子類型數組
    $typearray = array('replies', 'views', 'dateline', 'lastpost', 'digest', 'comments');
    // 檢查并設置請求的帖子類型
    $type = in_array($type, $typearray) ? $type : '';

    $groupthreadlist = array();
    // 當類型有效時,根據條件獲取帖子信息
    if($type) {
        $dateline = $lastpost = $digest = null;
        // 根據類型和時間戳設置查詢條件
        if($timestamp && in_array($type, array('dateline', 'lastpost'))) {
            if($type == 'dateline') {
                $dateline = TIMESTAMP - $timestamp;
            } else {
                $lastpost = TIMESTAMP - $timestamp;
            }
        }
        // 特殊處理消化帖
        if($type == 'digest') {
            $digest = 0;
            $type = 'dateline';
        }
        // 獲取并格式化帖子信息
        foreach(C::t('forum_thread')->fetch_all_group_thread_by_fid_displayorder($fid, 0, $dateline, $lastpost, $digest, $type, 0, $num) as $thread) {
            $groupthreadlist[$thread['tid']] = array(
                'tid' => $thread['tid'],
                'subject' => $thread['subject'],
                'special' => $thread['special'],
                'closed' => $thread['closed'],
                'dateline' => dgmdate($thread['dateline'], 'd'),
                'author' => $thread['author'],
                'authorid' => $thread['authorid'],
                'views' => $thread['views'],
                'replies' => $thread['replies'],
                'comments' => $thread['comments'],
                'lastpost' => dgmdate($thread['lastpost'], 'u'),
                'lastposter' => $thread['lastposter'],
                'lastposterenc' => rawurlencode($thread['lastposter']),
            );
        }
    }

    return $groupthreadlist;
}

/**
 * 獲取論壇組的緩存數據
 *
 * @param int $fid 論壇組ID
 * @param array $typearray 需要獲取的緩存類型數組
 * @param int $timestamp 根據時間戳篩選帖子,0為不篩選
 * @param int $num 返回數據的數量,默認為10
 * @param int $privacy 隱私等級
 * @param bool $force 是否強制重新獲取數據
 * @return array 返回緩存數據數組
 */
function getgroupcache($fid, $typearray = array(), $timestamp = 0, $num = 10, $privacy = 0, $force = 0) {
    $groupcache = array();

    // 非強制刷新時,嘗試從數據庫讀取緩存數據
    if(!$force) {
        $query = C::t('forum_groupfield')->fetch_all_group_cache($fid, $typearray, $privacy);
        foreach($query as $group) {
            $groupcache[$group['type']] = dunserialize($group['data']);
            $groupcache[$group['type']]['dateline'] = $group['dateline'];
        }
    }

    // 定義各類型緩存的有效時間
    $cachetimearray = array('replies' => 3600, 'views' => 3600, 'dateline' => 900, 'lastpost' => 3600, 'digest' => 86400, 'ranking' => 86400, 'activityuser' => 3600);
    // 定義特定類型數據的額外處理方式
    $userdataarray = array('activityuser' => 'lastupdate', 'newuserlist' => 'joindateline');
    // 遍歷類型數組,獲取或更新緩存數據
    foreach($typearray as $type) {
        if(empty($groupcache[$type]) || (!empty($cachetimearray[$type]) && TIMESTAMP - $groupcache[$type]['dateline'] > $cachetimearray[$type])) {
            // 根據類型獲取相應的數據
            if($type == 'ranking') {
                $groupcache[$type]['data'] = getgroupranking($fid, $groupcache[$type]['data']['today']);
            } elseif(in_array($type, array('activityuser', 'newuserlist'))) {
                $num = $type == 'activityuser' ? 50 : 8;
                $groupcache[$type]['data'] = C::t('forum_groupuser')->groupuserlist($fid, $userdataarray[$type], $num, '', "AND level>'0'");
            } else {
                $groupcache[$type]['data'] = getgroupthread($fid, $type, $timestamp, $num);
            }
            // 如果不是強制刷新且有有效的fid,則更新緩存數據到數據庫
            if(!$force && $fid) {
                C::t('forum_groupfield')->insert(array('fid' => $fid, 'dateline' => TIMESTAMP, 'type' => $type, 'data' => serialize($groupcache[$type])), false, true);
            }
        }
    }

    return $groupcache;
}

/**
 * 獲取論壇組的排名信息
 *
 * @param string $fid 論壇組ID
 * @param string $nowranking 當前排名
 * @return array 返回論壇組的排名數據
 */
function getgroupranking($fid = '', $nowranking = '') {
    $topgroup = $rankingdata = $topyesterday = array();
    $ranking = 1;
    // 獲取所有論壇組的排名基礎數據
    $query = C::t('forum_forum')->fetch_all_group_for_ranking();
    foreach($query as $group) {
        $topgroup[$group['fid']] = $ranking++;
    }

    // 如果有指定的論壇組ID,計算其排名
    if($fid && $topgroup) {
        $rankingdata['yesterday'] = intval($nowranking);
        $rankingdata['today'] = intval($topgroup[$fid]);
        // 計算排名趨勢
        $rankingdata['trend'] = $rankingdata['yesterday'] ? grouptrend($rankingdata['yesterday'], $rankingdata['today']) : 0;
        $topgroup = $rankingdata;
    }

    return $topgroup;
}

/**
 * 獲取指定論壇組的在線成員信息
 *
 * @param int $fid 論壇組ID
 * @param bool $getlist 是否獲取成員列表
 * @return array 返回在線成員信息,包括總數和列表
 */
function grouponline($fid, $getlist = '') {
    $fid = intval($fid);
    if(empty($getlist)) {
        // 僅獲取在線成員總數
        $onlinemember = (array)C::app()->session->count_by_fid($fid);
        $onlinemember['count'] = $onlinemember ? intval($onlinemember) : 0;
    } else {
        // 獲取在線成員列表
        $onlinemember = array('count' => 0, 'list' => array());
        $onlinemember['list'] = C::app()->session->fetch_all_by_fid($fid);
        $onlinemember['count'] = count($onlinemember['list']);
    }
    return $onlinemember;
}

/**
 * 計算論壇組排名趨勢
 *
 * @param int $yesterday 昨天的排名
 * @param int $today 今天的排名
 * @return int 返回排名變化趨勢
 */
function grouptrend($yesterday, $today) {
    $trend = $yesterday - $today;
    return $trend;
}

/**
 * 寫入用戶組已查看的論壇版塊信息
 * @param $fid 論壇版塊ID
 */
function write_groupviewed($fid) {
        $fid = intval($fid);
        if($fid) {
                // 設置已查看版塊數量限制
                $groupviewed_limit = 8;
                // 獲取已保存的查看版塊信息
                $groupviewed = getcookie('groupviewed');
                // 若當前版塊ID不在已查看版塊列表中,則進行添加
                if(!strexists(",$groupviewed,", ",$fid,")) {
                        // 如果已有查看版塊,則將其拆分成數組;若無,則初始化為空數組
                        $groupviewed = $groupviewed ? explode(',', $groupviewed) : array();
                        // 將當前版塊ID添加到數組中
                        $groupviewed[] = $fid;
                        // 如果已查看版塊數量超過限制,則移除最早查看的版塊
                        if(count($groupviewed) > $groupviewed_limit) {
                                array_shift($groupviewed);
                        }
                        // 將更新后的已查看版塊列表保存到cookie中
                        dsetcookie('groupviewed', implode(',', $groupviewed), 86400);
                }
        }
}

/**
 * 更新版塊的管理員和版主信息
 * @param $fid 論壇版塊ID
 * @return array 返回版塊的管理員和版主信息,若無則返回空數組
 */
function update_groupmoderators($fid) {
        if(empty($fid)) return false;
        // 獲取版塊的管理員和版主信息
        $moderators = C::t('forum_groupuser')->groupuserlist($fid, 'level_join', 0, 0, array('level' => array('1', '2')), array('username', 'level'));
        if(!empty($moderators)) {
                // 更新版塊信息,保存管理員和版主信息
                C::t('forum_forumfield')->update($fid, array('moderators' => serialize($moderators)));
                return $moderators;
        } else {
                return array();
        }
}

/**
 * 更新用戶所屬用戶組信息
 * @param $uids 用戶ID數組
 * @return array 返回更新后的用戶所屬用戶組信息
 */
function update_usergroups($uids) {
        global $_G;
        if(empty($uids)) return '';
        if(!is_array($uids)) $uids = array($uids);
        foreach($uids as $uid) {
                // 初始化變量
                $groups = $grouptype = $usergroups = array();
                // 獲取用戶所屬版塊信息
                $fids = C::t('forum_groupuser')->fetch_all_fid_by_uids($uid);
                $query = C::t('forum_forum')->fetch_all_info_by_fids($fids);
                // 整理版塊信息,按上級版塊分類
                foreach($query as $group) {
                        $groups[$group['fid']] = $group['name'];
                        $typegroup[$group['fup']][] = $group['fid'];
                }
                if(!empty($typegroup)) {
                        // 獲取各上級版塊的信息
                        $fups = array_keys($typegroup);
                        $query = C::t('forum_forum')->fetch_all_info_by_fids($fups);
                        // 整理并歸類版塊信息
                        foreach($query as $fup) {
                                $grouptype[$fup['fid']] = array('fid' => $fup['fid'], 'fup' => $fup['fup'], 'name' => $fup['name']);
                                $grouptype[$fup['fid']]['groups'] = implode(',', $typegroup[$fup['fid']]);
                        }
                        // 組裝用戶所屬用戶組信息
                        $usergroups = array('groups' => $groups, 'grouptype' => $grouptype);
                        if(!empty($usergroups)) {
                                // 更新用戶的關注組信息,移除已不存在的組
                                $setarr = array();
                                $member = C::t('common_member_field_forum')->fetch($uid);
                                $attentiongroups = $member['attentiongroup'];
                                if($attentiongroups) {
                                        $attentiongroups = explode(',', $attentiongroups);
                                        $updateattention = 0;
                                        foreach($attentiongroups as $key => $val) {
                                                if(empty($usergroups['groups'][$val])) {
                                                        unset($attentiongroups[$key]);
                                                        $updateattention = 1;
                                                }
                                        }
                                        if($updateattention) {
                                                $setarr['attentiongroup'] = implode(',', $attentiongroups);
                                                C::t('common_member_field_forum')->update($uid, $setarr);
                                        }
                                        $_G['member']['attentiongroup'] = implode(',', $attentiongroups);
                                }
                        }
                }
        }
        return $usergroups;
}

?>

帖子永久地址: 

新秀網絡驗證系統 - 論壇版權1、本主題所有言論和圖片純屬會員個人意見,與本論壇立場無關
2、本站所有主題由該帖子作者發表,該帖子作者與新秀網絡驗證系統享有帖子相關版權
3、其他單位或個人使用、轉載或引用本文時必須同時征得該帖子作者和新秀網絡驗證系統的同意
4、帖子作者須承擔一切因本文發表而直接或間接導致的民事或刑事法律責任
5、本帖部分內容轉載自其它媒體,但并不代表本站贊同其觀點和對其真實性負責
6、如本帖侵犯到任何版權問題,請立即告知本站,本站將及時予與刪除并致以最深的歉意
7、新秀網絡驗證系統管理員和版主有權不事先通知發貼者而刪除本文

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

QQ|Archiver|手機版|新秀網絡驗證系統API[軟著登字第13061951號] ( 豫ICP備2021033257號-1 )

GMT+8, 2025-11-30 04:04 , Processed in 0.393150 second(s), 61 queries , Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表
国产精品爱啪在线线免费观看_97视频精品_欧美精品一区二区在线播放_国产欧美久久一区二区三区
91精品国产综合久久蜜臀| 在线观看不卡| 777xxx欧美| 欧美一区二区三区视频| 色综合婷婷久久| 亚洲综合色区另类av| 色视频一区二区| 不卡的电影网站| 一区二区三区国产豹纹内裤在线| 一本在线高清不卡dvd| 色菇凉天天综合网| 精品999在线观看| 蜜臀av性久久久久蜜臀av麻豆| 欧美综合一区二区| 亚洲va韩国va欧美va| 欧美一区二区精品在线| 国精品一区二区| 国产 日韩 欧美大片| 亚州成人在线电影| 中文在线资源观看网站视频免费不卡| 欧美一级片免费看| 亚洲国产精品一区二区第一页| 麻豆国产精品官网| 精品国产乱码久久久久久浪潮| 久久深夜福利| 欧美一区二区三区四区夜夜大片| 亚洲国产中文字幕| 欧美日韩高清影院| 日韩午夜激情av| 中文字幕中文乱码欧美一区二区| 亚洲欧美一区二区三区国产精品| 亚洲精品一卡二卡| 久久婷婷国产综合国色天香| 国产自产精品| 免费成人在线视频观看| 国产精品一区亚洲| 一级日本不卡的影视| 欧美日韩大陆一区二区| 欧美日韩亚洲一区三区| 韩国精品一区二区| 亚洲美女电影在线| 欧美大片免费久久精品三p| 欧美日韩欧美一区二区| 欧洲精品在线观看| 欧美在线小视频| 久久综合九九| 欧美日韩精品一区二区| 国产一区清纯| 91亚洲精品一区二区乱码| 国产老妇另类xxxxx| 亚洲愉拍自拍另类高清精品| 欧美精品一区二区三区蜜桃| 6080日韩午夜伦伦午夜伦| 欧美精品欧美精品系列| 欧美日韩一区二区三区高清 | 亚洲毛片av在线| 中文字幕日韩av资源站| 精品粉嫩超白一线天av| 亚洲国产欧美日韩另类综合 | 国内精品久久久久影院色| 亚洲精品乱码久久久久久| 欧美a级一区| 亚洲一区二区成人在线观看| 国产欧美日韩三级| 欧美久久久久久久久中文字幕| 一本色道久久综合亚洲精品高清| 99精品1区2区| 国产麻豆日韩欧美久久| 日韩国产欧美一区二区三区| 中文字幕一区av| 欧美三区美女| 一区二区黄色| 一区在线免费| 亚洲欧美久久久| 欧美在线你懂的| 亚洲黄色天堂| 99成人在线| 欧美日韩成人一区| 亚洲sss视频在线视频| 韩国自拍一区| 精品裸体舞一区二区三区| 国产又黄又大久久| 一本到高清视频免费精品| 亚洲手机成人高清视频| 亚洲香蕉网站| 国产亚洲一本大道中文在线| 国产99一区视频免费| 欧美日韩一级视频| 国产精品一区三区| 久久久久久久欧美精品| 久久综合九色综合欧美就去吻 | 精品一区二区三区欧美| 成人app软件下载大全免费| 欧洲人成人精品| 视频一区中文字幕| 日韩影院精彩在线| 全部av―极品视觉盛宴亚洲| 日韩电影网1区2区| 性欧美疯狂xxxxbbbb| 日韩成人一级片| 日韩精品福利网| 亚洲成在人线在线播放| 国产精品国产精品| 欧美成人一区二区三区在线观看| 精品在线观看视频| 欧美亚洲高清一区二区三区不卡| 亚洲日本一区二区| 99re亚洲国产精品| 欧美一区二区福利视频| 亚洲视频图片小说| 国产视频在线观看一区二区三区| 韩国精品一区二区| 一区二区三区电影在线播| 91美女视频网站| 26uuu欧美| 99精品视频在线播放观看| 欧美亚一区二区| 日日夜夜精品视频免费| 日韩午夜一区| 亚洲少妇30p| av不卡在线| 一区二区三区不卡在线观看| 91片黄在线观看| 欧美国产高潮xxxx1819| 国产偷国产偷精品高清尤物| 亚洲黄色高清| 美女性感视频久久| 国产色一区二区| 亚洲人成在线影院| 91精品欧美一区二区三区综合在| 亚洲综合图片区| 成人性色生活片免费看爆迷你毛片| 丝袜诱惑亚洲看片| 亚洲视频香蕉人妖| 日日噜噜夜夜狠狠视频欧美人 | 欧美91视频| 国产精品一区亚洲| 久久久亚洲一区| 日韩你懂的电影在线观看| 中文高清一区| 欧美日韩精品| 亚洲.国产.中文慕字在线| 色综合久久久网| 久久爱www久久做| 久久久一本精品99久久精品66| 久久99精品国产.久久久久久| 欧美色综合网站| 99久久综合精品| 亚洲欧美国产毛片在线| 伊伊综合在线| 日av在线不卡| 日韩欧美精品三级| 一区二区动漫| 激情综合亚洲精品| 亚洲人成伊人成综合网小说| 欧美中文字幕久久| 成人h动漫精品一区二| 亚洲欧美另类图片小说| 欧美女孩性生活视频| 高清在线成人网| 国产无一区二区| 99在线精品免费| 亚洲精品视频一区二区| 欧美性大战久久久久久久| 国产自产在线视频一区| 蜜桃一区二区三区在线| 91一区二区在线观看| 欧美精品少妇一区二区三区| 国产精品1024久久| 日韩精品一区二区三区三区免费 | 色呦呦网站一区| 精品国产欧美一区二区| 日韩一区在线免费观看| 国产一区欧美日韩| 欧美日韩国产一区精品一区| 国产女主播一区| 翔田千里一区二区| 99久久国产综合精品女不卡| 视频一区二区国产| 久久精品一区四区| 欧美二区乱c少妇| 精品不卡一区| 成人av午夜电影| 国产精品视频观看| 色呦呦一区二区三区| 麻豆精品国产91久久久久久 | 亚洲精品综合| yourporn久久国产精品| 裸体在线国模精品偷拍| 一区二区三区免费在线观看| 欧美日韩一区二区三区不卡| 亚洲精品免费观看| 色综合色综合色综合色综合色综合| 中文字幕日韩精品一区| 日韩欧美国产午夜精品| 国产精品一二三四区| 日韩成人av影视| 亚洲chinese男男1069| 欧美一卡二卡在线| 欧美日韩免费在线视频|