diff --git a/lib/archiving/ArchivingDateSettings.inc b/lib/archiving/ArchivingDateSettings.inc new file mode 100644 index 0000000..edac8db --- /dev/null +++ b/lib/archiving/ArchivingDateSettings.inc @@ -0,0 +1,189 @@ +, Jam Warehouse (Pty) Ltd, South Africa + * @package lib.archiving + */ + +class ArchivingDateSettings { + + /** + * The primary key + */ + var $iId; + /** + * The expiration date + */ + var $dExpirationDate; + /** + * The expiration time period + */ + var $iTimePeriodID; + + /** + * Constructs an archive date settings instance + * + * @param date the expiration date + * @param integer the expiration time period id + */ + function ArchivingDateSettings($dNewExpirationDate, $iNewTimePeriodID) { + global $default; + + // primary key not set as this is not stored yet + $this->iId = -1; + $this->dExpirationDate = $dNewExpirationDate; + $this->iTimePeriodID = $iNewTimePeriodID; + } + + /** + * Gets the primary key + */ + function getID(){ + return $this->iId; + } + + /** + * Gets the expiration date + */ + function getExpirationDate() { + return $this->dExpirationDate; + } + + /** + * Sets the expiration date + * + * @param date the new expiration date + */ + function setExpirationDate($dNewExpirationDate){ + $this->dExpirationDate = $dNewExpirationDate; + } + + /** + * Gets the time period id + */ + function getTimePeriodID(){ + return $this->iTimePeriodID; + } + + /** + * Sets the time period id + * + * @param integer the new time period id + */ + function setTimePeriodID($iNewTimePeriodID){ + $this->iTimePeriodID = $iNewTimePeriodID; + } + + /** + * Inserts the archive date settings into the database + * + * @return boolean true on successful update, false otherwise + */ + function create(){ + global $default; + //if the id >= 0, then the object has already been created + if ($this->iId < 0) { + $sql = $default->db; + $result = $sql->query("INSERT INTO $default->owl_archiving_date_settings_table (expiration_date, time_period_id) " . + "VALUES ('$this->dExpirationDate', $this->iTimePeriodID)"); + if ($result) { + //set the current primary key + $this->iId = $sql->insert_id(); + return true; + } + return false; + } + return false; + } + + /** + * Update the archive date settings current values in the database + * + * @return boolean true on successful update, false otherwise + */ + function update(){ + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $sQuery = "UPDATE $default->owl_archiving_date_settings_table SET " . + "expiration_date = '$this->dExpirationDate', " . + "time_period_id = $this->iTimePeriodID " . + "WHERE id = $this->iId"; + $result = $sql->query($sQuery); + if ($result) { + return true; + } + return false; + } + return false; + } + + /** + * Delete the current archive date settings from the database. Set the primary key to -1 + * on successful deletion + * + * @return boolean true and reset id to -1 on successful deletion, false otherwise + */ + function delete() { + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $result = $sql->query("DELETE FROM $default->owl_archiving_date_settings_table WHERE id = $this->iId"); + if ($result) { + $this->iId = -1; + return true; + } + return false; + } + return false; + } + + /** + * Static function. Given a news item primary key will create + * a ArchivingDateSettings object and populate it with the corresponding + * database values + * + * @return ArchivingDateSettings populated ArchivingDateSettings object on success, false otherwise + */ + function & get($iArchivingDateSettingsID) { + global $default; + $sql = $default->db; + $sql->query("SELECT * FROM $default->owl_archiving_date_settings_table WHERE id = $iArchivingDateSettingsID"); + if ($sql->next_record()) { + $oArchivingDateSettings = & new ArchivingDateSettings($sql->f("expiration_date"), $sql->f("time_period_id")); + $oArchivingDateSettings->iId = $iArchivingDateSettingsID; + return $oArchivingDateSettings; + } + return false; + } + + /** + * Static function + * Get a list of ArchivingDateSettings objects + * + * @param String Where clause (optional) + * @return Array array of ArchivingDateSettings objects, false otherwise + */ + function getList($sWhereClause = null) { + global $default; + $aArchivingDateSettingsArray = array(); + $sql = $default->db; + $result = $sql->query("SELECT * FROM $default->owl_archiving_date_settings_table " . (isset($sWhereClause) ? " WHERE " . $sWhereClause : "")); + if ($result) { + $iCount = 0; + while ($sql->next_record()) { + $oArchivingDateSettings = & ArchivingDateSettings::get($sql->f("id")); + $aArchivingDateSettingsArray[$iCount++] = $oArchivingDateSettings; + } + return $aArchivingDateSettingsArray; + } + return false; + } +} \ No newline at end of file diff --git a/lib/archiving/ArchivingType.inc b/lib/archiving/ArchivingType.inc new file mode 100644 index 0000000..7fbf9d9 --- /dev/null +++ b/lib/archiving/ArchivingType.inc @@ -0,0 +1,166 @@ +, Jam Warehouse (Pty) Ltd, South Africa + * @package lib.archiving + */ + +class ArchivingType { + + /** + * The primary key + */ + var $iId; + /** + * The archiving type + */ + var $sName; + + /** + * Constructs an archiving type instance + * + * @param string the archiving type name + */ + function ArchivingType($sNewName) { + global $default; + + // primary key not set as this is not stored yet + $this->iId = -1; + $this->sName = $sNewName; + } + + /** + * Gets the primary key + */ + function getID(){ + return $this->iId; + } + + /** + * Gets the name + */ + function getName() { + return $this->sName; + } + + /** + * Sets the name + * + * @param string the new name + */ + function setName($sNewName){ + $this->sName = $sNewName; + } + + /** + * Inserts the archive type into the database + * + * @return boolean true on successful update, false otherwise + */ + function create(){ + global $default; + //if the id >= 0, then the object has already been created + if ($this->iId < 0) { + $sql = $default->db; + $result = $sql->query("INSERT INTO $default->owl_archiving_type_lookup_table (name) " . + "VALUES ('" . addslashes($this->sName) . "')"); + if ($result) { + //set the current primary key + $this->iId = $sql->insert_id(); + return true; + } + return false; + } + return false; + } + + /** + * Update the archive type's current values in the database + * + * @return boolean true on successful update, false otherwise + */ + function update(){ + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $sQuery = "UPDATE $default->owl_archiving_type_lookup_table SET " . + "name = '" . addslashes($this->sName) . "' " . + "WHERE id = $this->iId"; + $result = $sql->query($sQuery); + if ($result) { + return true; + } + return false; + } + return false; + } + + /** + * Delete the current archive type from the database. Set the primary key to -1 + * on successful deletion + * + * @return boolean true and reset id to -1 on successful deletion, false otherwise + */ + function delete() { + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $result = $sql->query("DELETE FROM $default->owl_archiving_type_lookup_table WHERE id = $this->iId"); + if ($result) { + $this->iId = -1; + return true; + } + return false; + } + return false; + } + + /** + * Static function. Given a news item primary key will create + * a ArchivingType object and populate it with the corresponding + * database values + * + * @return ArchivingType populated ArchivingType object on success, false otherwise + */ + function & get($iArchivingTypeID) { + global $default; + $sql = $default->db; + $sql->query("SELECT * FROM $default->owl_archiving_type_lookup_table WHERE id = $iArchivingTypeID"); + if ($sql->next_record()) { + $oArchivingType = & new ArchivingType($sql->f("name")); + $oArchivingType->iId = $iArchivingTypeID; + return $oArchivingType; + } + return false; + } + + /** + * Static function + * Get a list of ArchivingType objects + * + * @param String Where clause (optional) + * @return Array array of ArchivingType objects, false otherwise + */ + function getList($sWhereClause = null) { + global $default; + $aArchivingTypeArray = array(); + $sql = $default->db; + $result = $sql->query("SELECT * FROM $default->owl_archiving_type_lookup_table " . (isset($sWhereClause) ? " WHERE " . $sWhereClause : "")); + if ($result) { + $iCount = 0; + while ($sql->next_record()) { + $oArchivingType = & ArchivingType::get($sql->f("id")); + $aArchivingTypeArray[$iCount++] = $oArchivingType; + } + return $aArchivingTypeArray; + } + return false; + } +} \ No newline at end of file diff --git a/lib/archiving/ArchivingUtilisationSettings.inc b/lib/archiving/ArchivingUtilisationSettings.inc new file mode 100644 index 0000000..a7fbd60 --- /dev/null +++ b/lib/archiving/ArchivingUtilisationSettings.inc @@ -0,0 +1,189 @@ +, Jam Warehouse (Pty) Ltd, South Africa + * @package lib.archiving + */ + +class ArchivingUtilisationSettings { + + /** + * The primary key + */ + var $iId; + /** + * The document transaction id + */ + var $iDocumentTransactionID; + /** + * The expiration time period + */ + var $iTimePeriodID; + + /** + * Constructs an archive utilisation settings instance + * + * @param date the expiration date + * @param integer the expiration time period id + */ + function ArchivingUtilisationSettings($iNewDocumentTransactionID, $iNewTimePeriodID) { + global $default; + + // primary key not set as this is not stored yet + $this->iId = -1; + $this->iDocumentTransactionID = $iNewDocumentTransactionID; + $this->iTimePeriodID = $iNewTimePeriodID; + } + + /** + * Gets the primary key + */ + function getID(){ + return $this->iId; + } + + /** + * Gets the document transaction id + */ + function getDocumentTransactionID() { + return $this->iDocumentTransactionID; + } + + /** + * Sets the document transaction id + * + * @param integer the new document transaction id + */ + function setDocumentTransactionID($iNewDocumentTransactionID){ + $this->iDocumentTransactionID = $iNewDocumentTransactionID; + } + + /** + * Gets the time period id + */ + function getTimePeriodID(){ + return $this->iTimePeriodID; + } + + /** + * Sets the time period id + * + * @param integer the new time period id + */ + function setTimePeriodID($iNewTimePeriodID){ + $this->iTimePeriodID = $iNewTimePeriodID; + } + + /** + * Inserts the archive utilisation settings into the database + * + * @return boolean true on successful update, false otherwise + */ + function create(){ + global $default; + //if the id >= 0, then the object has already been created + if ($this->iId < 0) { + $sql = $default->db; + $result = $sql->query("INSERT INTO $default->owl_archiving_utilisation_settings_table (document_transaction_id, time_period_id) " . + "VALUES ($this->iDocumentTransactionID, $this->iTimePeriodID)"); + if ($result) { + //set the current primary key + $this->iId = $sql->insert_id(); + return true; + } + return false; + } + return false; + } + + /** + * Update the archive utilisation settings current values in the database + * + * @return boolean true on successful update, false otherwise + */ + function update(){ + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $sQuery = "UPDATE $default->owl_archiving_utilisation_settings_table SET " . + "document_transaction_id = $this->iDocumentTransactionID, " . + "time_period_id = $this->iTimePeriodID " . + "WHERE id = $this->iId"; + $result = $sql->query($sQuery); + if ($result) { + return true; + } + return false; + } + return false; + } + + /** + * Delete the current archive utilisation settings from the database. Set the primary key to -1 + * on successful deletion + * + * @return boolean true and reset id to -1 on successful deletion, false otherwise + */ + function delete() { + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $result = $sql->query("DELETE FROM $default->owl_archiving_utilisation_settings_table WHERE id = $this->iId"); + if ($result) { + $this->iId = -1; + return true; + } + return false; + } + return false; + } + + /** + * Static function. Given a news item primary key will create + * a ArchivingUtilisationSettings object and populate it with the corresponding + * database values + * + * @return ArchivingUtilisationSettings populated ArchivingUtilisationSettings object on success, false otherwise + */ + function & get($iArchivingUtilisationSettingsID) { + global $default; + $sql = $default->db; + $sql->query("SELECT * FROM $default->owl_archiving_utilisation_settings_table WHERE id = $iArchivingUtilisationSettingsID"); + if ($sql->next_record()) { + $oArchivingUtilisationSettings = & new ArchivingUtilisationSettings($sql->f("document_transaction_id"), $sql->f("time_period_id")); + $oArchivingUtilisationSettings->iId = $iArchivingUtilisationSettingsID; + return $oArchivingUtilisationSettings; + } + return false; + } + + /** + * Static function + * Get a list of ArchivingUtilisationSettings objects + * + * @param String Where clause (optional) + * @return Array array of ArchivingUtilisationSettings objects, false otherwise + */ + function getList($sWhereClause = null) { + global $default; + $aArchivingUtilisationSettingsArray = array(); + $sql = $default->db; + $result = $sql->query("SELECT * FROM $default->owl_archiving_utilisation_settings_table " . (isset($sWhereClause) ? " WHERE " . $sWhereClause : "")); + if ($result) { + $iCount = 0; + while ($sql->next_record()) { + $oArchivingUtilisationSettings = & ArchivingUtilisationSettings::get($sql->f("id")); + $aArchivingUtilisationSettingsArray[$iCount++] = $oArchivingUtilisationSettings; + } + return $aArchivingUtilisationSettingsArray; + } + return false; + } +} \ No newline at end of file diff --git a/lib/archiving/DocumentArchiving.inc b/lib/archiving/DocumentArchiving.inc new file mode 100644 index 0000000..15f895f --- /dev/null +++ b/lib/archiving/DocumentArchiving.inc @@ -0,0 +1,231 @@ +, Jam Warehouse (Pty) Ltd, South Africa + * @package lib.archiving + */ + +class DocumentArchiving { + + /** + * The primary key + */ + var $iId; + /** + * The document ID + */ + var $iDocumentID; + /** + * The archiving method- date or utilisation + */ + var $iArchivingTypeID; + /** + * The archiving settings + */ + var $iArchivingSettingsID; + + /** + * Constructs an archive settings instance + * + * @param integer the document id + * @param integer the archiving type id + * @param integer the archiving settings id + */ + function DocumentArchiving($iNewDocumentID, $iNewArchivingTypeID, $iNewArchivingSettingsID) { + global $default; + + // primary key not set as this is not stored yet + $this->iId = -1; + $this->iDocumentID = $iNewDocumentID; + $this->iArchivingTypeID = $iNewArchivingTypeID; + $this->iArchivingSettingsID = $iNewArchivingSettingsID; + } + + /** + * Gets the primary key + */ + function getID(){ + return $this->iId; + } + + /** + * Gets the document id + */ + function getDocumentID(){ + return $this->iDocumentID; + } + + /** + * Sets the document id + * + * @param integer the new document id + */ + function setDocumentID($iNewDocumentID){ + $this->iDocumentID = $iNewDocumentID; + } + + /** + * Gets the archiving type + */ + function getArchivingTypeID(){ + return $this->iArchivingTypeID; + } + + /** + * Sets the archiving type + * + * @param integer the new archiving type + */ + function setArchivingTypeID($iNewArchivingTypeID){ + $this->iArchivingTypeID = $iNewArchivingTypeID; + } + + /** + * Gets the archiving settings + */ + function getArchivingSettingsID(){ + return $this->iArchivingSettingsID; + } + + /** + * Sets the archiving settings + * + * @param integer the new archiving settings + */ + function setArchivingSettingsID($iNewArchivingSettingsID){ + $this->iArchivingSettingsID = $iNewArchivingSettingsID; + } + + /** + * Inserts the archive settings into the database + * + * @return boolean true on successful update, false otherwise + */ + function create(){ + global $default; + //if the id >= 0, then the object has already been created + if ($this->iId < 0) { + $sql = $default->db; + $result = $sql->query("INSERT INTO $default->owl_document_archiving_table (document_id, archiving_type_id, archiving_settings_id) " . + "VALUES ($this->iDocumentID, $this->iArchivingTypeID, $this->iArchivingSettingsID)"); + if ($result) { + //set the current primary key + $this->iId = $sql->insert_id(); + return true; + } + return false; + } + return false; + } + + /** + * Update the archive settings current values in the database + * + * @return boolean true on successful update, false otherwise + */ + function update(){ + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $sQuery = "UPDATE $default->owl_document_archiving_table SET " . + "document_id = $this->iDocumentID, " . + "archiving_type_id = $this->iArchivingTypeID, " . + "archiving_settings_id = $this->iArchivingSettingsID " . + "WHERE id = $this->iId"; + $result = $sql->query($sQuery); + if ($result) { + return true; + } + return false; + } + return false; + } + + /** + * Delete the current archive settings from the database. Set the primary key to -1 + * on successful deletion + * + * @return boolean true and reset id to -1 on successful deletion, false otherwise + */ + function delete() { + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $result = $sql->query("DELETE FROM $default->owl_document_archiving_table WHERE id = $this->iId"); + if ($result) { + $this->iId = -1; + return true; + } + return false; + } + return false; + } + + /** + * Static function. Given a document primary key will create + * a DocumentArchiving object and populate it with the corresponding + * database values + * + * @return DocumentArchiving populated DocumentArchiving object on success, false otherwise + */ + function & getFromDocumentID($iDocumentID) { + global $default; + $sql = $default->db; + $sql->query("SELECT * FROM $default->owl_document_archiving_table WHERE document_id = $iDocumentID"); + if ($sql->next_record()) { + $oDocumentArchiving = & new DocumentArchiving($sql->f("document_id"), $sql->f("archiving_type_id"), $sql->f("archiving_settings_id")); + $oDocumentArchiving->iId = $sql->f("id"); + return $oDocumentArchiving; + } + return false; + } + + /** + * Static function. Given a news item primary key will create + * a DocumentArchiving object and populate it with the corresponding + * database values + * + * @return DocumentArchiving populated DocumentArchiving object on success, false otherwise + */ + function & get($iDocumentArchivingID) { + global $default; + $sql = $default->db; + $sql->query("SELECT * FROM $default->owl_document_archiving_table WHERE id = $iDocumentArchivingID"); + if ($sql->next_record()) { + $oDocumentArchiving = & new DocumentArchiving($sql->f("document_id"), $sql->f("archiving_type_id"), $sql->f("archiving_settings_id")); + $oDocumentArchiving->iId = $iDocumentArchivingID; + return $oDocumentArchiving; + } + return false; + } + + /** + * Static function + * Get a list of DocumentArchiving objects + * + * @param String Where clause (optional) + * @return Array array of DocumentArchiving objects, false otherwise + */ + function getList($sWhereClause = null) { + global $default; + $aDocumentArchivingArray = array(); + $sql = $default->db; + $result = $sql->query("SELECT * FROM $default->owl_document_archiving_table " . (isset($sWhereClause) ? " WHERE " . $sWhereClause : "")); + if ($result) { + $iCount = 0; + while ($sql->next_record()) { + $oDocumentArchiving = & DocumentArchiving::get($sql->f("id")); + $aDocumentArchivingArray[$iCount++] = $oDocumentArchiving; + } + return $aDocumentArchivingArray; + } + return false; + } +} \ No newline at end of file diff --git a/lib/archiving/TimePeriod.inc b/lib/archiving/TimePeriod.inc new file mode 100644 index 0000000..64f7c60 --- /dev/null +++ b/lib/archiving/TimePeriod.inc @@ -0,0 +1,189 @@ +, Jam Warehouse (Pty) Ltd, South Africa + * @package lib.archiving + */ + +class TimePeriod { + + /** + * The primary key + */ + var $iId; + /** + * The time units + */ + var $iTimeUnitID; + /** + * The number of units + */ + var $iUnits; + + /** + * Constructs an time period instance + * + * @param date the time unit + * @param integer the expiration time period id + */ + function TimePeriod($dNewExpirationDate, $iNewTimePeriodID) { + global $default; + + // primary key not set as this is not stored yet + $this->iId = -1; + $this->iTimeUnitID = $dNewExpirationDate; + $this->iUnits = $iNewTimePeriodID; + } + + /** + * Gets the primary key + */ + function getID(){ + return $this->iId; + } + + /** + * Gets the time unit + */ + function getTimeUnitID() { + return $this->iTimeUnitID; + } + + /** + * Sets the time unit + * + * @param integer the new time unit + */ + function setTimeUnitID($iNewTimeUnitID){ + $this->iTimeUnitID = $iNewTimeUnitID; + } + + /** + * Gets the units + */ + function getUnits(){ + return $this->iUnits; + } + + /** + * Sets the units + * + * @param integer the new units + */ + function setUnits($iNewUnits){ + $this->iUnits = $iNewUnits; + } + + /** + * Inserts the time period into the database + * + * @return boolean true on successful update, false otherwise + */ + function create(){ + global $default; + //if the id >= 0, then the object has already been created + if ($this->iId < 0) { + $sql = $default->db; + $result = $sql->query("INSERT INTO $default->owl_time_period_table (time_unit_id, units) " . + "VALUES ($this->iTimeUnitID, $this->iUnits)"); + if ($result) { + //set the current primary key + $this->iId = $sql->insert_id(); + return true; + } + return false; + } + return false; + } + + /** + * Update the time period current values in the database + * + * @return boolean true on successful update, false otherwise + */ + function update(){ + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $sQuery = "UPDATE $default->owl_time_period_table SET " . + "time_unit_id = $this->iTimeUnitID, " . + "units = $this->iUnits " . + "WHERE id = $this->iId"; + $result = $sql->query($sQuery); + if ($result) { + return true; + } + return false; + } + return false; + } + + /** + * Delete the current time period from the database. Set the primary key to -1 + * on successful deletion + * + * @return boolean true and reset id to -1 on successful deletion, false otherwise + */ + function delete() { + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $result = $sql->query("DELETE FROM $default->owl_time_period_table WHERE id = $this->iId"); + if ($result) { + $this->iId = -1; + return true; + } + return false; + } + return false; + } + + /** + * Static function. Given a primary key will create + * a TimePeriod object and populate it with the corresponding + * database values + * + * @return TimePeriod populated TimePeriod object on success, false otherwise + */ + function & get($iTimePeriodID) { + global $default; + $sql = $default->db; + $sql->query("SELECT * FROM $default->owl_time_period_table WHERE id = $iTimePeriodID"); + if ($sql->next_record()) { + $oTimePeriod = & new TimePeriod($sql->f("time_unit_id"), $sql->f("units")); + $oTimePeriod->iId = $iTimePeriodID; + return $oTimePeriod; + } + return false; + } + + /** + * Static function + * Get a list of TimePeriod objects + * + * @param String Where clause (optional) + * @return Array array of TimePeriod objects, false otherwise + */ + function getList($sWhereClause = null) { + global $default; + $aTimePeriodArray = array(); + $sql = $default->db; + $result = $sql->query("SELECT * FROM $default->owl_time_period_table " . (isset($sWhereClause) ? " WHERE " . $sWhereClause : "")); + if ($result) { + $iCount = 0; + while ($sql->next_record()) { + $oTimePeriod = & TimePeriod::get($sql->f("id")); + $aTimePeriodArray[$iCount++] = $oTimePeriod; + } + return $aTimePeriodArray; + } + return false; + } +} \ No newline at end of file diff --git a/lib/archiving/TimeUnit.inc b/lib/archiving/TimeUnit.inc new file mode 100644 index 0000000..684b093 --- /dev/null +++ b/lib/archiving/TimeUnit.inc @@ -0,0 +1,166 @@ +, Jam Warehouse (Pty) Ltd, South Africa + * @package lib.archiving + */ + +class TimeUnit { + + /** + * The primary key + */ + var $iId; + /** + * The time unit + */ + var $sName; + + /** + * Constructs an time unit instance + * + * @param string the time unit name + */ + function TimeUnit($sNewName) { + global $default; + + // primary key not set as this is not stored yet + $this->iId = -1; + $this->sName = $sNewName; + } + + /** + * Gets the primary key + */ + function getID(){ + return $this->iId; + } + + /** + * Gets the name + */ + function getName() { + return $this->sName; + } + + /** + * Sets the name + * + * @param string the new name + */ + function setName($sNewName){ + $this->sName = $sNewName; + } + + /** + * Inserts the time unit into the database + * + * @return boolean true on successful update, false otherwise + */ + function create(){ + global $default; + //if the id >= 0, then the object has already been created + if ($this->iId < 0) { + $sql = $default->db; + $result = $sql->query("INSERT INTO $default->owl_time_unit_lookup_table (name) " . + "VALUES ('" . addslashes($this->sName) . "')"); + if ($result) { + //set the current primary key + $this->iId = $sql->insert_id(); + return true; + } + return false; + } + return false; + } + + /** + * Update the current values in the database + * + * @return boolean true on successful update, false otherwise + */ + function update(){ + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $sQuery = "UPDATE $default->owl_time_unit_lookup_table SET " . + "name = '" . addslashes($this->sName) . "' " . + "WHERE id = $this->iId"; + $result = $sql->query($sQuery); + if ($result) { + return true; + } + return false; + } + return false; + } + + /** + * Delete the current archive type from the database. Set the primary key to -1 + * on successful deletion + * + * @return boolean true and reset id to -1 on successful deletion, false otherwise + */ + function delete() { + global $default; + if ($this->iId >= 0) { + $sql = $default->db; + $result = $sql->query("DELETE FROM $default->owl_time_unit_lookup_table WHERE id = $this->iId"); + if ($result) { + $this->iId = -1; + return true; + } + return false; + } + return false; + } + + /** + * Static function. Given a news item primary key will create + * a TimeUnit object and populate it with the corresponding + * database values + * + * @return TimeUnit populated TimeUnit object on success, false otherwise + */ + function & get($iTimeUnitID) { + global $default; + $sql = $default->db; + $sql->query("SELECT * FROM $default->owl_time_unit_lookup_table WHERE id = $iTimeUnitID"); + if ($sql->next_record()) { + $oTimeUnit = & new TimeUnit($sql->f("name")); + $oTimeUnit->iId = $iTimeUnitID; + return $oTimeUnit; + } + return false; + } + + /** + * Static function + * Get a list of TimeUnit objects + * + * @param String Where clause (optional) + * @return Array array of TimeUnit objects, false otherwise + */ + function getList($sWhereClause = null) { + global $default; + $aTimeUnitArray = array(); + $sql = $default->db; + $result = $sql->query("SELECT * FROM $default->owl_time_unit_lookup_table " . (isset($sWhereClause) ? " WHERE " . $sWhereClause : "")); + if ($result) { + $iCount = 0; + while ($sql->next_record()) { + $oTimeUnit = & TimeUnit::get($sql->f("id")); + $aTimeUnitArray[$iCount++] = $oTimeUnit; + } + return $aTimeUnitArray; + } + return false; + } +} \ No newline at end of file