diff --git a/lib/documentmanagement/DocumentField.inc b/lib/documentmanagement/DocumentField.inc index f55d610..f275fc0 100644 --- a/lib/documentmanagement/DocumentField.inc +++ b/lib/documentmanagement/DocumentField.inc @@ -18,6 +18,10 @@ class DocumentField { var $sName; /** document field data type */ var $sDataType; + /** is_generic */ + var $bIsGeneric; + /**has lookup*/ + var $bHasLookup; /** * Default constructor @@ -26,11 +30,14 @@ class DocumentField { * @param Document field data type * */ - function DocumentField($sNewName, $sNewDataType) { + function DocumentField($sNewName, $sNewDataType, $bNewIsGeneric, $bNewHasLookup) { //object not created yet $this->iId = -1; $this->sName = $sNewName; $this->sDataType = $sNewDataType; + $this->bIsGeneric = $bNewIsGeneric; + $this->bHasLookup = $bNewHasLookup; + } /** @@ -83,6 +90,51 @@ class DocumentField { $this->sDataType = $sNewValue; } + + /** + * Get the document field's generic or not + * + * @return String document field's data type + * + */ + function getIsGeneric() { + return $this->bIsGeneric; + } + + /** + * Set the document field's genericness + * + * @param Document field's new data type + * + */ + function setIsGeneric($sNewValue) { + $this->bIsGeneric = $sNewValue; + } + + + + /** + * Get the document field's lookup or not + * + * @return String document field's data type + * + */ + function getHasLookup() { + return $this->bHasLookup; + } + + /** + * Set the document field's lookup + * + * @param Document field's new data type + * + */ + function setHasLookup($sNewValue) { + $this->bHasLookup = $sNewValue; + } + + + /** * Store the current object in the database * @@ -94,7 +146,7 @@ class DocumentField { //if the object hasn't been created if ($this->iId < 0) { $sql = $default->db; - $result = $sql->query("INSERT INTO " . $default->owl_fields_table . " (name, data_type) VALUES ('" . addslashes($this->sName) . "', '" . addslashes($this->sDataType) . "')"); + $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 ."')"); if ($result) { $this->iId = $sql->insert_id(); return true; @@ -117,7 +169,7 @@ class DocumentField { //only update if the object has been stored if ($this->iId > 0) { $sql = $default->db; - $result = $sql->query("UPDATE " . $default->owl_fields_table . " SET name = '" . addslashes($this->sName) . "', data_type = '" . addslashes($this->sDataType) . "' WHERE id = $this->iId"); + $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"); if ($result) { return true; } @@ -164,7 +216,7 @@ class DocumentField { $result = $sql->query("SELECT * FROM $default->owl_fields_table WHERE id = $iDocumentFieldsID"); if ($result) { if ($sql->next_record()) { - $oDocumentField = & new DocumentField(stripslashes($sql->f("name")), stripslashes($sql->f("data_type"))); + $oDocumentField = & new DocumentField(stripslashes($sql->f("name")), stripslashes($sql->f("data_type")), $sql->f("is_generic"), $sql->f("has_lookup")); $oDocumentField->iId = $sql->f("id"); return $oDocumentField; } diff --git a/lib/documentmanagement/DocumentType.inc b/lib/documentmanagement/DocumentType.inc new file mode 100644 index 0000000..2e24c17 --- /dev/null +++ b/lib/documentmanagement/DocumentType.inc @@ -0,0 +1,158 @@ +iId = -1; + $this->sName = $sNewName; + + } + + /** + * Get the document type's primary key value + * + * @return int document type's primary key value + * + */ + function getID() { + return $this->iId; + } + + /** + * Get the document type's name + * + * @return String document type's name + * + */ + function getName() { + return $this->sName; + } + + /** + * Set the document type's name + * + * @param document type's new name + * + */ + function setName($sNewValue) { + $this->sName = $sNewValue; + } + + /** + * Store the current object in the database + * + * @return boolean on successful store, false otherwise and set $_SESSION["errorMessage"] + * + */ + function create() { + global $default, $lang_err_database, $lang_err_object_exists; + //if the object hasn't been created + if ($this->iId < 0) { + $sql = $default->db; + $result = $sql->query("INSERT INTO " . $default->owl_document_types_table . " (name) VALUES ('" . addslashes($this->sName) . "')"); + if ($result) { + $this->iId = $sql->insert_id(); + return true; + } + $_SESSION["errorMessage"] = $lang_err_database; + return false; + } + $_SESSION["errorMessage"] = $lang_err_object_exists . "id = " . $this->iId . " table = document_types"; + return false; + } + + /** + * Update the values in the database table with the object's current values + * + * @return boolean true on successful update, false otherwise and set $_SESSION["errorMessage"] + * + */ + function update() { + global $default, $lang_err_database, $lang_err_object_key; + //only update if the object has been stored + if ($this->iId > 0) { + $sql = $default->db; + $result = $sql->query("UPDATE " . $default->owl_document_types_table . " SET name = '" . addslashes($this->sName) . "' WHERE id = $this->iId"); + if ($result) { + return true; + } + $_SESSION["errorMessage"] = $lang_err_database; + return false; + } + $_SESSION["errorMessage"] = $lang_err_object_key; + return false; + } + + /** + * Delete the current object from the database + * + * @return boolean true on successful deletion, false otherwise and set $_SESSION["errorMessage"] + * + */ + function delete() { + global $default, $lang_err_database, $lang_err_object_key; + //only delete the object if it exists in the database + if ($this->iId >= 0) { + $sql = $default->db; + $result = $sql->query("DELETE FROM " . $default->owl_document_types_table . " WHERE id = $this->iId"); + if ($result) { + return true; + } + $_SESSION["errorMessage"] = $lang_err_database; + return false; + } + $_SESSION["errorMessage"] = $lang_err_object_key; + return false; + } + + /** + * Static function. + * Given a document_fields primary key it will create a + * DocumentTypes object and populate it with the + * corresponding database values + * + * @return DocumentType populated DocumentType object on successful query, false otherwise and set $_SESSION["errorMessage"] + */ + function & get($iDocumentTypeID) { + global $default; + $sql = $default->db; + $result = $sql->query("SELECT * FROM ". $default->owl_document_types_table ." WHERE id = $iDocumentTypeID"); + if ($result) { + if ($sql->next_record()) { + $oDocumentType = & new DocumentType(stripslashes($sql->f("name"))); + $oDocumentType->iId = $sql->f("id"); + return $oDocumentType; + } + $_SESSION["errorMessage"] = $lang_err_object_not_exist . "id = " . $iDocumentID . " table = document_types"; + return false; + } + $_SESSION["errorMessage"] = $lang_err_database; + return false; + } + +} + +?>