DiscuzX/upload/source/class/table/table_forum_modwork.php

52 lines
1.7 KiB
PHP

<?php
/**
* [Discuz!] (C)2001-2099 Comsenz Inc.
* This is NOT a freeware, use is subject to license terms
*
* $Id: table_forum_modwork.php 27800 2012-02-15 02:13:57Z svn_project_zhangjie $
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
class table_forum_modwork extends discuz_table
{
public function __construct() {
$this->_table = 'forum_modwork';
$this->_pk = '';
parent::__construct();
}
public function increase_count_posts_by_uid_modaction_dateline($count, $posts, $uid, $modaction, $dateline) {
return DB::query('UPDATE %t SET count=count+\'%d\', posts=posts+\'%d\' WHERE uid=%d AND modaction=%s AND dateline=%s',
array($this->_table, $count, $posts, $uid, $modaction, $dateline));
}
public function fetch_all_user_count_by_dateline($dateline) {
return DB::fetch_all('SELECT uid, SUM(count) AS actioncount FROM %t WHERE dateline>=%s GROUP BY uid', array($this->_table, $dateline));
}
public function fetch_all_by_uid_dateline($uid, $starttime, $endtime) {
return DB::fetch_all('SELECT * FROM %t WHERE uid=%d AND dateline>=%s AND dateline<%s', array($this->_table, $uid, $starttime, $endtime));
}
public function fetch_all_user_count_posts_by_uid_dateline($uids, $starttime, $endtime) {
if(empty($uids)) {
return array();
}
return DB::fetch_all('SELECT uid, modaction, SUM(count) AS count, SUM(posts) AS posts
FROM %t
WHERE '.DB::field('uid', $uids).' AND dateline>=%s AND dateline<%s GROUP BY uid, modaction',
array($this->_table, $starttime, $endtime));
}
public function delete_by_dateline($dateline) {
return DB::query('DELETE FROM %t WHERE dateline<%s', array($this->_table, $dateline));
}
}
?>