table_common_credit_rule_log.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: table_common_credit_rule_log.php 27876 2012-02-16 04:28:02Z zhengqingpeng $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. class table_common_credit_rule_log extends discuz_table
  12. {
  13. private $_rids = array();
  14. public function __construct() {
  15. $this->_table = 'common_credit_rule_log';
  16. $this->_pk = 'clid';
  17. parent::__construct();
  18. }
  19. public function increase($clid, $logarr) {
  20. if($clid && !empty($logarr) && is_array($logarr)) {
  21. return DB::query('UPDATE %t SET %i WHERE clid=%d', array($this->_table, implode(',', $logarr), $clid));
  22. }
  23. return 0;
  24. }
  25. public function fetch_ids_by_rid_fid($rid, $fid) {
  26. $lids = array();
  27. if($rid && $fid) {
  28. $query = DB::query('SELECT clid FROM %t WHERE rid=%d AND fid=%d', array($this->_table, $rid, $fid));
  29. while($value = DB::fetch($query)) {
  30. $lids[$value['clid']] = $value['clid'];
  31. }
  32. }
  33. return $lids;
  34. }
  35. public function fetch_rule_log($rid, $uid, $fid = 0){
  36. $log = array();
  37. if($rid && $uid) {
  38. $sql = '';
  39. $para = array($this->_table, $uid, $rid);
  40. if($fid) {
  41. $sql = ' AND fid=%d';
  42. $para[] = $fid;
  43. }
  44. $log = DB::fetch_first('SELECT * FROM %t WHERE uid=%d AND rid=%d'.$sql, $para);
  45. }
  46. return $log;
  47. }
  48. public function count_by_uid($uid) {
  49. return DB::result_first('SELECT COUNT(*) FROM %t WHERE uid=%d', array($this->_table, $uid));
  50. }
  51. public function fetch_all_by_uid($uid, $start = 0, $limit = 0) {
  52. $data = array();
  53. $query = DB::query("SELECT * FROM %t WHERE uid=%d ORDER BY dateline DESC ".DB::limit($start, $limit), array($this->_table, $uid));
  54. while($value = DB::fetch($query)) {
  55. $data[$value['clid']] = $value;
  56. $this->_rids[$value['rid']] = $value['rid'];
  57. }
  58. return $data;
  59. }
  60. public function delete_by_uid($uids) {
  61. $uids = dintval((array)$uids, true);
  62. if(!empty($uids)) {
  63. return DB::delete($this->_table, DB::field('uid', $uids));
  64. }
  65. return 0;
  66. }
  67. public function get_rids() {
  68. return $this->_rids;
  69. }
  70. }
  71. ?>