2 /************************************************************************/
4 /************************************************************************/
5 /* Copyright (c) 2010 */
6 /* Inclusive Design Institute */
8 /* This program is free software. You can redistribute it and/or */
9 /* modify it under the terms of the GNU General Public License */
10 /* as published by the Free Software Foundation. */
11 /************************************************************************/
14 * DAO for "forums" table
20 if (!defined('TR_INCLUDE_PATH')) exit;
22 require_once(TR_INCLUDE_PATH. 'classes/DAO/DAO.class.php');
24 class ForumsDAO extends DAO {
30 * @return user id, if successful
31 * false and add error into global var $msg, if unsuccessful
34 public function Create($title, $description)
38 $title = $addslashes(trim($title));
39 $decsription = $addslashes(trim($description));
41 if ($this->isFieldsValid($title))
43 /* insert into the db */
44 $sql = "INSERT INTO ".TABLE_PREFIX."forums
45 (title, description, created_date)
50 if (!$this->execute($sql))
52 $msg->addError('DB_NOT_UPDATED');
57 return mysql_insert_id();
70 * @return true, if successful
71 * false and add error into global var $msg, if unsuccessful
74 public function Delete($forumID)
76 require_once(TR_INCLUDE_PATH.'classes/FileUtility.class.php');
77 require_once(TR_INCLUDE_PATH.'classes/DAO/ContentForumsAssocDAO.class.php');
78 $contentForumsAssocDAO = new ContentForumsAssocDAO();
80 // delete the forum and related data
81 $contentForumsAssocDAO->DeleteByForumID($forumID);
83 $sql = "DELETE FROM ".TABLE_PREFIX."forums
84 WHERE forum_id = ".$forumID;
89 * Return by given forum id
95 public function get($forumID)
97 $sql = 'SELECT * FROM '.TABLE_PREFIX.'forums WHERE forum_id='.$forumID;
98 if ($rows = $this->execute($sql))
106 * Validate fields preparing for insert and update
109 * @return true if update successfully
110 * false if update unsuccessful
111 * @author Cindy Qi Li
113 private function isFieldsValid($title)
117 $missing_fields = array();
121 $missing_fields[] = _AT('title');
126 $missing_fields = implode(', ', $missing_fields);
127 $msg->addError(array('EMPTY_FIELDS', $missing_fields));
130 if (!$msg->containsErrors())