/************************************/
/* code to Submit a new application */
/************************************/
# ENVIRONMENT AND HEADER
include("path.php");
require(BASE."include/"."incl.php");
require(BASE."include/"."tableve.php");
// Send user to the correct branch of code even if they try to bypass
// the first page (appsubmit.php without parameters)
if(!loggedin())
{
unset($_REQUEST['queueName']);
unset($_REQUEST['apptype']);
}
// Check the input of a submitted form. And output with a list
// of errors. (
)
function checkInput($fields)
{
$errors = "";
if (strlen($fields['queueName']) > 200 )
$errors .= "
Your application name is too long.
\n";
if (empty( $fields['queueName']))
$errors .= "
Please enter an application name.
\n";
if (empty( $fields['queueVersion']))
$errors .= "
Please enter an application version.
\n";
// No vendor entered, and nothing in the list is selected
if (empty( $fields['queueVendor']) and $fields['altvendor'] == '0')
$errors .= "
Please enter a vendor.
\n";
if (empty( $fields['queueDesc']))
$errors .= "
Please enter a description of your application.
\n";
// Not empty and an invalid e-mail address
if (!empty( $fields['queueEmail'])
AND !preg_match('/^[A-Za-z0-9\._-]+[@][A-Za-z0-9_-]+([.][A-Za-z0-9_-]+)+[A-Za-z]$/',
$fields['queueEmail']))
{
$errors .= "
Please enter a valid e-mail address.
\n";
}
if (empty($errors))
return "";
else
return $errors;
}
#################################
# USER SUBMITTED APP OR VERSION #
#################################
if (isset($_REQUEST['queueName']))
{
// Check input and exit if we found errors
$errors = checkInput($_REQUEST);
if( !empty($errors) )
{
errorpage("We found the following errors:","
$errors
Please go back and correct them.");
echo html_back_link(1);
exit;
}
/* if the user picked the vendor we need to retrieve the vendor name */
/* and store it into the $queueVendor */
if($_REQUEST['altvendor'])
{
/* retrieve the actual name here */
$query = "select * from vendor where vendorId = '$altvendor';";
$result = mysql_query($query);
if($result)
{
$ob = mysql_fetch_object($result);
$_REQUEST['queueVendor'] = $ob->vendorName;
}
}
// header
apidb_header("Submit Application");
// add to queue
$query = "INSERT INTO appQueue VALUES (null, '".
addslashes($_REQUEST['queueName'])."', '".
addslashes($_REQUEST['queueVersion'])."', '".
addslashes($_REQUEST['queueVendor'])."', '".
addslashes($_REQUEST['queueDesc'])."', '".
addslashes($_REQUEST['queueEmail'])."', '".
addslashes($_REQUEST['queueURL'])."', '".
addslashes($_REQUEST['queueImage'])."',".
"NOW()".",".
addslashes($_REQUEST['queueCatId']).");";
mysql_query($query);
if ($error = mysql_error())
{
echo "
Error:
\n";
echo "
$error
\n";
} else {
echo "
Your application has been submitted for Review. You should hear back\n";
echo "soon about the status of your submission
\n";
}
}
#######################################
# USER WANTS TO SUBMIT APP OR VERSION #
#######################################
else if (isset($_REQUEST['apptype']))
{
// set email field if logged in
if (loggedin())
$email = $_SESSION[current]->lookup_email($_SESSION[current]->userid);
// header
apidb_header("Submit Application");
// show add to queue form
echo '";
}
# NEW VERSION
else
{
echo html_frame_start("New Version Form",400,"",0);
echo "
\n";
// app parent
$x = new TableVE("view");
echo '
',"\n";
echo html_frame_end();
echo "";
}
}
##########################
# HOME PAGE OF APPSUBMIT #
##########################
else
{
if(!loggedin())
{
// you must be logged in to submit app
apidb_header("Please login");
echo "To submit an application to the database you must be logged in. Please login now or create a new account.","\n";
}
else
{
// choose type of app
apidb_header("Choose Application Type");
echo "Please search through the database first. If you cannot find your application in the database select ","\n";
echo "New Application.","\n";
echo "If you have found your application but have not found your version then choose New Version.","\n";
echo "