so it is explicit that we exit in those functions that so we know it isn't necessary to put an exit after we call them
80 lines
3.6 KiB
PHP
80 lines
3.6 KiB
PHP
<?php
|
|
include("path.php");
|
|
require(BASE."include/incl.php");
|
|
require(BASE."include/tableve.php");
|
|
require(BASE."include/application.php");
|
|
require(BASE."include/mail.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->update(null, null, null, null, $aClean['iAppId']);
|
|
|
|
/* 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();
|
|
}
|
|
?>
|