Commit 25fc09b1ebeeabff97298e2fb00a2cfb5033e2f9
1 parent
fa363414
Finished off class
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@1834 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
33 additions
and
175 deletions
lib/documentmanagement/DocumentLink.inc
| @@ -4,7 +4,8 @@ | @@ -4,7 +4,8 @@ | ||
| 4 | * Class DocumentLink | 4 | * Class DocumentLink |
| 5 | * | 5 | * |
| 6 | * Represents a document link as per the database document_link table | 6 | * Represents a document link as per the database document_link table |
| 7 | -* Used to chain documents together in the collaboration process | 7 | +* Links a child document to a parent document. Direction of relationship |
| 8 | +* is defined through document collaboration | ||
| 8 | * | 9 | * |
| 9 | * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa | 10 | * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa |
| 10 | * @date 14 May 2003 | 11 | * @date 14 May 2003 |
| @@ -17,11 +18,10 @@ class DocumentLink { | @@ -17,11 +18,10 @@ class DocumentLink { | ||
| 17 | /** primary key value */ | 18 | /** primary key value */ |
| 18 | var $iId; | 19 | var $iId; |
| 19 | /** primary key of user responsible for creating document */ | 20 | /** primary key of user responsible for creating document */ |
| 20 | - var $iUserID; | 21 | + var $iParentDocumentID; |
| 21 | /** document title name */ | 22 | /** document title name */ |
| 22 | - var $sDocumentTitle; | ||
| 23 | - /** primary key of document to use as template */ | ||
| 24 | - var $iTemplateDocumentID; | 23 | + var $iChildDocumentID; |
| 24 | + | ||
| 25 | 25 | ||
| 26 | /** | 26 | /** |
| 27 | * Default constructor | 27 | * Default constructor |
| @@ -30,14 +30,12 @@ class DocumentLink { | @@ -30,14 +30,12 @@ class DocumentLink { | ||
| 30 | * @param Document field data type | 30 | * @param Document field data type |
| 31 | * | 31 | * |
| 32 | */ | 32 | */ |
| 33 | - function DocumentLink($sNewDocumentTitle, $iUserID, $iNewTemplateDocumentID) { | 33 | + function DocumentLink($iNewParentDocumentID, $iNewChildDocumentID) { |
| 34 | //object not created yet | 34 | //object not created yet |
| 35 | global $default; | 35 | global $default; |
| 36 | $this->iID = -1; | 36 | $this->iID = -1; |
| 37 | - $this->iUserID = $iUserID; | ||
| 38 | - $this->iTemplateDocumentID = $iNewTemplateDocumentID; | ||
| 39 | - | ||
| 40 | - | 37 | + $this->iParentDocumentID = $iNewParentDocumentID; |
| 38 | + $this->iChildDocumentID = $iNewChildDocumentID; | ||
| 41 | } | 39 | } |
| 42 | 40 | ||
| 43 | /** | 41 | /** |
| @@ -47,87 +45,44 @@ class DocumentLink { | @@ -47,87 +45,44 @@ class DocumentLink { | ||
| 47 | * | 45 | * |
| 48 | */ | 46 | */ |
| 49 | function getID() { | 47 | function getID() { |
| 50 | - return $this -> iId; | ||
| 51 | - } | ||
| 52 | - | ||
| 53 | - /** | ||
| 54 | - * Get the document field's name | ||
| 55 | - * | ||
| 56 | - * @return String document field's name | ||
| 57 | - * | ||
| 58 | - */ | ||
| 59 | - function getName() { | ||
| 60 | - return $this -> sName; | ||
| 61 | - } | ||
| 62 | - | ||
| 63 | - /** | ||
| 64 | - * Set the document field's name | ||
| 65 | - * | ||
| 66 | - * @param Document field's new name | ||
| 67 | - * | ||
| 68 | - */ | ||
| 69 | - function setName($sNewValue) { | ||
| 70 | - $this -> sName = $sNewValue; | ||
| 71 | - } | ||
| 72 | - | ||
| 73 | - /** | ||
| 74 | - * Get the document field's data type | ||
| 75 | - * | ||
| 76 | - * @return String document field's data type | ||
| 77 | - * | ||
| 78 | - */ | ||
| 79 | - function getDataType() { | ||
| 80 | - return $this -> sDataType; | 48 | + return $this->iId; |
| 81 | } | 49 | } |
| 82 | 50 | ||
| 83 | /** | 51 | /** |
| 84 | - * Set the document field's data type | ||
| 85 | - * | ||
| 86 | - * @param Document field's new data type | ||
| 87 | - * | ||
| 88 | - */ | ||
| 89 | - function setDataType($sNewValue) { | ||
| 90 | - $this -> sDataType = $sNewValue; | ||
| 91 | - } | ||
| 92 | - | ||
| 93 | - /** | ||
| 94 | - * Get the document field's generic or not | ||
| 95 | - * | ||
| 96 | - * @return String document field's data type | ||
| 97 | - * | 52 | + * Get the primary key of the parent document |
| 98 | */ | 53 | */ |
| 99 | - function getIsGeneric() { | ||
| 100 | - return $this -> bIsGeneric; | 54 | + function getParentDocumentID() { |
| 55 | + return $this->iParentDocumentID; | ||
| 101 | } | 56 | } |
| 102 | 57 | ||
| 103 | /** | 58 | /** |
| 104 | - * Set the document field's genericness | 59 | + * Set the primary key of the parent document |
| 105 | * | 60 | * |
| 106 | - * @param Document field's new data type | 61 | + * @param Primary key of parent document |
| 107 | * | 62 | * |
| 108 | */ | 63 | */ |
| 109 | - function setIsGeneric($sNewValue) { | ||
| 110 | - $this -> bIsGeneric = $sNewValue; | 64 | + function setParentDocumentID($iNewValue) { |
| 65 | + $this -> iParentDocumentID = $iNewValue; | ||
| 111 | } | 66 | } |
| 112 | 67 | ||
| 113 | /** | 68 | /** |
| 114 | - * Get the document field's lookup or not | 69 | + * Get the child document's primary key |
| 115 | * | 70 | * |
| 116 | - * @return String document field's data type | 71 | + * @return int primary key of child document |
| 117 | * | 72 | * |
| 118 | */ | 73 | */ |
| 119 | - function getHasLookup() { | ||
| 120 | - return $this -> bHasLookup; | 74 | + function getChildDocumentID() { |
| 75 | + return $this->iChildDocumentID; | ||
| 121 | } | 76 | } |
| 122 | 77 | ||
| 123 | /** | 78 | /** |
| 124 | - * Set the document field's lookup | 79 | + * Set the child document's primary key |
| 125 | * | 80 | * |
| 126 | - * @param Document field's new data type | 81 | + * @param Primary key of child document |
| 127 | * | 82 | * |
| 128 | */ | 83 | */ |
| 129 | - function setHasLookup($sNewValue) { | ||
| 130 | - $this -> bHasLookup = $sNewValue; | 84 | + function setChildDocumentID($iNewValue) { |
| 85 | + $this -> iChildDocumentID = $iNewValue; | ||
| 131 | } | 86 | } |
| 132 | 87 | ||
| 133 | /** | 88 | /** |
| @@ -141,7 +96,7 @@ class DocumentLink { | @@ -141,7 +96,7 @@ class DocumentLink { | ||
| 141 | //if the object hasn't been created | 96 | //if the object hasn't been created |
| 142 | if ($this -> iId < 0) { | 97 | if ($this -> iId < 0) { |
| 143 | $sql = $default -> db; | 98 | $sql = $default -> db; |
| 144 | - $result = $sql -> query("INSERT INTO ".$default -> owl_fields_table." (name, data_type,is_generic,has_lookup) VALUES ('".addslashes($this -> sName)."', '".addslashes($this -> sDataType)."', '".$this -> bIsGeneric."', '".$this -> bHasLookup."')"); | 99 | + $result = $sql -> query("INSERT INTO " . $default -> owl_document_link_table . " (parent_document_id, child_document_id) VALUES ($this->iParentDocumentID, $this->iChildDocumentID)"); |
| 145 | if ($result) { | 100 | if ($result) { |
| 146 | $this -> iId = $sql -> insert_id(); | 101 | $this -> iId = $sql -> insert_id(); |
| 147 | return true; | 102 | return true; |
| @@ -164,7 +119,7 @@ class DocumentLink { | @@ -164,7 +119,7 @@ class DocumentLink { | ||
| 164 | //only update if the object has been stored | 119 | //only update if the object has been stored |
| 165 | if ($this -> iId > 0) { | 120 | if ($this -> iId > 0) { |
| 166 | $sql = $default -> db; | 121 | $sql = $default -> db; |
| 167 | - $result = $sql -> query("UPDATE ".$default -> owl_fields_table." SET name = '".addslashes($this -> sName)."', data_type = '".addslashes($this -> sDataType)."', is_generic = '".$this -> bIsGeneric."', has_lookup = '".$this -> bHasLookup."' WHERE id = $this->iId"); | 122 | + $result = $sql -> query("UPDATE ".$default -> owl_document_link_table." SET parent_document_id = $this->iParentDocumentID, child_document_id = $this->iChildDocumentID WHERE id = $this->iId"); |
| 168 | if ($result) { | 123 | if ($result) { |
| 169 | return true; | 124 | return true; |
| 170 | } | 125 | } |
| @@ -186,7 +141,7 @@ class DocumentLink { | @@ -186,7 +141,7 @@ class DocumentLink { | ||
| 186 | //only delete the object if it exists in the database | 141 | //only delete the object if it exists in the database |
| 187 | if ($this -> iId >= 0) { | 142 | if ($this -> iId >= 0) { |
| 188 | $sql = $default -> db; | 143 | $sql = $default -> db; |
| 189 | - $result = $sql -> query("DELETE FROM $default->owl_fields_table WHERE id = $this->iId"); | 144 | + $result = $sql -> query("DELETE FROM $default->owl_document_link_table WHERE id = $this->iId"); |
| 190 | if ($result) { | 145 | if ($result) { |
| 191 | return true; | 146 | return true; |
| 192 | } | 147 | } |
| @@ -205,118 +160,21 @@ class DocumentLink { | @@ -205,118 +160,21 @@ class DocumentLink { | ||
| 205 | * | 160 | * |
| 206 | * @return DocumentField populated DocumentField object on successful query, false otherwise and set $_SESSION["errorMessage"] | 161 | * @return DocumentField populated DocumentField object on successful query, false otherwise and set $_SESSION["errorMessage"] |
| 207 | */ | 162 | */ |
| 208 | - function & get($iDocumentFieldsID) { | 163 | + function & get($iDocumentLinkID) { |
| 209 | global $default; | 164 | global $default; |
| 210 | $sql = $default -> db; | 165 | $sql = $default -> db; |
| 211 | - $result = $sql -> query("SELECT * FROM $default->owl_fields_table WHERE id = $iDocumentFieldsID"); | 166 | + $result = $sql -> query("SELECT * FROM $default->owl_document_link_table WHERE id = $iDocumentLinkID"); |
| 212 | if ($result) { | 167 | if ($result) { |
| 213 | if ($sql -> next_record()) { | 168 | if ($sql -> next_record()) { |
| 214 | - $oDocumentField = & new DocumentField(stripslashes($sql -> f("name")), stripslashes($sql -> f("data_type")), $sql -> f("is_generic"), $sql -> f("has_lookup")); | ||
| 215 | - $oDocumentField -> iId = $sql -> f("id"); | ||
| 216 | - return $oDocumentField; | ||
| 217 | - } | ||
| 218 | - $_SESSION["errorMessage"] = $lang_err_object_not_exist."id = ".$iDocumentID." table = $default->owl_fields_table"; | ||
| 219 | - return false; | ||
| 220 | - } | ||
| 221 | - $_SESSION["errorMessage"] = $lang_err_database; | ||
| 222 | - return false; | ||
| 223 | - } | ||
| 224 | - | ||
| 225 | - /** | ||
| 226 | - * Static function. | ||
| 227 | - * Gets all generic fields | ||
| 228 | - * DocumentFields object and populate it with the | ||
| 229 | - * corresponding database values | ||
| 230 | - * | ||
| 231 | - * @return DocumentField populated DocumentField object on successful query, false otherwise and set $_SESSION["errorMessage"] | ||
| 232 | - */ | ||
| 233 | - function getGenericFields() { | ||
| 234 | - global $default, $lang_err_database; | ||
| 235 | - $aFields; | ||
| 236 | - settype($aFields, "array"); | ||
| 237 | - $sql = $default -> db; | ||
| 238 | - $result = $sql -> query("SELECT name, id FROM ".$default -> owl_fields_table." Where is_generic = 1"); | ||
| 239 | - if ($result) { | ||
| 240 | - $iCount = 0; | ||
| 241 | - while ($sql -> next_record()) { | ||
| 242 | - | ||
| 243 | - $aFields[$iCount]["id"] = $sql -> f("id"); | ||
| 244 | - $aFields[$iCount]["name"] = $sql -> f("name"); | ||
| 245 | - $iCount ++; | 169 | + $oDocumentLink = & new DocumentLink($sql -> f("parent_document_id"), $sql -> f("parent_document_id")); |
| 170 | + $oDocumentLink -> iId = $sql -> f("id"); | ||
| 171 | + return $oDocumentLink; | ||
| 246 | } | 172 | } |
| 247 | - return $aFields; | ||
| 248 | - } | ||
| 249 | - $_SESSION["errorMessage"] = $lang_err_database; | ||
| 250 | - return false; | ||
| 251 | - } | ||
| 252 | - | ||
| 253 | - /* Static function. Given a documenttype...will find all fields belongin to it | ||
| 254 | - * | ||
| 255 | - * @return DocumentFieldLink populated DocumentFieldLink object on success, false otherwise and set $_SESSION["errorMessage"] | ||
| 256 | - */ | ||
| 257 | - function getAllSpecificFields() { | ||
| 258 | - global $default, $lang_err_database; | ||
| 259 | - $aFields; | ||
| 260 | - settype($aFields, "array"); | ||
| 261 | - $sql = $default -> db; | ||
| 262 | - $result = $sql -> query("SELECT id, name FROM ".$default -> owl_fields_table." Where is_generic = 0"); | ||
| 263 | - if ($result) { | ||
| 264 | - $iCount = 0; | ||
| 265 | - while ($sql -> next_record()) { | ||
| 266 | - | ||
| 267 | - $aFields[$iCount]["id"] = $sql -> f("id"); | ||
| 268 | - $aFields[$iCount]["name"] = $sql -> f("name"); | ||
| 269 | - $iCount ++; | ||
| 270 | - } | ||
| 271 | - return $aFields; | ||
| 272 | - } | ||
| 273 | - $_SESSION["errorMessage"] = $lang_err_database; | ||
| 274 | - return false; | ||
| 275 | - } | ||
| 276 | - | ||
| 277 | - /* Static function. Given a documenttype...will find all fields belongin to it | ||
| 278 | - * | ||
| 279 | - * @return DocumentFieldLink populated DocumentFieldLink object on success, false otherwise and set $_SESSION["errorMessage"] | ||
| 280 | - */ | ||
| 281 | - function isFieldLinkedToType() { | ||
| 282 | - global $default, $lang_err_database; | ||
| 283 | - $sql = $default -> db; | ||
| 284 | - $query = "SELECT * FROM ".$default -> owl_document_type_fields_table." Where field_id = $this->iId"; | ||
| 285 | - $sql -> query($query); | ||
| 286 | - $rows = $sql -> num_rows($sql); | ||
| 287 | - | ||
| 288 | - if ($rows > 0) { | ||
| 289 | - return true; | ||
| 290 | - } else { | 173 | + $_SESSION["errorMessage"] = $lang_err_object_not_exist."id = ".$iDocumentLinkID." table = $default->owl_document_link_table"; |
| 291 | return false; | 174 | return false; |
| 292 | } | 175 | } |
| 293 | $_SESSION["errorMessage"] = $lang_err_database; | 176 | $_SESSION["errorMessage"] = $lang_err_database; |
| 294 | return false; | 177 | return false; |
| 295 | } | 178 | } |
| 296 | - | ||
| 297 | - /* Static function. Given a documenttype...will find all fields belongin to it | ||
| 298 | - * | ||
| 299 | - * @return DocumentFieldLink populated DocumentFieldLink object on success, false otherwise and set $_SESSION["errorMessage"] | ||
| 300 | - */ | ||
| 301 | - function getAllDataTypes() { | ||
| 302 | - global $default, $lang_err_database; | ||
| 303 | - $aDataTypes; | ||
| 304 | - settype($aDataTypes, "array"); | ||
| 305 | - $sql = $default -> db; | ||
| 306 | - $result = $sql -> query("SELECT id, name FROM ".$default -> owl_data_types_table); | ||
| 307 | - if ($result) { | ||
| 308 | - $iCount = 0; | ||
| 309 | - while ($sql -> next_record()) { | ||
| 310 | - | ||
| 311 | - $aDataTypes[$iCount]["id"] = $sql -> f("id"); | ||
| 312 | - $aDataTypes[$iCount]["name"] = $sql -> f("name"); | ||
| 313 | - $iCount ++; | ||
| 314 | - } | ||
| 315 | - return $aDataTypes; | ||
| 316 | - } | ||
| 317 | - $_SESSION["errorMessage"] = $lang_err_database; | ||
| 318 | - return false; | ||
| 319 | - } | ||
| 320 | } | 179 | } |
| 321 | - | ||
| 322 | ?> | 180 | ?> |
| 323 | \ No newline at end of file | 181 | \ No newline at end of file |