table_forum_threadclass.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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_forum_threadclass.php 29316 2012-04-01 07:51:49Z liulanbo $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. class table_forum_threadclass extends discuz_table
  12. {
  13. public function __construct() {
  14. $this->_table = 'forum_threadclass';
  15. $this->_pk = 'typeid';
  16. parent::__construct();
  17. }
  18. public function fetch_by_fid_name($fid, $name) {
  19. return DB::fetch_first('SELECT * FROM %t WHERE fid=%d AND name=%s', array($this->_table, $fid, $name));
  20. }
  21. public function fetch_all_by_typeid($typeids) {
  22. $typeids = dintval($typeids, is_array($typeids) ? true : false);
  23. if($typeids) {
  24. return DB::fetch_all('SELECT * FROM %t WHERE typeid IN(%n) ORDER BY displayorder', array($this->_table, $typeids), $this->_pk);
  25. }
  26. return array();
  27. }
  28. public function fetch_all_by_fid($fid) {
  29. return DB::fetch_all('SELECT * FROM %t WHERE fid=%d ORDER BY displayorder', array($this->_table, $fid), $this->_pk);
  30. }
  31. public function fetch_all_by_typeid_fid($typeid, $fid) {
  32. $typeid = dintval($typeid, is_array($typeid) ? true : false);
  33. $fid = dintval($fid, is_array($fid) ? true : false);
  34. $parameter = array($this->_table, $typeid, $fid);
  35. $wheresql = is_array($typeid) && $typeid ? 'typeid IN(%n)' : 'typeid=%d';
  36. $wheresql .= ' AND '.(is_array($fid) && $fid ? 'fid IN(%n)' : 'fid=%d');
  37. return DB::fetch_all('SELECT * FROM %t WHERE '.$wheresql, $parameter, $this->_pk);
  38. }
  39. public function update_by_fid($fid, $data) {
  40. $fid = dintval($fid, is_array($fid) ? true : false);
  41. if(is_array($fid) && empty($fid)) {
  42. return 0;
  43. }
  44. if(!empty($data) && is_array($data)) {
  45. return DB::update($this->_table, $data, DB::field('fid', $fid));
  46. }
  47. return 0;
  48. }
  49. public function update_by_typeid($typeid, $data) {
  50. $typeid = dintval($typeid, is_array($typeid) ? true : false);
  51. if(is_array($typeid) && empty($typeid)) {
  52. return 0;
  53. }
  54. if(!empty($data) && is_array($data)) {
  55. return DB::update($this->_table, $data, DB::field('typeid', $typeid));
  56. }
  57. return 0;
  58. }
  59. public function update_by_typeid_fid($typeid, $fid, $data) {
  60. $typeid = dintval($typeid, is_array($typeid) ? true : false);
  61. $fid = dintval($fid, is_array($fid) ? true : false);
  62. if(empty($typeid) || empty($fid)) {
  63. return 0;
  64. }
  65. if(!empty($data) && is_array($data)) {
  66. return DB::update($this->_table, $data, DB::field('typeid', $typeid).' AND '.DB::field('fid', $fid));
  67. }
  68. return 0;
  69. }
  70. public function delete_by_typeid($typeid) {
  71. $typeid = dintval($typeid, is_array($typeid) ? true : false);
  72. if(empty($typeid)) {
  73. return 0;
  74. }
  75. return DB::delete($this->_table, DB::field('typeid', $typeid));
  76. }
  77. public function delete_by_typeid_fid($typeid, $fid) {
  78. $typeid = dintval($typeid, is_array($typeid) ? true : false);
  79. $fid = dintval($fid, is_array($fid) ? true : false);
  80. if(empty($typeid) || empty($fid)) {
  81. return 0;
  82. }
  83. return DB::delete($this->_table, DB::field('typeid', $typeid).' AND '.DB::field('fid', $fid));
  84. }
  85. public function count_by_fid($fid) {
  86. return DB::result_first('SELECT COUNT(*) FROM %t WHERE fid=%d', array($this->_table, $fid));
  87. }
  88. }
  89. ?>