messagesModel.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <?php
  2. class messagesModel extends Staple_Model
  3. {
  4. private $db;
  5. private $id;
  6. private $message;
  7. private $postDate;
  8. private $expireDate;
  9. /**
  10. * @return mixed
  11. */
  12. public function getId()
  13. {
  14. return $this->id;
  15. }
  16. /**
  17. * @param mixed $id
  18. */
  19. public function setId($id)
  20. {
  21. $this->id = $id;
  22. }
  23. /**
  24. * @return mixed
  25. */
  26. public function getMessage()
  27. {
  28. return $this->message;
  29. }
  30. /**
  31. * @param mixed $message
  32. */
  33. public function setMessage($message)
  34. {
  35. $this->message = $message;
  36. }
  37. /**
  38. * @return mixed
  39. */
  40. public function getExpireDate()
  41. {
  42. $date = new DateTime();
  43. $date->setTimestamp($this->expireDate);
  44. return $date->format('m/d/Y');
  45. }
  46. /**
  47. * @param mixed $expireDate
  48. */
  49. public function setExpireDate($expireDate)
  50. {
  51. $this->expireDate = strtotime($expireDate);
  52. }
  53. /**
  54. * @return mixed
  55. */
  56. public function getPostDate()
  57. {
  58. return $this->postDate;
  59. }
  60. function __construct()
  61. {
  62. $this->db = Staple_DB::get();
  63. }
  64. function load($id)
  65. {
  66. $sql = "SELECT * FROM messages WHERE id = '".$this->db->real_escape_string($id)."' ";
  67. $query = $this->db->query($sql);
  68. $result = $query->fetch_assoc();
  69. $this->id = $result['id'];
  70. $this->expireDate = $result['expireDate'];
  71. $this->message = $result['message'];
  72. $this->postDate = $result['postDate'];
  73. }
  74. function getMessages()
  75. {
  76. $date = new DateTime();
  77. $date->setTime(0,0,0);
  78. $sql = "
  79. SELECT * FROM messages WHERE expireDate >= '".$this->db->real_escape_string($date->format('U'))."' ORDER BY postDate DESC;
  80. ";
  81. $data = array();
  82. $query = $this->db->query($sql);
  83. while($result = $query->fetch_assoc())
  84. {
  85. $data[] = $result;
  86. }
  87. return $data;
  88. }
  89. function getExpiredMessages()
  90. {
  91. $date = new DateTime();
  92. $date->setTime(0,0,0);
  93. $sql = "
  94. SELECT * FROM messages WHERE expireDate < '".$this->db->real_escape_string($date->format('U'))."' ORDER BY postDate DESC;
  95. ";
  96. $data = array();
  97. $query = $this->db->query($sql);
  98. while($result = $query->fetch_assoc())
  99. {
  100. $data[] = $result;
  101. }
  102. return $data;
  103. }
  104. function save()
  105. {
  106. if(isset($this->id))
  107. {
  108. //Edit
  109. $sql = "UPDATE messages SET expireDate = '".$this->expireDate."', message = '".$this->message."' WHERE id = '".$this->id."';";
  110. if($this->db->query($sql))
  111. {
  112. return true;
  113. }
  114. }
  115. else
  116. {
  117. //Save
  118. $sql = "INSERT INTO messages (message,expireDate) VALUES ('".$this->db->real_escape_string($this->message)."','".$this->db->real_escape_string($this->expireDate)."')";
  119. if($this->db->query($sql))
  120. {
  121. return true;
  122. }
  123. }
  124. }
  125. function delete($id)
  126. {
  127. $sql = "DELETE FROM messages WHERE id = '".$this->db->real_escape_string($id)."';";
  128. if($this->db->query($sql))
  129. {
  130. return true;
  131. }
  132. }
  133. }