This repository has been archived on 2025-05-24. You can view files and clone it, but cannot push or open issues or pull requests.
Files
qemudb/browse_downloadable.php
Chris Morgan 6119246b51 Replace direct mysql_xxx() calls with query_xxx() calls. Replace calls to mysql_insert_id()
with calls specific to the appdb or bugzilla database. Fixes a bug where a call to
mysql_insert_id() can potentially retrieve an id from either the bugzilla or appdb database,
depending on whichever database was last opened by mysql_connect().
2007-08-03 23:27:25 +00:00

164 lines
4.7 KiB
PHP

<?php
/**
* Browse downloadable applications
*/
require("path.php");
require(BASE."include/incl.php");
apidb_header("Browse Downloadable Applications");
echo "<div class='default_container'>\n";
/* Match specific license? */
$sLicenseString = isset($aClean['sLicense']) ? $aClean['sLicense'] : '';
$sLicense = version::checkLicense( $sLicenseString );
/* Set default values */
if(!isset($aClean['iNumVersions']) || $aClean['iNumVersions'] > 200 || $aClean['iNumVersions'] < 0)
$aClean['iNumVersions'] = 25;
if( !isset($aClean['iPage']) )
$aClean['iPage'] = 1;
/* Count the possible matches */
$sQuery = "SELECT DISTINCT appFamily.appName,
appVersion.versionName, appVersion.versionId, appFamily.description
FROM appFamily, appVersion, appData
WHERE appData.type = '?' AND appData.versionId = appVersion.versionId
AND appFamily.appId = appVersion.appId AND appVersion.queued = 'false'";
if(!$sLicense)
$hResult = query_parameters($sQuery, "downloadurl");
else
{
$sQuery .= " AND license = '?'";
$hResult = query_parameters($sQuery, "downloadurl", $sLicense);
}
if($hResult && query_num_rows($hResult))
$num = query_num_rows($hResult);
$iNumPages = isset($num) ? ceil($num/$aClean['iNumVersions']) : 0;
/* Check page logic */
$aClean['iPage'] = min($aClean['iPage'], $iNumPages);
/* Calculate values for the LIMIT clause */
$iLimitLower = ($aClean['iPage'] - 1) * $aClean['iNumVersions'];
/* Page selection */
echo "<div align=\"center\">\n";
echo "<b>Page ".$aClean['iPage']." of $iNumPages</b><br />\n";
// $iPageRange is non-existent here? creating it
$iPageRange = 10;
display_page_range($aClean['iPage'], $iPageRange, $iNumPages,
$_SERVER['PHP_SELF']."?iNumVersions=".$aClean['iNumVersions']."&sLicense=".
$sLicenseString);
/* Selector for how many versions to display */
echo "<form method=\"get\" action=\"".$_SERVER['PHP_SELF']."\">\n";
echo "<b>How many versions to display:</b>\n";
echo "<select name=\"iNumVersions\">\n";
$numVersionsArray = array(1, 25, 50, 100, 200);
foreach($numVersionsArray as $i)
{
if($i == $aClean['iNumVersions'])
echo "<option selected=\"selected\">$i</option>\n";
else
echo "<option>$i</option>\n";
}
echo "</select>\n";
echo "<b>Filter by license</b>\n";
$oVersion = new Version();
echo $oVersion->makeLicenseList($sLicense);
echo " <input type=\"submit\" value=\"Refresh\" />\n";
echo "</form></div>\n<br />\n";
if(!isset($num))
{
echo "<div align=\"center\"><font color=\"red\">No matches found</font></div>\n";
echo html_frame_end("&nbsp;");
exit;
}
$sQuery = "SELECT DISTINCT appFamily.appName,
appVersion.versionName, appVersion.versionId, appFamily.description
FROM appFamily, appVersion, appData
WHERE appData.type = '?' AND appData.versionId = appVersion.versionId
AND appFamily.appId = appVersion.appId
AND appVersion.queued = 'false' ";
if(!$sLicense)
{
$sQuery .= "ORDER BY appFamily.appName LIMIT ?, ?";
$hResult = query_parameters($sQuery, "downloadurl", $iLimitLower,
$aClean['iNumVersions']);
} else
{
$sQuery .= "AND license = '?' ORDER BY appFamily.appName LIMIT ?, ?";
$hResult = query_parameters($sQuery,
"downloadurl", $sLicense, $iLimitLower,
$aClean['iNumVersions']);
}
if($hResult && query_num_rows($hResult))
{
echo html_frame_start("", "90%");
$oTable = new Table();
$oTable->SetWidth("100%");
$oTable->SetAlign("center");
$oTableRow = new TableRow();
$oTableCell = new TableCell("Name");
$oTableCell->SetBold(true);
$oTableRow->AddCell($oTableCell);
$oTableCell = new TableCell("Description");
$oTableCell->SetBold(true);
$oTableRow->AddCell($oTableCell);
$oTableRow->SetClass("color4");
$oTable->AddRow($oTableRow);
for($iIndex = 1; $oRow = query_fetch_object($hResult); $iIndex++)
{
$oVersion = new version($oRow->versionId);
$oTableRow = new TableRow();
if($iIndex % 2)
$sColor = "color1";
else
$sColor = "color0";
$oTableRow->SetClass($sColor);
$oTableRowHighlight = GetStandardRowHighlight($iIndex);
$oTableRowClick = new TableRowClick($oVersion->objectMakeUrl());
$oTableRowClick->SetHighlight($oTableRowHighlight);
$oTableRow->SetRowClick($oTableRowClick);
$oTableRow->AddCell(new TableCell(version::fullNameLink($oVersion->iVersionId)));
$oTableRow->AddCell(new TableCell($oRow->description));
$oTable->AddRow($oTableRow);
}
echo $oTable->GetString();
echo html_frame_end("&nbsp;");
}
echo "</div>\n";
apidb_footer();
?>