Commit ba43fa86043a056190e16f4ff44abc307e6ae09a
1 parent
58235c72
reformatted, added datetime_alerted and is_alerted attributes and updated update method accordingly
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@814 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
2 changed files
with
466 additions
and
368 deletions
lib/subscriptions/DocumentSubscription.inc
| 1 | 1 | <?php |
| 2 | 2 | /** |
| 3 | - * | |
| 4 | - * $Id$ | |
| 5 | - * | |
| 6 | - * Represents a document subscription. | |
| 7 | - * | |
| 8 | - * Licensed under the GNU GPL. For full terms see the file COPYING. | |
| 9 | - * | |
| 10 | - * @version $Revision$ | |
| 11 | - * @author Michael Joseph <michael@jamwarehouse.com>, Jam Warehouse (Pty) Ltd, South Africa | |
| 12 | - * | |
| 13 | - * @package lib.subscriptions | |
| 14 | - */ | |
| 3 | +* | |
| 4 | +* $Id$ | |
| 5 | +* | |
| 6 | +* Represents a document subscription. | |
| 7 | +* | |
| 8 | +* Licensed under the GNU GPL. For full terms see the file COPYING. | |
| 9 | +* | |
| 10 | +* @version $Revision$ | |
| 11 | +* @author Michael Joseph <michael@jamwarehouse.com>, Jam Warehouse (Pty) Ltd, South Africa | |
| 12 | +* | |
| 13 | +* @package lib.subscriptions | |
| 14 | +*/ | |
| 15 | 15 | class DocumentSubscription { |
| 16 | - | |
| 16 | + | |
| 17 | 17 | /** |
| 18 | - * Primary key | |
| 19 | - */ | |
| 18 | + * Primary key | |
| 19 | + */ | |
| 20 | 20 | var $iID; |
| 21 | 21 | /** |
| 22 | - * The ID of the document subscribed to | |
| 23 | - */ | |
| 22 | + * The ID of the document subscribed to | |
| 23 | + */ | |
| 24 | 24 | var $iDocumentID; |
| 25 | 25 | /** |
| 26 | - * The ID of the user subscribed to the document | |
| 27 | - */ | |
| 26 | + * The ID of the user subscribed to the document | |
| 27 | + */ | |
| 28 | 28 | var $iUserID; |
| 29 | - | |
| 30 | 29 | /** |
| 31 | - * Creates a new document subscription object | |
| 32 | - * | |
| 33 | - * @param integer the document ID | |
| 34 | - * @param integer the user ID | |
| 30 | + * The time this subscription was triggered | |
| 31 | + */ | |
| 32 | + var $dTimeAlerted; | |
| 33 | + /** | |
| 34 | + * Whether this subscription is triggered | |
| 35 | 35 | */ |
| 36 | + var $bIsAlerted; | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * Creates a new document subscription object | |
| 40 | + * | |
| 41 | + * @param integer the document ID | |
| 42 | + * @param integer the user ID | |
| 43 | + */ | |
| 36 | 44 | function DocumentSubscription($iDocumentID, $iUserID) { |
| 37 | - //id of -1 means that the object has not yet been stored in the database | |
| 45 | + //id of -1 means that the object has not yet been stored in the database | |
| 38 | 46 | $this->iID = -1; |
| 39 | 47 | $this->iDocumentID = $iDocumentID; |
| 40 | 48 | $this->iUserID = $iUserID; |
| 49 | + $this->dTimeAlerted = getCurrentDateTime(); | |
| 50 | + $this->bIsAlerted = false; | |
| 51 | + } | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * Get the primary key of the current document subscription object | |
| 55 | + * | |
| 56 | + * @return integer primary key of document subscription | |
| 57 | + */ | |
| 58 | + function getID() { | |
| 59 | + return $this->iID; | |
| 60 | + } | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * Get the primary key of the document. | |
| 64 | + * | |
| 65 | + * @return integer primary key of document | |
| 66 | + */ | |
| 67 | + function getDocumentID() { | |
| 68 | + return $this->iDocumentID; | |
| 69 | + } | |
| 70 | + | |
| 71 | + /** | |
| 72 | + * Set the document id | |
| 73 | + * | |
| 74 | + * @param integer new document primary key | |
| 75 | + */ | |
| 76 | + function setDocumentID($iNewValue) { | |
| 77 | + $this->iDocumentID = $iNewValue; | |
| 78 | + } | |
| 79 | + | |
| 80 | + /** | |
| 81 | + * Get the primary key of the user | |
| 82 | + * | |
| 83 | + * @return integer primary key of user | |
| 84 | + */ | |
| 85 | + function getUserID() { | |
| 86 | + return $this->iUserID; | |
| 87 | + } | |
| 88 | + | |
| 89 | + /** | |
| 90 | + * Set the user id | |
| 91 | + * | |
| 92 | + * @param integer new user primary key | |
| 93 | + */ | |
| 94 | + function setUserID($iNewValue) { | |
| 95 | + $this->iUserID = $iNewValue; | |
| 96 | + } | |
| 97 | + | |
| 98 | + /** | |
| 99 | + * Get the time this document subscription was alerted | |
| 100 | + * | |
| 101 | + * @return string the date time the subscription alert was triggered | |
| 102 | + */ | |
| 103 | + function getTimeAlerted() { | |
| 104 | + return $this->dTimeAlerted; | |
| 105 | + } | |
| 106 | + | |
| 107 | + /** | |
| 108 | + * Get the trigger status of this subscription | |
| 109 | + * | |
| 110 | + * @return boolean the trigger status of this subscription | |
| 111 | + */ | |
| 112 | + function getIsAlerted() { | |
| 113 | + return $this->bIsAlerted; | |
| 114 | + } | |
| 115 | + | |
| 116 | + /** | |
| 117 | + * Set the trigger status of the subscription | |
| 118 | + * | |
| 119 | + * @param boolean new trigger status | |
| 120 | + */ | |
| 121 | + function setIsAlerted($iNewValue) { | |
| 122 | + $this->bIsAlerted = $iNewValue; | |
| 123 | + } | |
| 124 | + | |
| 125 | + /** | |
| 126 | + * Create the current document subscription in the database | |
| 127 | + * | |
| 128 | + * @return boolean true and set $this->iID with new primary key, false otherwise and set $_SESSION["errorMessage"] | |
| 129 | + */ | |
| 130 | + function create() { | |
| 131 | + global $default, $lang_err_database; | |
| 132 | + $lang_err_object_exists; | |
| 133 | + //if the object has not already been stored | |
| 134 | + if ($this->iID < 0) { | |
| 135 | + $sql = $default->db; | |
| 136 | + if ($sql->query("INSERT INTO " . $default->owl_document_subscriptions_table . " (user_id, document_id) " . | |
| 137 | + "VALUES ($this->iUserID, $this->iDocumentID)")) { | |
| 138 | + $this->iID = $sql->insert_id(); | |
| 139 | + return true; | |
| 140 | + } else { | |
| 141 | + $_SESSION["errorMessage"] = $lang_err_database; | |
| 142 | + } | |
| 143 | + } else { | |
| 144 | + $_SESSION["errorMessage"] = $lang_err_object_exists . "id = " . $this->iID . " table = document_subscriptions"; | |
| 145 | + } | |
| 146 | + return false; | |
| 147 | + } | |
| 148 | + | |
| 149 | + /** | |
| 150 | + * Update the current document subscription values in the database | |
| 151 | + * | |
| 152 | + * @return boolean true on successful update, false otherwise and set $_SESSION["errorMessage"] | |
| 153 | + */ | |
| 154 | + function update() { | |
| 155 | + global $default, $lang_err_database, $lang_err_object_key; | |
| 156 | + //can only update the object if it has already been stored | |
| 157 | + if ($this->iID >= 0) { | |
| 158 | + $sql = $default->db; | |
| 159 | + if ($sql->query("UPDATE " . $default->owl_document_subscriptions_table . " SET " . | |
| 160 | + "user_id = $this->iUserID, " . | |
| 161 | + "document_id = $this->iDocumentID " . | |
| 162 | + "datetime_alerted = '" . getCurrentDateTime() . "', " . | |
| 163 | + "is_alerted = $this->bIsAlerted " . | |
| 164 | + "WHERE id = " . $this->iID)) { | |
| 165 | + return true; | |
| 166 | + } else { | |
| 167 | + $_SESSION["errorMessage"] = $lang_err_database; | |
| 168 | + } | |
| 169 | + } else { | |
| 170 | + $_SESSION["errorMessage"] = $lang_err_object_key; | |
| 171 | + } | |
| 172 | + return false; | |
| 173 | + } | |
| 174 | + | |
| 175 | + | |
| 176 | + /** | |
| 177 | + * Delete the current object from the database | |
| 178 | + * | |
| 179 | + * @return boolean true and reset id to -1 on successful delete, false otherwise and set $_SESSION["errorMessage"] | |
| 180 | + */ | |
| 181 | + function delete() { | |
| 182 | + global $default, $lang_err_database, $lang_err_object_key; | |
| 183 | + if ($this->iID >= 0) { | |
| 184 | + $sql = $default->db; | |
| 185 | + if ($sql->query("DELETE FROM " . $default->owl_document_subscriptions_table . " WHERE id = " . $this->iID)) { | |
| 186 | + $this->iID = -1; | |
| 187 | + return true; | |
| 188 | + } else { | |
| 189 | + $_SESSION["errorMessage"] = $lang_err_database; | |
| 190 | + } | |
| 191 | + } else { | |
| 192 | + $_SESSION["errorMessage"] = $lang_err_object_key; | |
| 193 | + } | |
| 194 | + return false; | |
| 195 | + | |
| 196 | + } | |
| 197 | + | |
| 198 | + /** | |
| 199 | + * Static function. | |
| 200 | + * Given a document subscription primary key will create | |
| 201 | + * a document subscription object and populate it with the corresponding | |
| 202 | + * database values | |
| 203 | + * | |
| 204 | + * @param integer primary key of document subscription to get | |
| 205 | + * | |
| 206 | + * @return object document subscription object on successful retrieval, false otherwise and set $_SESSION["errorMessage"] | |
| 207 | + */ | |
| 208 | + function get($iDocumentSubscriptionID) { | |
| 209 | + global $default, $lang_err_object_not_exist, $lang_err_database; | |
| 210 | + $sql = $default->db; | |
| 211 | + if ($sql->query("SELECT * FROM " . $default->owl_document_subscriptions_table . " WHERE id = " . $iDocumentSubscriptionID)) { | |
| 212 | + if ($sql->next_record()) { | |
| 213 | + $oDocumentSubscription = & new DocumentSubscription($sql->f("document_id"), $sql->f("user_id")); | |
| 214 | + $oDocumentSubscription->iID = $iDocumentSubscriptionID; | |
| 215 | + return $oDocumentSubscription; | |
| 216 | + } else { | |
| 217 | + $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iDocumentSubscriptionID . " table = document_subscriptions"; | |
| 218 | + } | |
| 219 | + } else { | |
| 220 | + $_SESSION["errorMessage"] = $lang_err_database; | |
| 221 | + } | |
| 222 | + return false; | |
| 223 | + } | |
| 224 | + | |
| 225 | + /** | |
| 226 | + * Static function. | |
| 227 | + * Given a document subscription's values will create | |
| 228 | + * a document subscription object and populate it with the corresponding | |
| 229 | + * primary key | |
| 230 | + * | |
| 231 | + * @param integer the document ID | |
| 232 | + * @param integer the user ID | |
| 233 | + * @return object document subscription object on successful retrieval, false otherwise and set $_SESSION["errorMessage"] | |
| 234 | + */ | |
| 235 | + function getByIDs($iDocumentID, $iUserID) { | |
| 236 | + global $default, $lang_err_database, $lang_err_object_not_exist; | |
| 237 | + $sql = $default->db; | |
| 238 | + if ($sql->query("SELECT * FROM " . $default->owl_document_subscriptions_table . " " . | |
| 239 | + "WHERE document_id = $iDocumentID AND user_id = $iUserID")) { | |
| 240 | + if ($sql->next_record()) { | |
| 241 | + $oDocumentSubscription = & new DocumentSubscription($sql->f("document_id"), $sql->f("user_id")); | |
| 242 | + $oDocumentSubscription->iID = $sql->f("id"); | |
| 243 | + return $oDocumentSubscription; | |
| 244 | + } else { | |
| 245 | + $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iDocumentSubscriptionID . " table = folder_subscriptions"; | |
| 246 | + } | |
| 247 | + } else { | |
| 248 | + $_SESSION["errorMessage"] = $lang_err_database; | |
| 249 | + } | |
| 250 | + return false; | |
| 251 | + } | |
| 252 | + | |
| 253 | + /** | |
| 254 | + * Checks if a given document subscription already exists using the document and user ids | |
| 255 | + * | |
| 256 | + * @param integer the document ID | |
| 257 | + * @param integer the user ID | |
| 258 | + * @return true if the document subscription exists, false otherwise | |
| 259 | + */ | |
| 260 | + function exists($iDocumentID, $iUserID) { | |
| 261 | + global $default, $lang_err_database; | |
| 262 | + $sql = $default->db; | |
| 263 | + if ($sql->query("SELECT id FROM " . $default->owl_document_subscriptions_table . " " . | |
| 264 | + "WHERE document_id = $iDocumentID AND user_id = $iUserID")) { | |
| 265 | + if ($sql->next_record()) { | |
| 266 | + return true; | |
| 267 | + } | |
| 268 | + } else { | |
| 269 | + $_SESSION["errorMessage"] = $lang_err_database; | |
| 270 | + } | |
| 271 | + return false; | |
| 41 | 272 | } |
| 42 | - | |
| 43 | - /** | |
| 44 | - * Get the primary key of the current document subscription object | |
| 45 | - * | |
| 46 | - * @return integer primary key of document subscription | |
| 47 | - */ | |
| 48 | - function getID() { | |
| 49 | - return $this->iID; | |
| 50 | - } | |
| 51 | - | |
| 52 | - /** | |
| 53 | - * Get the primary key of the document. | |
| 54 | - * | |
| 55 | - * @return integer primary key of document | |
| 56 | - */ | |
| 57 | - function getDocumentID() { | |
| 58 | - return $this->iDocumentID; | |
| 59 | - } | |
| 60 | - | |
| 61 | - /** | |
| 62 | - * Set the document id | |
| 63 | - * | |
| 64 | - * @param integer new document primary key | |
| 65 | - */ | |
| 66 | - function setDocumentID($iNewValue) { | |
| 67 | - $this->iDocumentID = $iNewValue; | |
| 68 | - } | |
| 69 | - | |
| 70 | - /** | |
| 71 | - * Get the primary key of the user | |
| 72 | - * | |
| 73 | - * @return integer primary key of user | |
| 74 | - */ | |
| 75 | - function getUserID() { | |
| 76 | - return $this->iUserID; | |
| 77 | - } | |
| 78 | - | |
| 79 | - /** | |
| 80 | - * Set the user id | |
| 81 | - * | |
| 82 | - * @param integer new user primary key | |
| 83 | - */ | |
| 84 | - function setUserID($iNewValue) { | |
| 85 | - $this->iUserID = $iNewValue; | |
| 86 | - } | |
| 87 | - | |
| 88 | - /** | |
| 89 | - * Create the current document subscription in the database | |
| 90 | - * | |
| 91 | - * @return boolean true and set $this->iID with new primary key, false otherwise and set $_SESSION["errorMessage"] | |
| 92 | - */ | |
| 93 | - function create() { | |
| 94 | - global $default, $lang_err_database; $lang_err_object_exists; | |
| 95 | - //if the object has not already been stored | |
| 96 | - if ($this->iID < 0) { | |
| 97 | - $sql = $default->db; | |
| 98 | - $result = $sql->query("INSERT INTO " . $default->owl_document_subscriptions_table . " (user_id, document_id) " . | |
| 99 | - "VALUES ($this->iUserID, $this->iDocumentID)"); | |
| 100 | - if ($result) { | |
| 101 | - $this->iID = $sql->insert_id(); | |
| 102 | - return true; | |
| 103 | - } | |
| 104 | - $_SESSION["errorMessage"] = $lang_err_database; | |
| 105 | - return false; | |
| 106 | - } | |
| 107 | - $_SESSION["errorMessage"] = $lang_err_object_exists . "id = " . $this->iID . " table = document_subscriptions"; | |
| 108 | - return false; | |
| 109 | - } | |
| 110 | - | |
| 111 | - /** | |
| 112 | - * Update the current document subscription values in the database | |
| 113 | - * | |
| 114 | - * @return boolean true on successful update, false otherwise and set $_SESSION["errorMessage"] | |
| 115 | - */ | |
| 116 | - function update() { | |
| 117 | - global $default, $lang_err_database, $lang_err_object_key; | |
| 118 | - //can only update the object if it has already been stored | |
| 119 | - if ($this->iID >= 0) { | |
| 120 | - $sql = $default->db; | |
| 121 | - $result = $sql->query("UPDATE " . $default->owl_document_subscriptions_table . " SET " . | |
| 122 | - "user_id = $this->iUserID, " . | |
| 123 | - "document_id = $this->iDocumentID " . | |
| 124 | - "WHERE id = " . $this->iID); | |
| 125 | - if ($result) { | |
| 126 | - return true; | |
| 127 | - } | |
| 128 | - $_SESSION["errorMessage"] = $lang_err_database; | |
| 129 | - return false; | |
| 130 | - } | |
| 131 | - $_SESSION["errorMessage"] = $lang_err_object_key; | |
| 132 | - } | |
| 133 | - | |
| 134 | - | |
| 135 | - /** | |
| 136 | - * Delete the current object from the database | |
| 137 | - * | |
| 138 | - * @return boolean true and reset id to -1 on successful delete, false otherwise and set $_SESSION["errorMessage"] | |
| 139 | - */ | |
| 140 | - function delete() { | |
| 141 | - global $default, $lang_err_database, $lang_err_object_key; | |
| 142 | - if ($this->iID >= 0) { | |
| 143 | - $sql = $default->db; | |
| 144 | - $result = $sql->query("DELETE FROM " . $default->owl_document_subscriptions_table . " WHERE id = " . $this->iID); | |
| 145 | - if ($result) { | |
| 146 | - $this->iID = -1; | |
| 147 | - return true; | |
| 148 | - } | |
| 149 | - $_SESSION["errorMessage"] = $lang_err_database; | |
| 150 | - return false; | |
| 151 | - } | |
| 152 | - $_SESSION["errorMessage"] = $lang_err_object_key; | |
| 153 | - return false; | |
| 154 | - | |
| 155 | - } | |
| 156 | - | |
| 157 | - /** | |
| 158 | - * Static function. | |
| 159 | - * Given a document subscription primary key will create | |
| 160 | - * a document subscription object and populate it with the corresponding | |
| 161 | - * database values | |
| 162 | - * | |
| 163 | - * @param integer primary key of document subscription to get | |
| 164 | - * | |
| 165 | - * @return object document subscription object on successful retrieval, false otherwise and set $_SESSION["errorMessage"] | |
| 166 | - */ | |
| 167 | - function get($iDocumentSubscriptionID) { | |
| 168 | - global $default, $lang_err_object_not_exist; | |
| 169 | - $sql = $default->db; | |
| 170 | - $sql->query("SELECT * FROM " . $default->owl_document_subscriptions_table . " WHERE id = " . $iDocumentSubscriptionID); | |
| 171 | - if ($sql->next_record()) { | |
| 172 | - $oDocumentSubscription = & new DocumentSubscription($sql->f("document_id"), $sql->f("user_id")); | |
| 173 | - $oDocumentSubscription->iID = $iDocumentSubscriptionID; | |
| 174 | - return $oDocumentSubscription; | |
| 175 | - } | |
| 176 | - $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iDocumentSubscriptionID . " table = document_subscriptions"; | |
| 177 | - return false; | |
| 178 | - } | |
| 179 | - | |
| 180 | - /** | |
| 181 | - * Static function. | |
| 182 | - * Given a document subscription's values will create | |
| 183 | - * a document subscription object and populate it with the corresponding | |
| 184 | - * primary key | |
| 185 | - * | |
| 186 | - * @param integer the document ID | |
| 187 | - * @param integer the user ID | |
| 188 | - * @return object document subscription object on successful retrieval, false otherwise and set $_SESSION["errorMessage"] | |
| 189 | - */ | |
| 190 | - function getByIDs($iDocumentID, $iUserID) { | |
| 191 | - global $default, $lang_err_object_not_exist; | |
| 192 | - $sql = $default->db; | |
| 193 | - $sql->query("SELECT * FROM " . $default->owl_document_subscriptions_table . " " . | |
| 194 | - "WHERE document_id = $iDocumentID AND user_id = $iUserID"); | |
| 195 | - if ($sql->next_record()) { | |
| 196 | - $oDocumentSubscription = & new DocumentSubscription($sql->f("document_id"), $sql->f("user_id")); | |
| 197 | - $oDocumentSubscription->iID = $sql->f("id"); | |
| 198 | - return $oDocumentSubscription; | |
| 199 | - } | |
| 200 | - $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iDocumentSubscriptionID . " table = folder_subscriptions"; | |
| 201 | - return false; | |
| 202 | - } | |
| 203 | - | |
| 204 | - /** | |
| 205 | - * Checks if a given document subscription already exists using the document and user ids | |
| 206 | - * | |
| 207 | - * @param integer the document ID | |
| 208 | - * @param integer the user ID | |
| 209 | - * @return true if the document subscription exists, false otherwise | |
| 210 | - */ | |
| 211 | - function exists($iDocumentID, $iUserID) { | |
| 212 | - global $default; | |
| 213 | - $sql = $default->db; | |
| 214 | - $sql->query("SELECT id FROM " . $default->owl_document_subscriptions_table . " " . | |
| 215 | - "WHERE document_id = $iDocumentID AND user_id = $iUserID"); | |
| 216 | - if ($sql->next_record()) { | |
| 217 | - return true; | |
| 218 | - } | |
| 219 | - return false; | |
| 220 | - } | |
| 221 | 273 | } |
| 222 | 274 | ?> | ... | ... |
lib/subscriptions/FolderSubscription.inc
| ... | ... | @@ -13,7 +13,7 @@ |
| 13 | 13 | * @package lib.subscriptions |
| 14 | 14 | */ |
| 15 | 15 | class FolderSubscription { |
| 16 | - | |
| 16 | + | |
| 17 | 17 | /** |
| 18 | 18 | * Primary key |
| 19 | 19 | */ |
| ... | ... | @@ -26,7 +26,15 @@ class FolderSubscription { |
| 26 | 26 | * The ID of the user subscribed to the folder |
| 27 | 27 | */ |
| 28 | 28 | var $iUserID; |
| 29 | - | |
| 29 | + /** | |
| 30 | + * The time this subscription was triggered | |
| 31 | + */ | |
| 32 | + var $dTimeAlerted; | |
| 33 | + /** | |
| 34 | + * Whether this subscription is triggered | |
| 35 | + */ | |
| 36 | + var $bIsAlerted; | |
| 37 | + | |
| 30 | 38 | /** |
| 31 | 39 | * Creates a new folder subscription object |
| 32 | 40 | * |
| ... | ... | @@ -34,191 +42,229 @@ class FolderSubscription { |
| 34 | 42 | * @param integer the user ID |
| 35 | 43 | */ |
| 36 | 44 | function FolderSubscription($iFolderID, $iUserID) { |
| 37 | - //id of -1 means that the object has not yet been stored in the database | |
| 45 | + //id of -1 means that the object has not yet been stored in the database | |
| 38 | 46 | $this->iID = -1; |
| 39 | 47 | $this->iFolderID = $iFolderID; |
| 40 | 48 | $this->iUserID = $iUserID; |
| 49 | + $this->dTimeAlerted = getCurrentDateTime(); | |
| 50 | + $this->bIsAlerted = false; | |
| 51 | + } | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * Get the primary key of the current folder subscription object | |
| 55 | + * | |
| 56 | + * @return integer primary key of folder subscription | |
| 57 | + */ | |
| 58 | + function getID() { | |
| 59 | + return $this->iID; | |
| 60 | + } | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * Get the primary key of the folder. | |
| 64 | + * | |
| 65 | + * @return integer primary key of folder | |
| 66 | + */ | |
| 67 | + function getFolderID() { | |
| 68 | + return $this->iFolderID; | |
| 69 | + } | |
| 70 | + | |
| 71 | + /** | |
| 72 | + * Set the folder id | |
| 73 | + * | |
| 74 | + * @param integer new folder primary key | |
| 75 | + */ | |
| 76 | + function setFolderID($iNewValue) { | |
| 77 | + $this->iFolderID = $iNewValue; | |
| 41 | 78 | } |
| 42 | - | |
| 43 | - /** | |
| 44 | - * Get the primary key of the current folder subscription object | |
| 45 | - * | |
| 46 | - * @return integer primary key of folder subscription | |
| 47 | - */ | |
| 48 | - function getID() { | |
| 49 | - return $this->iID; | |
| 50 | - } | |
| 51 | - | |
| 52 | - /** | |
| 53 | - * Get the primary key of the folder. | |
| 54 | - * | |
| 55 | - * @return integer primary key of folder | |
| 56 | - */ | |
| 57 | - function getFolderID() { | |
| 58 | - return $this->iFolderID; | |
| 59 | - } | |
| 60 | - | |
| 61 | - /** | |
| 62 | - * Set the folder id | |
| 63 | - * | |
| 64 | - * @param integer new folder primary key | |
| 65 | - */ | |
| 66 | - function setFolderID($iNewValue) { | |
| 67 | - $this->iFolderID = $iNewValue; | |
| 68 | - } | |
| 69 | - | |
| 70 | - /** | |
| 71 | - * Get the primary key of the user | |
| 72 | - * | |
| 73 | - * @return integer primary key of user | |
| 74 | - */ | |
| 75 | - function getUserID() { | |
| 76 | - return $this->iUserID; | |
| 77 | - } | |
| 78 | - | |
| 79 | - /** | |
| 80 | - * Set the user id | |
| 81 | - * | |
| 82 | - * @param integer new user primary key | |
| 83 | - */ | |
| 84 | - function setUserID($iNewValue) { | |
| 85 | - $this->iUserID = $iNewValue; | |
| 86 | - } | |
| 87 | - | |
| 88 | - /** | |
| 89 | - * Create the current folder subscription in the database | |
| 90 | - * | |
| 91 | - * @return boolean true and set $this->iID with new primary key, false otherwise and set $_SESSION["errorMessage"] | |
| 92 | - */ | |
| 93 | - function create() { | |
| 94 | - global $default, $lang_err_database; $lang_err_object_exists; | |
| 95 | - //if the object has not already been stored | |
| 96 | - if ($this->iID < 0) { | |
| 97 | - $sql = $default->db; | |
| 98 | - $result = $sql->query("INSERT INTO " . $default->owl_folder_subscriptions_table . " (user_id, folder_id) " . | |
| 99 | - "VALUES ($this->iUserID, $this->iFolderID)"); | |
| 100 | - if ($result) { | |
| 101 | - $this->iID = $sql->insert_id(); | |
| 79 | + | |
| 80 | + /** | |
| 81 | + * Get the primary key of the user | |
| 82 | + * | |
| 83 | + * @return integer primary key of user | |
| 84 | + */ | |
| 85 | + function getUserID() { | |
| 86 | + return $this->iUserID; | |
| 87 | + } | |
| 88 | + | |
| 89 | + /** | |
| 90 | + * Set the user id | |
| 91 | + * | |
| 92 | + * @param integer new user primary key | |
| 93 | + */ | |
| 94 | + function setUserID($iNewValue) { | |
| 95 | + $this->iUserID = $iNewValue; | |
| 96 | + } | |
| 97 | + | |
| 98 | + /** | |
| 99 | + * Get the time this document subscription was alerted | |
| 100 | + * | |
| 101 | + * @return string the date time the subscription alert was triggered | |
| 102 | + */ | |
| 103 | + function getTimeAlerted() { | |
| 104 | + return $this->dTimeAlerted; | |
| 105 | + } | |
| 106 | + | |
| 107 | + /** | |
| 108 | + * Get the trigger status of this subscription | |
| 109 | + * | |
| 110 | + * @return boolean the trigger status of this subscription | |
| 111 | + */ | |
| 112 | + function getIsAlerted() { | |
| 113 | + return $this->bIsAlerted; | |
| 114 | + } | |
| 115 | + | |
| 116 | + /** | |
| 117 | + * Set the trigger status of the subscription | |
| 118 | + * | |
| 119 | + * @param boolean new trigger status | |
| 120 | + */ | |
| 121 | + function setIsAlerted($iNewValue) { | |
| 122 | + $this->bIsAlerted = $iNewValue; | |
| 123 | + } | |
| 124 | + | |
| 125 | + /** | |
| 126 | + * Create the current folder subscription in the database | |
| 127 | + * | |
| 128 | + * @return boolean true and set $this->iID with new primary key, false otherwise and set $_SESSION["errorMessage"] | |
| 129 | + */ | |
| 130 | + function create() { | |
| 131 | + global $default, $lang_err_database; | |
| 132 | + $lang_err_object_exists; | |
| 133 | + //if the object has not already been stored | |
| 134 | + if ($this->iID < 0) { | |
| 135 | + $sql = $default->db; | |
| 136 | + if ($sql->query("INSERT INTO " . $default->owl_folder_subscriptions_table . " (user_id, folder_id) " . | |
| 137 | + "VALUES ($this->iUserID, $this->iFolderID)")) { | |
| 138 | + $this->iID = $sql->insert_id(); | |
| 102 | 139 | // TODO: now create subscriptions for all the documents in this folder |
| 103 | - return true; | |
| 104 | - } | |
| 105 | - $_SESSION["errorMessage"] = $lang_err_database; | |
| 106 | - return false; | |
| 107 | - } | |
| 108 | - $_SESSION["errorMessage"] = $lang_err_object_exists . "id = " . $this->iID . " table = folder_subscriptions"; | |
| 109 | - return false; | |
| 110 | - } | |
| 111 | - | |
| 112 | - /** | |
| 113 | - * Update the current folder subscription values in the database | |
| 114 | - * | |
| 115 | - * @return boolean true on successful update, false otherwise and set $_SESSION["errorMessage"] | |
| 116 | - */ | |
| 117 | - function update() { | |
| 118 | - global $default, $lang_err_database, $lang_err_object_key; | |
| 119 | - //can only update the object if it has already been stored | |
| 120 | - if ($this->iID >= 0) { | |
| 121 | - $sql = $default->db; | |
| 122 | - $result = $sql->query("UPDATE " . $default->owl_folder_subscriptions_table . " SET " . | |
| 123 | - "user_id = $this->iUserID, " . | |
| 124 | - "folder_id = $this->iFolderID " . | |
| 125 | - "WHERE id = " . $this->iID); | |
| 126 | - if ($result) { | |
| 127 | - return true; | |
| 128 | - } | |
| 129 | - $_SESSION["errorMessage"] = $lang_err_database; | |
| 130 | - return false; | |
| 131 | - } | |
| 132 | - $_SESSION["errorMessage"] = $lang_err_object_key; | |
| 133 | - } | |
| 134 | - | |
| 135 | - | |
| 136 | - /** | |
| 137 | - * Delete the current object from the database | |
| 138 | - * | |
| 139 | - * @return boolean true and reset id to -1 on successful delete, false otherwise and set $_SESSION["errorMessage"] | |
| 140 | - */ | |
| 141 | - function delete() { | |
| 142 | - global $default, $lang_err_database, $lang_err_object_key; | |
| 143 | - if ($this->iID >= 0) { | |
| 144 | - $sql = $default->db; | |
| 145 | - $result = $sql->query("DELETE FROM " . $default->owl_folder_subscriptions_table . " WHERE id = " . $this->iID); | |
| 146 | - if ($result) { | |
| 147 | - $this->iID = -1; | |
| 140 | + return true; | |
| 141 | + } else { | |
| 142 | + $_SESSION["errorMessage"] = $lang_err_database; | |
| 143 | + } | |
| 144 | + | |
| 145 | + } else { | |
| 146 | + $_SESSION["errorMessage"] = $lang_err_object_exists . "id = " . $this->iID . " table = folder_subscriptions"; | |
| 147 | + } | |
| 148 | + return false; | |
| 149 | + } | |
| 150 | + | |
| 151 | + /** | |
| 152 | + * Update the current folder subscription values in the database | |
| 153 | + * | |
| 154 | + * @return boolean true on successful update, false otherwise and set $_SESSION["errorMessage"] | |
| 155 | + */ | |
| 156 | + function update() { | |
| 157 | + global $default, $lang_err_database, $lang_err_object_key; | |
| 158 | + //can only update the object if it has already been stored | |
| 159 | + if ($this->iID >= 0) { | |
| 160 | + $sql = $default->db; | |
| 161 | + if ($sql->query("UPDATE " . $default->owl_folder_subscriptions_table . " SET " . | |
| 162 | + "user_id = $this->iUserID, " . | |
| 163 | + "folder_id = $this->iFolderID, " . | |
| 164 | + "datetime_alerted = '" . getCurrentDateTime() . "', " . | |
| 165 | + "is_alerted = $this->bIsAlerted " . | |
| 166 | + "WHERE id = " . $this->iID)) { | |
| 167 | + return true; | |
| 168 | + } else { | |
| 169 | + $_SESSION["errorMessage"] = $lang_err_database; | |
| 170 | + } | |
| 171 | + } else { | |
| 172 | + $_SESSION["errorMessage"] = $lang_err_object_key; | |
| 173 | + } | |
| 174 | + return false; | |
| 175 | + } | |
| 176 | + | |
| 177 | + | |
| 178 | + /** | |
| 179 | + * Delete the current object from the database | |
| 180 | + * | |
| 181 | + * @return boolean true and reset id to -1 on successful delete, false otherwise and set $_SESSION["errorMessage"] | |
| 182 | + */ | |
| 183 | + function delete() { | |
| 184 | + global $default, $lang_err_database, $lang_err_object_key; | |
| 185 | + if ($this->iID >= 0) { | |
| 186 | + $sql = $default->db; | |
| 187 | + if ($sql->query("DELETE FROM " . $default->owl_folder_subscriptions_table . " WHERE id = " . $this->iID)) { | |
| 188 | + $this->iID = -1; | |
| 148 | 189 | // TODO: remove all document subscriptions? |
| 149 | - return true; | |
| 150 | - } | |
| 151 | - $_SESSION["errorMessage"] = $lang_err_database; | |
| 152 | - return false; | |
| 153 | - } | |
| 154 | - $_SESSION["errorMessage"] = $lang_err_object_key; | |
| 155 | - return false; | |
| 156 | - | |
| 157 | - } | |
| 158 | - | |
| 159 | - /** | |
| 160 | - * Static function. | |
| 190 | + return true; | |
| 191 | + } else { | |
| 192 | + $_SESSION["errorMessage"] = $lang_err_database; | |
| 193 | + } | |
| 194 | + | |
| 195 | + } else { | |
| 196 | + $_SESSION["errorMessage"] = $lang_err_object_key; | |
| 197 | + } | |
| 198 | + return false; | |
| 199 | + | |
| 200 | + } | |
| 201 | + | |
| 202 | + /** | |
| 203 | + * Static function. | |
| 161 | 204 | * Given a folder subscription primary key will create |
| 162 | 205 | * a folder subscription object and populate it with the corresponding |
| 163 | 206 | * database values |
| 164 | 207 | * |
| 165 | 208 | * @param integer primary key of folder subscription to get |
| 166 | - * | |
| 167 | 209 | * @return object folder subscription object on successful retrieval, false otherwise and set $_SESSION["errorMessage"] |
| 168 | 210 | */ |
| 169 | - function get($iFolderSubscriptionID) { | |
| 170 | - global $default, $lang_err_object_not_exist; | |
| 171 | - $sql = $default->db; | |
| 172 | - $sql->query("SELECT * FROM " . $default->owl_folder_subscriptions_table . " WHERE id = " . $iFolderSubscriptionID); | |
| 173 | - if ($sql->next_record()) { | |
| 174 | - $oFolderSubscription = & new FolderSubscription($sql->f("folder_id"), $sql->f("user_id")); | |
| 175 | - $oFolderSubscription->iID = $iFolderSubscriptionID; | |
| 176 | - return $oFolderSubscription; | |
| 177 | - } | |
| 178 | - $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iFolderSubscriptionID . " table = folder_subscriptions"; | |
| 179 | - return false; | |
| 180 | - } | |
| 181 | - | |
| 182 | - /** | |
| 183 | - * Static function. | |
| 184 | - * Given a folder subscription's values will create | |
| 185 | - * a folder subscription object and populate it with the corresponding | |
| 186 | - * primary key | |
| 187 | - * | |
| 211 | + function get($iFolderSubscriptionID) { | |
| 212 | + global $default, $lang_err_database, $lang_err_object_not_exist; | |
| 213 | + $sql = $default->db; | |
| 214 | + if ($sql->query("SELECT * FROM " . $default->owl_folder_subscriptions_table . " WHERE id = " . $iFolderSubscriptionID)) { | |
| 215 | + if ($sql->next_record()) { | |
| 216 | + $oFolderSubscription = & new FolderSubscription($sql->f("folder_id"), $sql->f("user_id")); | |
| 217 | + $oFolderSubscription->iID = $iFolderSubscriptionID; | |
| 218 | + return $oFolderSubscription; | |
| 219 | + } else { | |
| 220 | + $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iFolderSubscriptionID . " table = folder_subscriptions"; | |
| 221 | + } | |
| 222 | + } else { | |
| 223 | + $_SESSION["errorMessage"] = $lang_err_database; | |
| 224 | + } | |
| 225 | + return false; | |
| 226 | + } | |
| 227 | + | |
| 228 | + /** | |
| 229 | + * Static function. | |
| 230 | + * Given a folder subscription's values will create | |
| 231 | + * a folder subscription object and populate it with the corresponding | |
| 232 | + * primary key | |
| 233 | + * | |
| 188 | 234 | * @param integer the folder ID |
| 189 | 235 | * @param integer the user ID |
| 190 | - * @return object folder subscription object on successful retrieval, false otherwise and set $_SESSION["errorMessage"] | |
| 191 | - */ | |
| 192 | - function getByIDs($iFolderID, $iUserID) { | |
| 193 | - global $default, $lang_err_object_not_exist; | |
| 194 | - $sql = $default->db; | |
| 195 | - $sql->query("SELECT * FROM " . $default->owl_folder_subscriptions_table . " " . | |
| 236 | + * @return object folder subscription object on successful retrieval, false otherwise and set $_SESSION["errorMessage"] | |
| 237 | + */ | |
| 238 | + function getByIDs($iFolderID, $iUserID) { | |
| 239 | + global $default, $lang_err_object_not_exist; | |
| 240 | + $sql = $default->db; | |
| 241 | + $sql->query("SELECT * FROM " . $default->owl_folder_subscriptions_table . " " . | |
| 196 | 242 | "WHERE folder_id = $iFolderID AND user_id = $iUserID"); |
| 197 | - if ($sql->next_record()) { | |
| 198 | - $oFolderSubscription = & new FolderSubscription($sql->f("folder_id"), $sql->f("user_id")); | |
| 243 | + if ($sql->next_record()) { | |
| 244 | + $oFolderSubscription = & new FolderSubscription($sql->f("folder_id"), $sql->f("user_id")); | |
| 199 | 245 | $oFolderSubscription->iID = $sql->f("id"); |
| 200 | - return $oFolderSubscription; | |
| 201 | - } | |
| 202 | - $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iFolderSubscriptionID . " table = folder_subscriptions"; | |
| 203 | - return false; | |
| 204 | - } | |
| 246 | + return $oFolderSubscription; | |
| 247 | + } | |
| 248 | + $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iFolderSubscriptionID . " table = folder_subscriptions"; | |
| 249 | + return false; | |
| 250 | + } | |
| 205 | 251 | |
| 206 | - /** | |
| 252 | + /** | |
| 207 | 253 | * Checks if a given folder subscription already exists using the folder and user ids |
| 208 | - * | |
| 254 | + * | |
| 209 | 255 | * @param integer the folder ID |
| 210 | 256 | * @param integer the user ID |
| 211 | 257 | * @return true if the folder subscription exists, false otherwise |
| 212 | 258 | */ |
| 213 | - function exists($iFolderID, $iUserID) { | |
| 214 | - global $default; | |
| 215 | - $sql = $default->db; | |
| 216 | - $sql->query("SELECT id FROM " . $default->owl_folder_subscriptions_table . " " . | |
| 259 | + function exists($iFolderID, $iUserID) { | |
| 260 | + global $default; | |
| 261 | + $sql = $default->db; | |
| 262 | + $sql->query("SELECT id FROM " . $default->owl_folder_subscriptions_table . " " . | |
| 217 | 263 | "WHERE folder_id = $iFolderID AND user_id = $iUserID"); |
| 218 | - if ($sql->next_record()) { | |
| 219 | - return true; | |
| 220 | - } | |
| 221 | - return false; | |
| 222 | - } | |
| 264 | + if ($sql->next_record()) { | |
| 265 | + return true; | |
| 266 | + } | |
| 267 | + return false; | |
| 268 | + } | |
| 223 | 269 | } |
| 224 | 270 | ?> | ... | ... |