diff --git a/include/appData.php b/include/appData.php index 58ec5fc..4f2248d 100644 --- a/include/appData.php +++ b/include/appData.php @@ -15,11 +15,25 @@ class appData var $sSubmitTime; var $sDescription; - function appData($iId = null, $oRow = null) + function appData($iId = null, $oRow = null, $oObject = null) { if(!$iId && !$oRow) return; + /* Since all objects stored in the appData table have a number of common + members, we can import such an object into an appData one without + making an SQL query */ + if($oObject && $iId) + { + $this->iSubmitterId = $oObject->iSubmitterId; + $this->sDescription = $oObject->sDescription; + $this->iAppId = $oObject->iAppId; + $this->iVersionId = $oObject->iVersionId; + $this->sSubmitTime = $oObject->sSubmitTime; + $this->iId = $iId; + return; + } + if(!$oRow) { $hResult = query_parameters("SELECT * FROM appData WHERE id = '?'", $iId); diff --git a/include/screenshot.php b/include/screenshot.php index e1c3cad..31074fb 100644 --- a/include/screenshot.php +++ b/include/screenshot.php @@ -131,7 +131,7 @@ class Screenshot { function delete($bSilent=false) { /* appData has a universal function for removing database entries */ - $oAppData = new appData($this->iScreenshotId); + $oAppData = new appData($this->iScreenshotId, null, $this); if($oAppData->delete()) { /* make sure the screenshot and thumbnail is loaded */ @@ -562,7 +562,7 @@ class Screenshot { /* arg1 = OM object, arg2 = CSS style, arg3 = text for edit link */ function objectOutputTableRow($oObject, $sClass, $sEditLinkLabel) { - $oAppData = new AppData(); + $oAppData = new AppData($this->iScreenshotId, null, $this); $oAppData->objectOutputTableRow($oObject, $sClass, $sEditLinkLabel); } @@ -573,7 +573,7 @@ class Screenshot { function outputEditor() { - $oAppData = new appData($this->iScreenshotId); + $oAppData = new appData($this->iScreenshotId, null, $this); $oAppData->outputEditorGeneric(); echo '