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/admin/moveAppVersion.php
Alexander Nicolaysen Sørnes 72a8cd48c1 Add some missing quotes to input tags, to prevent the variables from being
assigned garbage values. Also conform the affected tags to newer HTML standards.
2006-12-02 05:10:11 +00:00

81 lines
3.6 KiB
PHP

<?php
require("path.php");
require(BASE."include/incl.php");
require_once(BASE."include/tableve.php");
require_once(BASE."include/application.php");
require_once(BASE."include/version.php");
$aClean = array(); //array of filtered user input
$aClean['iAppId'] = makeSafe($_REQUEST['iAppId']);
$aClean['iVersionId'] = makeSafe($_REQUEST['iVersionId']);
$aClean['sAction'] = makeSafe($_REQUEST['sAction']);
if(!is_numeric($aClean['iAppId']) OR !is_numeric($aClean['iVersionId']))
util_show_error_page_and_exit("Wrong ID");
/* Check for admin privs */
if(!$_SESSION['current']->hasPriv("admin"))
util_show_error_page_and_exit("Insufficient Privileges!");
if(!empty($aClean['sAction']))
{
/* move this version to the given application */
$oVersion = new Version($aClean['iVersionId']);
$oVersion->iAppId = $aClean['iAppId'];
$oVersion->update();
/* redirect to the application we just moved this version to */
util_redirect_and_exit(apidb_fullurl("appview.php?iAppId=".$aClean['iAppId']));
} else /* or display the webform for making changes */
{
?>
<link rel="stylesheet" href="./application.css" type="text/css">
<?php
$oVersion = new Version($aClean['iVersionId']);
$oApp = new Application($oVersion->iAppId);
apidb_header("Choose application to move this version under");
echo "<form method=post action='moveAppVersion.php'>\n";
echo html_frame_start("Move ".$oApp->sName." ".$oVersion->sName, "90%","",0);
echo '<input type="hidden" name="iAppId" value="'.$oVersion->iAppId.'" />';
echo '<input type="hidden" name="iVersionId" value="'.$oVersion->iVersionId.'" />';
/* build a table of applications and their versions */
echo html_table_begin("align=\"center\" style=\"border-collapse: collapse;\"");
// NOTE: the left join here is expensive and takes some 5x as long as a normal select from appFamily and appVersion would take
// although this cheaper select leaves out all applications that lack versions
$sQuery = "select appName, appFamily.appId, versionName, versionId from appFamily left join appVersion ";
$sQuery.= "on appVersion.appId = appFamily.appId ORDER BY appFamily.appName, appFamily.appId, appVersion.versionName;";
$hResult = query_parameters($sQuery);
$currentAppId = 0;
while($oRow = mysql_fetch_object($hResult))
{
/* if the version ids differ then we should start a row with a new application */
/* and the version that matches with it */
if($currentAppId != $oRow->appId)
{
$currentAppId = $oRow->appId;
echo '<tr style="background: #CCDDFF; border: thin solid; font-weight:bold;"><td align="left" style="padding-left:20px;">';
$url = BASE."appview.php?iAppId=".$oRow->appId;
echo '<a href="'.$url.'">'.substr($oRow->appName, 0, 30).'</a></td><td> - '.$oRow->appId.'</td>';
echo "<td style='padding-left:20px;'><a href='moveAppVersion.php?sAction=move&iVersionId=$oVersion->iVersionId&iAppId=$oRow->appId'>Move here</a></td></tr>";
echo '<tr style="border-left: thin solid; border-right:thin solid; background: #FAFBE2;"><td style="padding-left:40px;" colspan="3" align="left">'.$oRow->versionName.'</td></tr>';
} else /* just add another version */
{
echo '<tr style="border-left: thin solid; border-right:thin solid; background: #FAFBE2;"><td style="padding-left:40px;" colspan="3" align="left">'.$oRow->versionName.'</td></tr>';
}
echo "\n";
}
echo html_table_end();
echo html_frame_end();
echo "</form>";
echo html_back_link(1, BASE."appview.php?iVersionId=".$oVersion->iVersionId);
apidb_footer();
}
?>