A new, object-oriented, better vesion of μForum
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.5 KiB

  1. <?php
  2. /**
  3. * @package uForum2
  4. * @file inc/models/BansModel.php
  5. * @copyright 2007-2015 (c) PioDer
  6. * @link http://www.pioder.pl/
  7. * @license see LICENSE.txt
  8. **/
  9. class BansModel extends Model
  10. {
  11. private $ban_info = null;
  12. public function getBans()
  13. {
  14. $query = 'SELECT b.ban_id as ban_id, b.user_id as user_id, u.nick as nick, b.reason as reason
  15. FROM '.BANLIST_TABLE.' b
  16. LEFT JOIN '.USERS_TABLE.' u ON u.user_id = b.user_id';
  17. return $this->select_query($query);
  18. }
  19. public function getBan($ban_id)
  20. {
  21. if ($this->ban_info == null)
  22. {
  23. $query = 'SELECT b.ban_id as ban_id, b.user_id as user_id, u.nick as nick, b.reason as reason
  24. FROM '.BANLIST_TABLE.' b
  25. LEFT JOIN '.USERS_TABLE.' u ON u.user_id = b.user_id
  26. WHERE `ban_id`=\''.$ban_id.'\'';
  27. $out = $this->select_query($query);
  28. if (count($out) > 0)
  29. $this->ban_info = $out[0];
  30. }
  31. return $this->ban_info;
  32. }
  33. public function getUserBan($user_id)
  34. {
  35. $out = $this->select(BANLIST_TABLE, '*', 'user_id=\''.$user_id.'\'');
  36. if (count($out) > 0)
  37. return $out[0];
  38. else
  39. return null;
  40. }
  41. public function addBan($user_id, $reason)
  42. {
  43. $query = 'INSERT INTO '.BANLIST_TABLE.'
  44. (`ban_id`, `user_id`, `reason`)
  45. VALUES (NULL, \''.$user_id.'\', \''.$reason.'\')';
  46. $this->db->query($query);
  47. $query = 'DELETE FROM '.SESSIONS_TABLE.' WHERE `user_id`=\''.$user_id.'\'';
  48. $this->db->query($query);
  49. }
  50. public function deleteBan($ban_id)
  51. {
  52. $query = 'DELETE FROM '.BANLIST_TABLE.' WHERE `ban_id`=\''.$ban_id.'\'';
  53. $this->db->query($query);
  54. }
  55. }
  56. ?>