亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > PhpCMS > 正文

【phpcms-v9】前臺模板文件中{pc}標簽的執行流程

2024-09-10 07:15:45
字體:
來源:轉載
供稿:網友

前臺pc標簽的使用:{pc:content 參數名="參數值" 參數名="參數值" 參數名="參數值"} 

如:{pc:content action="lists" catid="9" cache="3600" num="20" page="$page"}{/pc} 

執行流程如下:

①模塊名:content

②模塊類文件:modules/content/classes/content_tag.class.php,便于二次開發或標簽的擴展.

③文件中的方法:lists

④action后面的參數以數組的形式傳遞給lists方法,如:function lists($data=array()) 

此標簽實際獲取的是:content_tag.class.php文件中lists方法返回的數據.

注意:此標簽會根據catid的值去尋找對應的模型id,然后再根據對應的模型id尋找到對應的模型表,如:news.

注意:幾乎所有的模塊都有一個標簽類,格式如下:模塊名_tag.class.php

注意:前臺模板文件中出現{pc}標簽的位置,都可在"碎片管理"中進行編輯修改,非常方便.

content_tag.class.php文件分析-pc標簽調用的方法,代碼如下:

  1. <?php   
  2. class content_tag {   
  3.     private $db;                                                            //主要針對v9_news表   
  4.     public function __construct() {   
  5.         $this->db = pc_base::load_model('content_model');                    //數據模型,對應數據表news 和 news_data    
  6.         $this->position = pc_base::load_model('position_data_model');        //position_data表   
  7.     }   
  8.     /**   
  9.      * 初始化模型,其實就是為了根據欄目id設置對應對應的模型表及數據表:news-模型表、v9_news-數據表   
  10.      * @param $catid   
  11.      */   
  12.     public function set_modelid($catid) {   
  13.         $siteids = getcache('category_content','commons');  //獲取所有欄目所屬的站點id    
  14.         if(!$siteids[$catid]) return false;                 //不存在此欄目,返回false    
  15.         $siteid = $siteids[$catid];                         //當前欄目所屬站點id     
  16.         $this->category = getcache('category_content_'.$siteid,'commons');//獲取當前站點id下所有欄目的配置信息   
  17.         if($this->category[$catid]['type']!=0) return false;//如果不為內部欄目,返回false  0-內部欄目 1-單網頁 2-外部鏈接   
  18.         $this->modelid = $this->category[$catid]['modelid'];//獲取當前欄目所屬模型id     
  19.         $this->db->set_model($this->modelid);              //根據模型id獲取當前模型所對應的模型表和數據表 1:文檔模型-news  3:圖片模型-picture   2:下載模型-download   
  20.         $this->tablename = $this->db->table_name;          //數據表:v9_news  
  21.         if(emptyempty($this->category)) {                     //如果當前站點下不存在欄目配置信息,則返回false   
  22.             return false;   
  23.         } else {                                            //如果當前站點下存在欄目配置信息,則返回true   
  24.             return true;   
  25.         }   
  26.     }   
  27.     /**   
  28.      * 分頁統計   
  29.      * @param $data   
  30.      */   
  31.     public function count($data) {   
  32.         if($data['action'] == 'lists') {   
  33.             $catid = intval($data['catid']);   
  34.             if(!$this->set_modelid($catid)) return false;   
  35.             if(isset($data['where'])) {   
  36.                 $sql = $data['where'];   
  37.             } else {   
  38.                 if($this->category[$catid]['child']) {   
  39.                     $catids_str = $this->category[$catid]['arrchildid'];   
  40.                     $pos = strpos($catids_str,',')+1;   
  41.                     $catids_str = substr($catids_str$pos);   
  42.                     $sql = "status=99 AND catid IN ($catids_str)";   
  43.                 } else {   
  44.                     $sql = "status=99 AND catid='$catid'";   
  45.                 }   
  46.             }   
  47.             return $this->db->count($sql);   
  48.         }   
  49.     }   
  50.        
  51.     /**   
  52.      * 列表頁標簽:主要返回的是主表中數據與附表中數據, {pc:content action="lists"} {/pc}標簽調用的都是lists方法   
  53.      * @param $data   
  54.      */   
  55.     public function lists($data) {   
  56.         $catid = intval($data['catid']);                                    //pc標簽中catid屬性   
  57.         if(!$this->set_modelid($catid)) return false;                        //會根據欄目id->對應的模型id->對應的模型表   
  58.         if(isset($data['where'])) {                                         //如果pc標簽中設置了where屬性,一般情況下不存在   
  59.             $sql = $data['where'];                                             
  60.         } else {                                                            //如果pc標簽中沒有設置where屬性    
  61.             $thumb = intval($data['thumb']) ? " AND thumb != ''" : '';      //如果有thumb屬性   
  62.             if($this->category[$catid]['child']) {                           //當前欄目下是否存在子欄目   
  63.                 $catids_str = $this->category[$catid]['arrchildid'];     //所有子欄目id,包括當前欄目自身id   
  64.                 $pos = strpos($catids_str,',')+1;                             
  65.                 $catids_str = substr($catids_str$pos);                    //所有子欄目id,不包括當前欄目自身id   
  66.                 $sql = "status=99 AND catid IN ($catids_str)".$thumb;       //拼接成一個sql語句   
  67.             } else {   
  68.                 $sql = "status=99 AND catid='$catid'".$thumb;               //如果當前欄目下不存在子欄目   
  69.             }   
  70.         }   
  71.         $order = $data['order'];                                            //pc標簽中order屬性   
  72.         //$sql作為一個條件出現,調用的是model.calss.php文件中的select方法,返回結果集數組,并按照鍵名'id'排序   
  73.         $return = $this->db->select($sql'*'$data['limit'], $order'''id');//從數據庫中獲取主表數據,使用的也是sql語句查詢   
  74.                            
  75.         //調用副表的數據   
  76.         if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {   //如果pc標簽中設置了moreinfo屬性:是否調用附表數據   
  77.             $ids = array();   
  78.             //$return為返回的主表數據   
  79.             foreach ($return as $v) {                                       //循環主表中的記錄信息:$v-主表中的每條記錄   
  80.                 if (isset($v['id']) && !emptyempty($v['id'])) {   
  81.                     $ids[] = $v['id'];                                      //ids[]是主表中排序完成的文章id數組   
  82.                 } else {   
  83.                     continue;   
  84.                 }   
  85.             }   
  86.             if (!emptyempty($ids)) {   
  87.                 $this->db->table_name = $this->db->table_name.'_data';      //副表名    
  88.                 $ids = implode('/',/''$ids);                              //以逗號拼接成一個字符串   
  89.                 $r = $this->db->select("`id` IN ('$ids')"'*''''''''id');//查詢與主表中數據有關的副表中的數據   
  90.                 if (!emptyempty($r)) {   
  91.                     foreach ($r as $k=>$v) {                             //副表中的數據   
  92.                         //$return:返回的主表中的數據,主表中的id字段值與附表中的id字段值是對應的,也就是說一篇文章在主表中存儲的id跟在附表中存儲的id的值是相等的   
  93.                         if (isset($return[$k])) $return[$k] = array_merge($v$return[$k]);//主表中數據與副表中數據合并    
  94.                     }   
  95.                 }   
  96.             }   
  97.         }   
  98.         return $return;   
  99.     }   
  100.        
  101.     /**   
  102.      * 相關文章標簽,{pc:content action="relation"} {/pc}標簽調用的都是relation方法   
  103.      * @param $data   
  104.      */   
  105.     public function relation($data) {   
  106.         $catid = intval($data['catid']);                                    //pc標簽的catid屬性:欄目id   
  107.         if(!$this->set_modelid($catid)) return false;   
  108.         $order = $data['order'];                                            //pc標簽的order屬性   
  109.         $sql = "`status`=99";                                               //拼接sql   
  110.         $limit = $data['id'] ? $data['limit']+1 : $data['limit'];   
  111.         if($data['relation']) {                                             //pc標簽的relation屬性:相關文章id   格式如下:2|7|5   
  112.             $relations = explode('|',trim($data['relation'],'|'));          //以 | 分割成一個數組   
  113.             $relations = array_diff($relationsarray(null));   
  114.             $relations = implode(',',$relations);   
  115.             $sql = " `id` IN ($relations)";                                 //拼接sql   
  116.             $key_array = $this->db->select($sql'*'$limit$order,'','id');//關聯的文章   
  117.         } elseif($data['keywords']) {                                       //相關關鍵詞   
  118.             $keywords = str_replace('%''',$data['keywords']);   
  119.             $keywords_arr = explode(' ',$keywords);                         //以空格將關鍵詞分割為一個數組   
  120.             $key_array = array();   
  121.             $number = 0;                                                    //相關熱詞文章數量   
  122.             $i =1;                                                          //控制返回文章數量的標識   
  123.             foreach ($keywords_arr as $_k) {                                   
  124.                 $sql2 = $sql." AND `keywords` LIKE '%$_k%'".(isset($data['id']) && intval($data['id']) ? " AND `id` != '".abs(intval($data['id']))."'" : '');   
  125.                 $r = $this->db->select($sql2'*'$limit'','','id');   
  126.                 $number += count($r);                                       //所有熱詞文章的總量   
  127.                 foreach ($r as $id=>$v) {   
  128.                     if($i<= $data['limit'] && !in_array($id$key_array)) $key_array[$id] = $v;//$key_array[文章id]=文章記錄   
  129.                     $i++;   
  130.                 }   
  131.                 if($data['limit']<$numberbreak;   
  132.             }   
  133.         }   
  134.         if($data['id']) unset($key_array[$data['id']]);//針對性的屏蔽某篇文章   
  135.         return $key_array;   
  136.     }   
  137.        
  138.     /**   
  139.      * 排行榜標簽{pc:content action="hits"} {/pc}標簽調用的都是hits方法   
  140.      * @param $data   
  141.      */   
  142.     public function hits($data) {   
  143.         $catid = intval($data['catid']);                                    //欄目id,pc標簽的catid屬性   
  144.         if(!$this->set_modelid($catid)) return false;                        //根據欄目id->對應的模型id->模型表,如:news   
  145.    
  146.         $this->hits_db = pc_base::load_model('hits_model');                  //hits:點擊量表            
  147.         $sql = $desc = $ids = '';   
  148.         $array = $ids_array = array();   
  149.         $order = $data['order'];                                            //pc標簽中order屬性   
  150.         $hitsid = 'c-'.$this->modelid.'-%';                                  //hits點擊量表中hitsid字段的組成:c-模型id-文章id   
  151.         $sql = "hitsid LIKE '$hitsid'";                                     //拼接sql   
  152.         if(isset($data['day'])) {                                           //pc標簽中day屬性:表示調用多少天內的排行   
  153.             $updatetime = SYS_TIME-intval($data['day'])*86400;              //表示調用多少天內的排行   
  154.             $sql .= " AND updatetime>'$updatetime'";                     //拼接sql   
  155.         }   
  156.         if($this->category[$catid]['child']) {                               //當前欄目是否有子欄目   
  157.             $catids_str = $this->category[$catid]['arrchildid'];         //當前欄目下所有子欄目id,包括當前欄目自身的id   
  158.             $pos = strpos($catids_str,',')+1;   
  159.             $catids_str = substr($catids_str$pos);                        //當前欄目下所有子欄目id,不包括當前欄目自身id   
  160.             $sql .= " AND catid IN ($catids_str)";                          //拼接sql   
  161.         } else {   
  162.             $sql .= " AND catid='$catid'";                                  //如果當前欄目不存在子欄目   
  163.         }   
  164.         $hits = array();   
  165.         $result = $this->hits_db->select($sql'*'$data['limit'], $order);//查詢v9_hits點擊量表   
  166.         foreach ($result as $r) {                                           //$result:v9_hits表中返回的數據   
  167.             $pos = strpos($r['hitsid'],'-',2) + 1;                          //格式:c-模型id-文章id,如,c-1-1 ,查找第二個 "-"的位置   
  168.             $ids_array[] = $id = substr($r['hitsid'],$pos);                 //文章的id   
  169.             $hits[$id] = $r;                                                //每篇文章的點擊量信息 ,格式:$hits[文章id]= 文章點擊記錄信息   
  170.         }   
  171.         $ids = implode(','$ids_array);                                    //以逗號拼接成一個字符串   
  172.         if($ids) {                                     
  173.             $sql = "status=99 AND id IN ($ids)";                            //拼接sql   
  174.         } else {   
  175.             $sql = '';   
  176.         }   
  177.         $this->db->table_name = $this->tablename;                          //內容主表:v9_news   
  178.         $result = $this->db->select($sql'*'$data['limit'],'','','id');  //查詢內容主表:v9_news   
  179.         foreach ($ids_array as $id) {   
  180.             if($result[$id]['title']!='') {   
  181.                 $array[$id] = $result[$id];   
  182.                 $array[$id] = array_merge($array[$id], $hits[$id]);         //將內容主表v9_news中數據與點擊量表v9_hits中數據合并,合并橋梁為id   
  183.             }   
  184.         }   
  185.         return $array;   
  186.     }   
  187.     /**   
  188.      * 欄目標簽:主要用來返回當前欄目下的所有子欄目及子欄目的url鏈接地址等信息:{pc:content action="category"} {/pc}標簽調用的都是category方法   
  189.      * @param $data   
  190.      */   
  191.     public function category($data) {   
  192.         $data['catid'] = intval($data['catid']);                            //pc標簽的catid屬性:欄目id   
  193.         $array = array();   
  194.         $siteid = $data['siteid'] && intval($data['siteid']) ? intval($data['siteid']) : get_siteid();//pc標簽的siteid屬性:默認調用系統站點   
  195.         $categorys = getcache('category_content_'.$siteid,'commons');       //獲取當前站點下所有欄目的詳細配置信息   
  196.         $site = siteinfo($siteid);                                          //獲取當前站點的信息   
  197.         $i = 1;   
  198.         foreach ($categorys as $catid=>$cat) {   
  199.             if($i>$data['limit']) break;   
  200.             if((!$cat['ismenu']) || $siteid && $cat['siteid']!=$siteidcontinue;//ismenu:是否顯示欄目,1-顯示欄目   0-不顯示欄目   
  201.             if (strpos($cat['url'], '://') === false) {                     //當前欄目的url鏈接地址中是否存在 "://"   
  202.                 $cat['url'] = substr($site['domain'],0,-1).$cat['url'];     //當前欄目的url鏈接地址   
  203.             }   
  204.             if($cat['parentid']==$data['catid']) {                          //默認為0,調用一級欄目,$cat['parentid']只有一個值   
  205.                 $array[$catid] = $cat;                                      //所有子欄目信息   
  206.                 $i++;   
  207.             }   
  208.         }   
  209.         return $array;   
  210.     }   
  211.        
  212.     /**   
  213.      * 推薦位,主要用來返回當前推薦位置所有文章的標題和url鏈接地址等信息:{pc:content action="position"} {/pc}標簽調用的都是position方法   
  214.      * @param $data   
  215.      */   
  216.     public function position($data) {   
  217.         $sql = '';   
  218.         $array = array();   
  219.         $posid = intval($data['posid']);                                    //pc標簽中posid屬性:推薦位id   
  220.         $order = $data['order'];                                            //pc標簽中order屬性   
  221.         $thumb = (emptyempty($data['thumb']) || intval($data['thumb']) == 0) ? 0 : 1;//pc標簽中thumb屬性   
  222.         $siteid = $GLOBALS['siteid'] ? $GLOBALS['siteid'] : 1;              //當前站點id   
  223.         $catid = (emptyempty($data['catid']) || $data['catid'] == 0) ? '' : intval($data['catid']);//pc標簽中的catid屬性   
  224.         if($catid) {                                                        //如果欄目id存在   
  225.             $siteids = getcache('category_content','commons');              //獲取所有欄目所對應的站點id   
  226.             if(!$siteids[$catid]) return false;                             //當前站點下不存在當前欄目,則返回false   
  227.             $siteid = $siteids[$catid];                                     //當前站點id   
  228.             $this->category = getcache('category_content_'.$siteid,'commons');//當前站點id下所有欄目的詳細配置信息   
  229.         }   
  230.         if($catid && $this->category[$catid]['child']) {                 //當前欄目是否存在子欄目   
  231.             $catids_str = $this->category[$catid]['arrchildid'];         //當前欄目下所有子欄目id,包括當前欄目自身id   
  232.             $pos = strpos($catids_str,',')+1;   
  233.             $catids_str = substr($catids_str$pos);                        //當前欄目下所有子欄目id,不包括當前欄目自身id   
  234.             $sql = "`catid` IN ($catids_str) AND ";                         //拼接sql   
  235.         }  elseif($catid && !$this->category[$catid]['child']) {         //如果當前欄目不存在子欄目   
  236.                 $sql = "`catid` = '$catid' AND ";   
  237.         }   
  238.         if($thumb$sql .= "`thumb` = '1' AND ";                            //有縮略圖的情況   
  239.         if(isset($data['where'])) $sql .= $data['where'].' AND ';           //pc標簽的where屬性:一般情況下沒有此屬性   
  240.         if(isset($data['expiration']) && $data['expiration']==1) $sql .= '(`expiration` >= /''.SYS_TIME.'/' OR `expiration` = /'0/' ) AND ';   
  241.         $sql .= "`posid` = '$posid' AND `siteid` = '".$siteid."'";          //拼接sql   
  242.         $pos_arr = $this->position->select($sql'*'$data['limit'],$order);//查詢v9_position_data表   
  243.         if(!emptyempty($pos_arr)) {   
  244.             foreach ($pos_arr as $info) {                                   //循環查詢到的v9_position_data表中的記錄   
  245.                 $key = $info['catid'].'-'.$info['id'];                      //格式:欄目id-文章id    
  246.                 $array[$key] = string2array($info['data']);                 //將v9_position_data表中data字段的值轉換為數組   
  247.                 $array[$key]['url'] = go($info['catid'],$info['id']);       //url鏈接地址   
  248.                 $array[$key]['id'] = $info['id'];                           //文章id   
  249.                 $array[$key]['catid'] = $info['catid'];                     //欄目id   
  250.                 $array[$key]['listorder'] = $info['listorder'];             //排序   
  251.             }   
  252.         }   
  253.         return $array;   
  254.     }   
  255.     /**   
  256.      * 可視化標簽,主要用于在后臺可視化的對pc標簽進行編輯   
  257.      */   
  258.     public function pc_tag() {   
  259.         $positionlist = getcache('position','commons');   
  260.         $sites = pc_base::load_app_class('sites','admin');   
  261.         $sitelist = $sites->pc_tag_list();   
  262.            
  263.         foreach ($positionlist as $_vif($_v['siteid'] == get_siteid() || $_v['siteid'] == 0) $poslist[$_v['posid']] = $_v['name'];   
  264.         return array(   
  265.             'action'=>array('lists'=>L('list','''content'),'position'=>L('position','''content'), 'category'=>L('subcat''''content'), 'relation'=>L('related_articles''''content'), 'hits'=>L('top''''content')),   
  266.             'lists'=>array(   
  267.                 'catid'=>array('name'=>L('catid''''content'),'htmltype'=>'input_select_category','data'=>array('type'=>0),'validator'=>array('min'=>1)),   
  268.                 'order'=>array('name'=>L('sort''''content'), 'htmltype'=>'select','data'=>array('id DESC'=>L('id_desc''''content'), 'updatetime DESC'=>L('updatetime_desc''''content'), 'listorder ASC'=>L('listorder_asc''''content'))),   
  269.                 'thumb'=>array('name'=>L('thumb''''content'), 'htmltype'=>'radio','data'=>array('0'=>L('all_list''''content'), '1'=>L('thumb_list''''content'))),   
  270.                 'moreinfo'=>array('name'=>L('moreinfo''''content'), 'htmltype'=>'radio''data'=>array('1'=>L('yes'), '0'=>L('no')))   
  271.             ),   
  272.             'position'=>array(   
  273.                 'posid'=>array('name'=>L('posid''''content'),'htmltype'=>'input_select','data'=>$poslist,'validator'=>array('min'=>1)),   
  274.                 'catid'=>array('name'=>L('catid''''content'),'htmltype'=>'input_select_category','data'=>array('type'=>0),'validator'=>array('min'=>0)),   
  275.                 'thumb'=>array('name'=>L('thumb''''content'), 'htmltype'=>'radio','data'=>array('0'=>L('all_list''''content'), '1'=>L('thumb_list''''content'))),            
  276.                 'order'=>array('name'=>L('sort''''content'), 'htmltype'=>'select','data'=>array('listorder DESC'=>L('listorder_desc''''content'),'listorder ASC'=>L('listorder_asc''''content'),'id DESC'=>L('id_desc''''content'))),   
  277.             ),   
  278.             'category'=>array(   
  279.                 'siteid'=>array('name'=>L('siteid'), 'htmltype'=>'input_select''data'=>$sitelist),   
  280.                 'catid'=>array('name'=>L('catid''''content'), 'htmltype'=>'input_select_category''data'=>array('type'=>0))   
  281.             ),   
  282.             'relation'=>array(   
  283.                 'catid'=>array('name'=>L('catid''''content'), 'htmltype'=>'input_select_category''data'=>array('type'=>0), 'validator'=>array('min'=>1)),   
  284.                 'order'=>array('name'=>L('sort''''content'), 'htmltype'=>'select','data'=>array('id DESC'=>L('id_desc''''content'), 'updatetime DESC'=>L('updatetime_desc''''content'), 'listorder ASC'=>L('listorder_asc''''content'))),   
  285.                 'relation'=>array('name'=>L('relevant_articles_id''''content'), 'htmltype'=>'input'),   
  286.                 'keywords'=>array('name'=>L('key_word''''content'), 'htmltype'=>'input')  //Vevb.com 
  287.             ),   
  288.             'hits'=>array(   
  289.                 'catid'=>array('name'=>L('catid''''content'), 'htmltype'=>'input_select_category''data'=>array('type'=>0), 'validator'=>array('min'=>1)),   
  290.                 'day'=>array('name'=>L('day_select''''content'), 'htmltype'=>'input''data'=>array('type'=>0)),   
  291.             ),   
  292.                    
  293.         );   
  294.     }   
  295. }  ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲av一区二区| 久久久99久久精品女同性| 精品国产区一区二区三区在线观看| 欧美午夜精品在线| 中文字幕综合在线| 国产第一区电影| 国产日本欧美一区二区三区在线| 欧美午夜精品伦理| 精品久久在线播放| 国产亚洲美女精品久久久| 久久综合久久八八| 成人性生交大片免费观看嘿嘿视频| 欧美中文在线观看| 欧美高清视频免费观看| 国产日本欧美一区二区三区在线| 日韩欧美在线中文字幕| 日韩欧美国产网站| 国产精品视频999| 日韩视频一区在线| 国产盗摄xxxx视频xxx69| 精品亚洲一区二区三区四区五区| 有码中文亚洲精品| 国产精品人成电影在线观看| 国产va免费精品高清在线观看| 91成品人片a无限观看| 午夜精品福利视频| 成人观看高清在线观看免费| 国产精品无码专区在线观看| 日本久久精品视频| 精品久久久中文| 国产91在线高潮白浆在线观看| 欧美成人手机在线| 欧美日韩第一视频| 欧美亚洲国产视频小说| 久久成人人人人精品欧| 欧美精品国产精品日韩精品| 欧美一区二区三区艳史| 啪一啪鲁一鲁2019在线视频| 97人洗澡人人免费公开视频碰碰碰| 欧美视频13p| 成人高清视频观看www| 日韩av在线影院| 国产欧美日韩丝袜精品一区| 午夜精品99久久免费| 日韩美女视频中文字幕| 欧美大片欧美激情性色a∨久久| 亚洲乱亚洲乱妇无码| 日韩激情片免费| 亚洲网站在线观看| 亚洲专区中文字幕| 亚洲free性xxxx护士白浆| 久久精品夜夜夜夜夜久久| 亚洲女人天堂网| 成人夜晚看av| 91精品国产综合久久久久久蜜臀| 午夜免费日韩视频| 亚洲欧洲在线观看| 日韩av电影免费观看高清| 色综合天天狠天天透天天伊人| 欧美午夜影院在线视频| 国产一区二区黑人欧美xxxx| 91精品啪在线观看麻豆免费| 欧美日韩成人网| 日韩免费在线电影| 美女啪啪无遮挡免费久久网站| 成人网在线观看| 久久人人爽人人爽人人片av高清| 久久视频在线免费观看| 日韩精品在线视频观看| 热re99久久精品国产66热| 欧美极度另类性三渗透| 欧美日韩精品在线观看| 啪一啪鲁一鲁2019在线视频| 成人黄色生活片| 国产成人午夜视频网址| 91精品国产91久久| 成人一区二区电影| 欧美成人精品xxx| 日韩成人激情视频| 亚洲欧美日韩中文在线| 久久99国产精品自在自在app| 亚洲一级一级97网| 国产精品www色诱视频| 国产欧美日韩精品在线观看| 国产日韩欧美影视| 亚洲激情视频网| 国产视频自拍一区| 亚洲欧洲偷拍精品| 9.1国产丝袜在线观看| 91精品久久久久久久久久久久久久| 国产不卡精品视男人的天堂| 国产精品一区二区av影院萌芽| 秋霞av国产精品一区| 亚洲黄色成人网| 精品国产福利视频| 国产一区二区免费| 久久久久久久久久亚洲| 在线精品国产成人综合| 日韩在线观看精品| 中文国产亚洲喷潮| 69**夜色精品国产69乱| 91亚洲精品久久久久久久久久久久| 国产91免费看片| 久久亚洲成人精品| 国产精品第100页| 亚洲成人av中文字幕| 中文一区二区视频| 亚洲精品久久视频| 久久久久成人网| 中文字幕日韩欧美在线| 亚洲激情免费观看| 日韩有码视频在线| 国产亚洲精品美女久久久| 国产亚洲视频在线| 国产成人一区二区三区| 国产精品一区专区欧美日韩| 亚洲电影免费在线观看| 国产精品一区二区在线| 欧美精品videos性欧美| 欧美第一淫aaasss性| 国产成人精品久久亚洲高清不卡| 久久人人爽人人爽人人片av高清| 欧美中文在线观看| 亚洲一区二区三区四区视频| 日韩暖暖在线视频| 亚洲欧洲av一区二区| 在线精品高清中文字幕| 久久免费视频观看| 国产精品igao视频| 亚洲aⅴ男人的天堂在线观看| 国产一区二区日韩精品欧美精品| 久久精品国产96久久久香蕉| 欧美日韩中文字幕在线| 亚洲人成网在线播放| 亚洲高清色综合| 97视频在线观看播放| 中文字幕日韩电影| 98精品国产自产在线观看| 欧美乱人伦中文字幕在线| 日本韩国欧美精品大片卡二| 色中色综合影院手机版在线观看| 欧美亚洲在线观看| 日韩免费观看视频| 日本久久91av| 2023亚洲男人天堂| 亚洲欧美www| 在线观看日韩www视频免费| 日韩欧美在线网址| 少妇高潮 亚洲精品| 亚洲精品电影在线| 国产精品丝袜久久久久久高清| 国产噜噜噜噜久久久久久久久| 北条麻妃一区二区三区中文字幕| 一本色道久久综合亚洲精品小说| 久久精品亚洲精品| 国产精品久久99久久| 欧美激情第一页xxx| 97超视频免费观看| 久久国产精品影片| 中文字幕亚洲二区| 日韩精品免费综合视频在线播放| 米奇精品一区二区三区在线观看| 欧美高清一级大片| 亚洲天堂日韩电影|