diff --git a/admin/adminAppQueue.php b/admin/adminAppQueue.php index 062780a..af64f6a 100644 --- a/admin/adminAppQueue.php +++ b/admin/adminAppQueue.php @@ -117,7 +117,7 @@ function display_move_test_to_versions_table($aVersionsIds,$icurrentVersionId) echo " ".util_trim_description($oVersion->sDescription)."\n"; echo " ".$oVersion->sTestedRating."\n"; echo " ".$oVersion->sTestedRelease."\n"; - echo " ".sizeof($oVersion->aCommentsIds)."\n"; + echo " ".Comment::get_comment_count_for_versionid($oVersion->iVersionId)."\n"; echo "\n\n"; $c++; diff --git a/include/application.php b/include/application.php index e471d0e..cc5685f 100644 --- a/include/application.php +++ b/include/application.php @@ -25,7 +25,6 @@ class Application { var $sSubmitTime; var $iSubmitterId; var $aVersionsIds; // an array that contains the versionId of every version linked to this app. - var $aUrlsIds; // an array that contains the screenshotId of every url linked to this version /** * constructor, fetches the data. @@ -77,24 +76,6 @@ class Application { $this->aVersionsIds[] = $oRow->versionId; } } - - - /* - * We fetch urlsIds. - */ - $this->aUrlsIds = array(); - $sQuery = "SELECT id - FROM appData - WHERE type = 'url' - AND appId = '?'"; - - if($hResult = query_parameters($sQuery, $iAppId)) - { - while($oRow = mysql_fetch_object($hResult)) - { - $this->aUrlsIds[] = $oRow->id; - } - } } } @@ -219,7 +200,24 @@ class Application { $oVersion = new Version($iVersionId); $oVersion->delete($bSilent); } - foreach($this->aUrlsIds as $iUrlId) + + + /* fetch urlsIds */ + $aUrlsIds = array(); + $sQuery = "SELECT id + FROM appData + WHERE type = 'url' + AND appId = '?'"; + + if($hResult = query_parameters($sQuery, $this->iAppId)) + { + while($oRow = mysql_fetch_object($hResult)) + { + $aUrlsIds[] = $oRow->id; + } + } + + foreach($aUrlsIds as $iUrlId) { $oUrl = new Url($iUrlId); $oUrl->delete($bSilent); diff --git a/include/comment.php b/include/comment.php index 04c19f2..f85d473 100644 --- a/include/comment.php +++ b/include/comment.php @@ -187,6 +187,16 @@ class Comment { return false; } + function get_comment_count_for_versionid($iVersionId) + { + $sQuery = "SELECT count(*) as cnt from appComments where versionId = '?'"; + $hResult = query_parameters($sQuery, $iVersionId); + if(!$hResult) return 0; + + $oRow = mysql_fetch_object($hResult); + return $oRow->cnt; + } + /** * class static functions */ diff --git a/include/screenshot.php b/include/screenshot.php index 069cbab..a80e28c 100644 --- a/include/screenshot.php +++ b/include/screenshot.php @@ -307,12 +307,13 @@ class Screenshot { * * $bFormatting == false turns off all extranious formatting applied to the returned image html */ -function get_screenshot_img($iAppId = null, $iVersionId = null, $bFormatting = true) +function get_screenshot_img($iAppId = null, $iVersionId = null, + $bFormatting = true) { // we want a random screenshots for this app if($iAppId && !$iVersionId) { - $hResult = query_parameters("SELECT appData.*, RAND() AS rand + $hResult = query_parameters("SELECT appData.id, appData.description, RAND() AS rand FROM appData, appVersion WHERE appData.versionId = appVersion.versionId AND appVersion.appId = '?' @@ -321,7 +322,7 @@ function get_screenshot_img($iAppId = null, $iVersionId = null, $bFormatting = t ORDER BY rand", $iAppId); } else if ($iVersionId) // we want a random screenshot for this version { - $hResult = query_parameters("SELECT *, RAND() AS rand + $hResult = query_parameters("SELECT id, description, RAND() AS rand FROM appData WHERE versionId = '?' AND type = 'image' diff --git a/include/version.php b/include/version.php index 2dbd83b..05ce02c 100644 --- a/include/version.php +++ b/include/version.php @@ -25,13 +25,6 @@ class Version { var $iSubmitterId; var $sDate; var $sQueued; - var $aNotesIds; // an array that contains the noteId of every note linked to this version - var $aCommentsIds; // an array that contains the commentId of every comment linked to this version - var $aScreenshotsIds; // an array that contains the screenshotId of every screenshot linked to this version - var $aUrlsIds; // an array that contains the screenshotId of every url linked to this version - var $aBuglinkIds; // an array that contains the buglinkId of every bug linked to this version - var $aTestingIds; // an array that contains the testingId of every test result linked to this version - var $aMonitorIds; // an array that contains the monitorId of every monitor linked to this version /** * constructor, fetches the data. @@ -67,105 +60,6 @@ class Version { $this->sQueued = $oRow->queued; } } - - /* - * We fetch notesIds. - */ - $this->aNotesIds = array(); - $sQuery = "SELECT noteId - FROM appNotes - WHERE versionId = '?'"; - if($hResult = query_parameters($sQuery, $iVersionId)) - { - while($oRow = mysql_fetch_object($hResult)) - { - $this->aNotesIds[] = $oRow->noteId; - } - } - - /* - * We fetch commentsIds. - */ - $this->aCommentsIds = array(); - $sQuery = "SELECT commentId - FROM appComments - WHERE versionId = '?'"; - if($hResult = query_parameters($sQuery, $iVersionId)) - { - while($oRow = mysql_fetch_object($hResult)) - { - $this->aCommentsIds[] = $oRow->commentId; - } - } - - - /* - * We fetch screenshotsIds and urlsIds. - */ - $this->aScreenshotsIds = array(); - $this->aUrlsIds = array(); - $sQuery = "SELECT id, type - FROM appData - WHERE versionId = '?'"; - - if($hResult = query_parameters($sQuery, $iVersionId)) - { - while($oRow = mysql_fetch_object($hResult)) - { - if($oRow->type="image") - $this->aScreenshotsIds[] = $oRow->id; - else - $this->aUrlsIds[] = $oRow->id; - } - } - - /* - * We fetch Bug linkIds. - */ - $this->aBuglinkIds = array(); - $sQuery = "SELECT * - FROM buglinks - WHERE versionId = '?' - ORDER BY bug_id"; - if($hResult = query_parameters($sQuery, $iVersionId)) - { - while($oRow = mysql_fetch_object($hResult)) - { - $this->aBuglinkIds[] = $oRow->linkId; - } - } - - /* - * We fetch Test Results Ids. - */ - $this->aTestingIds = array(); - $sQuery = "SELECT * - FROM testResults - WHERE versionId = '?' - ORDER BY testingId"; - if($hResult = query_parameters($sQuery, $iVersionId)) - { - while($oRow = mysql_fetch_object($hResult)) - { - $this->aTestingIds[] = $oRow->testingId; - } - } - - /* - * We fetch monitor Ids. - */ - $this->aMonitorIds = array(); - $sQuery = "SELECT * - FROM appMonitors - WHERE versionId = '?' - ORDER BY monitorId"; - if($hResult = query_parameters($sQuery, $iVersionId)) - { - while($oRow = mysql_fetch_object($hResult)) - { - $this->aMonitorIds[] = $oRow->monitorId; - } - } } } @@ -287,43 +181,129 @@ class Version { if(!$_SESSION['current']->canDeleteVersion($this)) return false; + /* fetch notesIds */ + $aNotesIds = array(); + $sQuery = "SELECT noteId + FROM appNotes + WHERE versionId = '?'"; + if($hResult = query_parameters($sQuery, $this->iVersionId)) + { + while($oRow = mysql_fetch_object($hResult)) + { + $aNotesIds[] = $oRow->noteId; + } + } + /* remove all of the items this version contains */ - foreach($this->aNotesIds as $iNoteId) + foreach($aNotesIds as $iNoteId) { $oNote = new Note($iNoteId); $oNote->delete($bSilent); } - foreach($this->aCommentsIds as $iCommentId) + + + /* We fetch commentsIds. */ + $aCommentsIds = array(); + $sQuery = "SELECT commentId + FROM appComments + WHERE versionId = '?'"; + if($hResult = query_parameters($sQuery, $this->iVersionId)) + { + while($oRow = mysql_fetch_object($hResult)) + { + $aCommentsIds[] = $oRow->commentId; + } + } + + foreach($aCommentsIds as $iCommentId) { $oComment = new Comment($iCommentId); $oComment->delete($bSilent); } - foreach($this->aScreenshotsIds as $iScreenshotId) + + + /* fetch screenshotsIds and urlsIds */ + $aScreenshotsIds = array(); + $aUrlsIds = array(); + $sQuery = "SELECT id, type + FROM appData + WHERE versionId = '?'"; + + if($hResult = query_parameters($sQuery, $this->iVersionId)) + { + while($oRow = mysql_fetch_object($hResult)) + { + if($oRow->type="image") + $aScreenshotsIds[] = $oRow->id; + else + $aUrlsIds[] = $oRow->id; + } + } + + foreach($aScreenshotsIds as $iScreenshotId) { $oScreenshot = new Screenshot($iScreenshotId); $oScreenshot->delete($bSilent); } - foreach($this->aUrlsIds as $iUrlId) + foreach($aUrlsIds as $iUrlId) { $oUrl = new Url($iUrlId); $oUrl->delete($bSilent); } + + + foreach($this->aBuglinkIds as $iBug_id) { $oBug = new bug($iBug_id); $oBug->delete($bSilent); } - foreach($this->aTestingIds as $iTestId) + + + + + /* fetch Test Results Ids */ + $aTestingIds = array(); + $sQuery = "SELECT * + FROM testResults + WHERE versionId = '?' + ORDER BY testingId"; + if($hResult = query_parameters($sQuery, $this->iVersionId)) + { + while($oRow = mysql_fetch_object($hResult)) + { + $aTestingIds[] = $oRow->testingId; + } + } + + foreach($aTestingIds as $iTestId) { $oTest = new testData($iTestId); $oTest->delete($bSilent); } - foreach($this->aMonitorIds as $iMonitorId) + + + /* fetch monitor Ids */ + $aMonitorIds = array(); + $sQuery = "SELECT * + FROM appMonitors + WHERE versionId = '?' + ORDER BY monitorId"; + if($hResult = query_parameters($sQuery, $this->iVersionId)) + { + while($oRow = mysql_fetch_object($hResult)) + { + $aMonitorIds[] = $oRow->monitorId; + } + } + + foreach($aMonitorIds as $iMonitorId) { $oMonitor = new Monitor($iMonitorId); $oMonitor->delete($bSilent); } + // remove any maintainers for this version so we don't orphan them $hResult = query_parameters("DELETE from appMaintainers WHERE versionId='?'", $this->iVersionId); if(!$hResult) @@ -520,6 +500,27 @@ class Version { mail_appdb($sEmail, $sSubject ,$sMsg); } + function get_buglink_ids() + { + /* + * We fetch Bug linkIds. + */ + $aBuglinkIds = array(); + $sQuery = "SELECT * + FROM buglinks + WHERE versionId = '?' + ORDER BY bug_id"; + if($hResult = query_parameters($sQuery, $this->iVersionId)) + { + while($oRow = mysql_fetch_object($hResult)) + { + $aBuglinkIds[] = $oRow->linkId; + } + } + + return $aBuglinkIds; + } + /* output html and the current versions information for editing */ /* if $editParentApplication is true that means we need to display fields */ /* to let the user change the parent application of this version */ @@ -802,7 +803,7 @@ class Version { echo html_frame_end(); - view_version_bugs($this->iVersionId, $this->aBuglinkIds); + view_version_bugs($this->iVersionId, $this->get_buglink_ids()); /* display the notes for the application */ $hNotes = query_parameters("SELECT noteId FROM appNotes WHERE versionId = '?'", @@ -901,7 +902,7 @@ class Version { echo " ".util_trim_description($oVersion->sDescription)."\n"; echo " ".$oVersion->sTestedRating."\n"; echo " ".$oVersion->sTestedRelease."\n"; - echo " ".sizeof($oVersion->aCommentsIds)."\n"; + echo " ".Comment::get_comment_count_for_versionid($oVersion->iVersionId)."\n"; echo "\n\n"; $c++;