messagesModel.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  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. private $userId;
  10. private $reviewDate;
  11. /**
  12. * @return mixed
  13. */
  14. public function getId()
  15. {
  16. return $this->id;
  17. }
  18. /**
  19. * @param mixed $id
  20. */
  21. public function setId($id)
  22. {
  23. $this->id = $id;
  24. }
  25. /**
  26. * @return mixed
  27. */
  28. public function getMessage()
  29. {
  30. return $this->message;
  31. }
  32. /**
  33. * @param mixed $message
  34. */
  35. public function setMessage($message)
  36. {
  37. $this->message = $message;
  38. }
  39. /**
  40. * @return mixed
  41. */
  42. public function getExpireDate()
  43. {
  44. $date = new DateTime();
  45. $date->setTimestamp($this->expireDate);
  46. return $date->format('m/d/Y');
  47. }
  48. /**
  49. * @param mixed $expireDate
  50. */
  51. public function setExpireDate($expireDate)
  52. {
  53. $this->expireDate = strtotime($expireDate);
  54. }
  55. /**
  56. * @return mixed
  57. */
  58. public function getPostDate()
  59. {
  60. return $this->postDate;
  61. }
  62. /**
  63. * @return mixed
  64. */
  65. public function getUserId()
  66. {
  67. return $this->userId;
  68. }
  69. /**
  70. * @param mixed $userId
  71. */
  72. public function setUserId($userId)
  73. {
  74. $this->userId = $userId;
  75. }
  76. /**
  77. * @return mixed
  78. */
  79. public function getReviewDate()
  80. {
  81. return $this->reviewDate;
  82. }
  83. /**
  84. * @param mixed $reviewDate
  85. */
  86. public function setReviewDate($reviewDate)
  87. {
  88. $this->reviewDate = $reviewDate;
  89. }
  90. function __construct()
  91. {
  92. $this->db = Staple_DB::get();
  93. }
  94. function load($id)
  95. {
  96. $sql = "SELECT * FROM messages WHERE id = '".$this->db->real_escape_string($id)."' ";
  97. $query = $this->db->query($sql);
  98. $result = $query->fetch_assoc();
  99. $this->id = $result['id'];
  100. $this->expireDate = $result['expireDate'];
  101. $this->message = $result['message'];
  102. $this->postDate = $result['postDate'];
  103. }
  104. function getMessages()
  105. {
  106. $date = new DateTime();
  107. $date->setTime(0,0,0);
  108. $sql = "
  109. SELECT * FROM messages WHERE expireDate >= '".$this->db->real_escape_string($date->format('U'))."' ORDER BY postDate DESC;
  110. ";
  111. $data = array();
  112. $query = $this->db->query($sql);
  113. while($result = $query->fetch_assoc())
  114. {
  115. $data[] = $result;
  116. }
  117. return $data;
  118. }
  119. function getPrivateMessages()
  120. {
  121. $user = new userModel();
  122. $userId = $user->getId();
  123. $date = new DateTime();
  124. $date->setTime(0,0,0);
  125. $sql = "
  126. SELECT * FROM privateMessages WHERE userId = '".$this->db->real_escape_string($userId)."' AND expireDate >= '".$this->db->real_escape_string($date->format('U'))."' ORDER BY postDate DESC;
  127. ";
  128. $data = array();
  129. $query = $this->db->query($sql);
  130. while($result = $query->fetch_assoc())
  131. {
  132. $data[] = $result;
  133. }
  134. return $data;
  135. }
  136. function getAllPrivateMessages()
  137. {
  138. $user = new userModel();
  139. $userId = $user->getId();
  140. $date = new DateTime();
  141. $date->setTime(0,0,0);
  142. $sql = "
  143. SELECT * FROM privateMessages WHERE expireDate >= '".$this->db->real_escape_string($date->format('U'))."' ORDER BY postDate DESC;
  144. ";
  145. $data = array();
  146. $query = $this->db->query($sql);
  147. while($result = $query->fetch_assoc())
  148. {
  149. $data[] = $result;
  150. }
  151. return $data;
  152. }
  153. function getExpiredMessages()
  154. {
  155. $date = new DateTime();
  156. $date->setTime(0,0,0);
  157. $sql = "
  158. SELECT * FROM messages WHERE expireDate < '".$this->db->real_escape_string($date->format('U'))."' ORDER BY postDate DESC;
  159. ";
  160. $data = array();
  161. $query = $this->db->query($sql);
  162. while($result = $query->fetch_assoc())
  163. {
  164. $data[] = $result;
  165. }
  166. return $data;
  167. }
  168. function save()
  169. {
  170. if(isset($this->id))
  171. {
  172. //Edit
  173. $sql = "UPDATE messages SET expireDate = '".$this->expireDate."', message = '".$this->message."' WHERE id = '".$this->id."';";
  174. if($this->db->query($sql))
  175. {
  176. return true;
  177. }
  178. }
  179. else
  180. {
  181. //Save
  182. $sql = "INSERT INTO messages (message,expireDate) VALUES ('".$this->db->real_escape_string($this->message)."','".$this->db->real_escape_string($this->expireDate)."')";
  183. if($this->db->query($sql))
  184. {
  185. return true;
  186. }
  187. }
  188. }
  189. function savePrivate()
  190. {
  191. if(isset($this->id))
  192. {
  193. //Edit
  194. $sql = "UPDATE privateMessages SET expireDate = '".$this->expireDate."', message = '".$this->message."' WHERE id = '".$this->id."';";
  195. if($this->db->query($sql))
  196. {
  197. return true;
  198. }
  199. }
  200. else
  201. {
  202. //Save
  203. $sql = "INSERT INTO privateMessages (message,expireDate,userId) VALUES ('".$this->db->real_escape_string($this->message)."','".$this->db->real_escape_string($this->expireDate)."','".$this->db->real_escape_string($this->userId)."')";
  204. if($this->db->query($sql))
  205. {
  206. return true;
  207. }
  208. }
  209. }
  210. function delete($id)
  211. {
  212. $sql = "DELETE FROM messages WHERE id = '".$this->db->real_escape_string($id)."';";
  213. if($this->db->query($sql))
  214. {
  215. return true;
  216. }
  217. }
  218. function deletePrivate($id)
  219. {
  220. $sql = "DELETE FROM privateMessages WHERE id = '".$this->db->real_escape_string($id)."';";
  221. if($this->db->query($sql))
  222. {
  223. return true;
  224. }
  225. }
  226. }