70 lines
2.7 KiB
PHP
70 lines
2.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* [Discuz!] (C)2001-2099 Comsenz Inc.
|
|
* This is NOT a freeware, use is subject to license terms
|
|
*
|
|
* $Id: table_common_block_item_data.php 31958 2012-10-26 05:11:05Z zhangguosheng $
|
|
*/
|
|
|
|
if(!defined('IN_DISCUZ')) {
|
|
exit('Access Denied');
|
|
}
|
|
|
|
class table_common_block_item_data extends discuz_table
|
|
{
|
|
public function __construct() {
|
|
|
|
$this->_table = 'common_block_item_data';
|
|
$this->_pk = 'dataid';
|
|
|
|
parent::__construct();
|
|
}
|
|
|
|
public function fetch_all_by_bid($bid, $isverified = 1, $start = 0, $limit = 0, $bannedids = array(), $format = true) {
|
|
$data = array();
|
|
if(($bid = dintval($bid, true))) {
|
|
$addsql = $bannedids = dintval($bannedids, true) ? ' AND id NOT IN ('.dimplode($bannedids).')' : '';
|
|
$query = DB::query('SELECT * FROM %t WHERE '.DB::field('bid', $bid).' AND isverified=%d'.$addsql.' ORDER BY stickgrade DESC, displayorder DESC, verifiedtime DESC, dataid DESC '.DB::limit($start, $limit), array($this->_table, $isverified));
|
|
while($value = DB::fetch($query)) {
|
|
if($format) {
|
|
$value['fields'] = unserialize($value['fields']);
|
|
$value['fields']['timestamp'] = $value['fields']['dateline'];
|
|
$value['fields']['dateline'] = dgmdate($value['fields']['dateline']);
|
|
$value['pic'] = $value['pic'] !== STATICURL.'image/common/nophoto.gif' ? $value['pic'] : '';
|
|
if($value['pic'] && $value['picflag'] == '1') {
|
|
$value['pic'] = getglobal('setting/attachurl').$value['pic'];
|
|
} elseif ($value['picflag'] == '2') {
|
|
$value['pic'] = getglobal('setting/ftp/attachurl').$value['pic'];
|
|
}
|
|
$value['dateline'] = dgmdate($value['dateline'], 'u');
|
|
$value['verifiedtime'] = dgmdate($value['verifiedtime'], 'u');
|
|
}
|
|
$data[$value['id']] = $value;
|
|
}
|
|
}
|
|
return $data;
|
|
}
|
|
|
|
public function count_by_bid($bid, $isverified = 1) {
|
|
return ($bid = dintval($bid, true)) ? DB::result_first('SELECT COUNT(*) FROM %t WHERE '.DB::field('bid', $bid).' AND isverified=%d', array($this->_table, $isverified)) : 0;
|
|
}
|
|
|
|
public function delete_by_bid($bid) {
|
|
if(($bid = dintval($bid, true))) {
|
|
DB::delete($this->_table, DB::field('bid', $bid));
|
|
}
|
|
}
|
|
|
|
public function delete_by_dataid_bid($dataids, $bid) {
|
|
if(($dataids = dintval($dataids, true)) && ($dataids = DB::fetch_all('SELECT dataid FROM %t WHERE dataid IN (%n) AND bid=%d', array($this->_table, $dataids, $bid), $this->_pk))) {
|
|
$this->delete(array_keys($dataids));
|
|
}
|
|
}
|
|
|
|
public function fetch_by_bid_id_idtype($bid, $id, $idtype) {
|
|
return $bid && $id && $idtype ? DB::fetch_first('SELECT * FROM %t WHERE bid=%d AND id=%d AND idtype=%s', array($this->_table, $bid, $id, $idtype)) : array();
|
|
}
|
|
}
|
|
|
|
?>
|