Oooh a new appdb hacker. Welcome :-)
> // Show the Test results for a application version
> function ShowVersionsTestingTable($iVersionId, $iCurrentTest, $link)
> {
The maximum number of versions to show should be a parameter to this function.
> - $hResult = query_appdb("SELECT *
> + global $showAll;
We don't want to use globals. Looking at $_REQUEST['showAll'] should work.
> +
> + $hResult = query_appdb("SELECT *
> + FROM testResults
> + WHERE versionId = '".$iVersionId."'
> + ORDER BY testedDate DESC;");
> + if(mysql_num_rows($hResult) <= 5 || is_string($showAll)) {
> + $hResult = query_appdb("SELECT *
> FROM testResults
> WHERE versionId = '".$iVersionId."'
> ORDER BY testedDate DESC;");
> + }
> + else{
> + $hResult = query_appdb("SELECT *
> + FROM testResults
> + WHERE versionId = '".$iVersionId."'
> + ORDER BY testedDate DESC LIMIT 0,5;");
> + }
This is simplier if you do:
$sQuery = "select * from testResults WHERE versionId = '".$iVersionId."' ORDER
BY testedDate DESC";
if(!$showAll)
$sQuery.=" LIMIT 0,"$maxEntries;
It saves a db query and reduces duplicate code.
> if(!$hResult || mysql_num_rows($hResult) == 0)
> return;
> echo '<p><span class="title">Testing Results</span><br />',"\n";
> @@ -379,7 +394,9 @@
> if ($oTest->iTestingId == $iCurrentTest)
> echo ' <td align="center"
> class="color2"><b>Current</b></td>',"\n";
> else
> - echo ' <td align="center" class="color2">[<a
> href="'.$link.$oTest->iTestingId.'">Show</a>]</td>',"\n";
> + echo ' <td align="center" class="color2">[<a
> href="'.$link.$oTest->iTestingId;
> + if(is_string($showAll)) echo
> '&showAll='.$showAll.'">Show</a>]</td>',"\n";
> + else echo '">Show</a>]</td>',"\n";
> echo ' <td>',"\n";
> echo '<a href="'.BASE.'distributionView.php
> ?iDistributionId='.$oTest->iDistributionId.'">',"\n";
> echo $oDistribution->sName.'</a>',"\n";
> @@ -393,6 +410,20 @@
> }
>
> echo '</table>',"\n";
> +
> + if(mysql_num_rows($hResult) >= 5 AND !is_string($showAll)) {
> + echo '<form method=get action="'.$PHP_SELF.'">';
> + echo '<input name="versionId" type=hidden value="',$iVersionId,'"
> />';
> + echo '<input class="button" name="showAll" type=submit value="Show
> All Tests" />';
> + echo '</form>';
> + }
> + if(is_string($showAll)) {
> + echo '<form method=get action="'.$PHP_SELF.'">';
> + echo '<input name="versionId" type=hidden value="',$iVersionId,'"
> />';
> + echo '<input class="button" name="hideAll" type=submit
> value="Limit to 5 Tests" />';
> + echo '</form>';
> + unset($showAll);
> + }
>
The common code should be factored out of these conditionals. The only line
that differs appears to be the one that generates the form button.
Oh, and can you attach the patch to the email? It came through as inlined
here which makes it difficult to save to a file, although maybe I just don't
know what I'm doing with kmail.
Chris