Authors: Jonathan Ernst <Jonathan@ernstfamily.ch>, Chris Morgan <cmorgan@alum.wpi.edu>
- stop annoymous applications submitions - code cleanup (more php style than c style + correct indentation + comments + replaced globally registered vars)
This commit is contained in:
316
appsubmit.php
316
appsubmit.php
@@ -1,63 +1,61 @@
|
||||
<?
|
||||
|
||||
/************************************/
|
||||
/* code to Submit a new application */
|
||||
/************************************/
|
||||
|
||||
// Check the input of a submitted form. And output with a list
|
||||
// of errors. (<ul></ul>)
|
||||
function checkInput( $fields )
|
||||
{
|
||||
$errors = "";
|
||||
|
||||
if ( strlen($fields['queueName']) > 200 )
|
||||
{
|
||||
$errors .= "<li>Your application name is too long.</li>\n";
|
||||
}
|
||||
|
||||
if ( empty( $fields['queueName']) )
|
||||
{
|
||||
$errors .= "<li>Please enter an application name.</li>\n";
|
||||
}
|
||||
|
||||
if ( empty( $fields['queueVersion']) )
|
||||
{
|
||||
$errors .= "<li>Please enter an application version.</li>\n";
|
||||
}
|
||||
|
||||
// No vendor entered, and nothing in the list is selected
|
||||
if ( empty( $fields['queueVendor']) and $fields['altvendor'] == '0' )
|
||||
{
|
||||
$errors .= "<li>Please enter a vendor.</li>\n";
|
||||
}
|
||||
|
||||
if ( empty( $fields['queueDesc']) )
|
||||
{
|
||||
$errors .= "<li>Please enter a description of your application.</li>\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 .= "<li>Please enter a valid e-mail address.</li>\n";
|
||||
}
|
||||
|
||||
if ( empty($errors) )
|
||||
{
|
||||
return "";
|
||||
}
|
||||
else
|
||||
{
|
||||
return $errors;
|
||||
}
|
||||
}
|
||||
|
||||
# ENVIRONMENT AND HEADER
|
||||
include("path.php");
|
||||
require(BASE."include/"."incl.php");
|
||||
require(BASE."include/"."tableve.php");
|
||||
global $current;
|
||||
|
||||
if ($_REQUEST['queueName'])
|
||||
// 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. (<ul></ul>)
|
||||
function checkInput($fields)
|
||||
{
|
||||
$errors = "";
|
||||
|
||||
if (strlen($fields['queueName']) > 200 )
|
||||
$errors .= "<li>Your application name is too long.</li>\n";
|
||||
|
||||
if (empty( $fields['queueName']))
|
||||
$errors .= "<li>Please enter an application name.</li>\n";
|
||||
|
||||
if (empty( $fields['queueVersion']))
|
||||
$errors .= "<li>Please enter an application version.</li>\n";
|
||||
|
||||
// No vendor entered, and nothing in the list is selected
|
||||
if (empty( $fields['queueVendor']) and $fields['altvendor'] == '0')
|
||||
$errors .= "<li>Please enter a vendor.</li>\n";
|
||||
|
||||
if (empty( $fields['queueDesc']))
|
||||
$errors .= "<li>Please enter a description of your application.</li>\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 .= "<li>Please enter a valid e-mail address.</li>\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);
|
||||
@@ -103,141 +101,145 @@ if ($_REQUEST['queueName'])
|
||||
{
|
||||
echo "<p><font color=red><b>Error:</b></font></p>\n";
|
||||
echo "<p>$error</p>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
echo "<p>Your application has been submitted for Review. You should hear back\n";
|
||||
echo "soon about the status of your submission</p>\n";
|
||||
}
|
||||
}
|
||||
else if ($_REQUEST['apptype'])
|
||||
|
||||
#######################################
|
||||
# USER WANTS TO SUBMIT APP OR VERSION #
|
||||
#######################################
|
||||
else if (isset($_REQUEST['apptype']))
|
||||
{
|
||||
// set email field if logged in
|
||||
if ($current && loggedin())
|
||||
{
|
||||
$email = $current->lookup_email($current->userid);
|
||||
}
|
||||
// set email field if logged in
|
||||
if (loggedin())
|
||||
$email = $_SESSION[current]->lookup_email($_SESSION[current]->userid);
|
||||
|
||||
// header
|
||||
apidb_header("Submit Application");
|
||||
// header
|
||||
apidb_header("Submit Application");
|
||||
|
||||
// show add to queue form
|
||||
// show add to queue form
|
||||
echo '<form name="newApp" action="appsubmit.php" method="post" enctype="multipart/form-data">',"\n";
|
||||
echo "<p>This page is for submitting new applications to be added to this\n";
|
||||
echo "database. The application will be reviewed by the AppDB Administrator\n";
|
||||
echo "and you will be notified via email if this application will be added to\n";
|
||||
echo "the database.</p>\n";
|
||||
echo "<p>Please don't forget to mention which Wine version you used, how well it worked\n";
|
||||
echo "and if any workaround were needed. Haveing app descriptions just sponsoring the app\n";
|
||||
echo "(Yes, some vendor want to use the appdb for this) or saying \"I haven't tried this app with wine\" ";
|
||||
echo "won't help wine development or wine users.</p>\n";
|
||||
echo "<p>To submit screenshots, please email them to ";
|
||||
echo "<a href='mailto:appdb@winehq.org'>appdb@winehq.org</a></p>\n";
|
||||
|
||||
echo '<form name="newApp" action="appsubmit.php" method="post" enctype="multipart/form-data">',"\n";
|
||||
# NEW APPLICATION
|
||||
if ($_REQUEST[apptype] == 1)
|
||||
{
|
||||
echo html_frame_start("New Application Form",400,"",0);
|
||||
echo "<table width='100%' border=0 cellpadding=2 cellspacing=0>\n";
|
||||
echo '<tr valign=top><td class=color0><b>App Name</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueName" value="" size=20></td></tr>',"\n";
|
||||
echo '<tr valign=top><td class=color0><b>App Version</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueVersion" value="" size=20></td></tr>',"\n";
|
||||
|
||||
echo "<p>This page is for submitting new applications to be added to this\n";
|
||||
echo "database. The application will be reviewed by the AppDB Administrator\n";
|
||||
echo "and you will be notified via email if this application will be added to\n";
|
||||
echo "the database.</p>\n";
|
||||
echo "<p>Please don't forget to mention which Wine version you used, how well it worked\n";
|
||||
echo "and if any workaround were needed. Haveing app descriptions just sponsoring the app\n";
|
||||
echo "(Yes, some vendor want to use the appdb for this) or saying \"I haven't tried this app with wine\" ";
|
||||
echo "won't help wine development or wine users.</p>\n";
|
||||
echo "<p>To submit screenshots, please email them to ";
|
||||
echo "<a href='mailto:appdb@winehq.org'>appdb@winehq.org</a></p>\n";
|
||||
// app Category
|
||||
$w = new TableVE("view");
|
||||
echo '<tr valign=top><td class=color0><b>Category</b></td><td>',"\n";
|
||||
$w->make_option_list("queueCatId","","appCategory","catId","catName");
|
||||
echo '</td></tr>',"\n";
|
||||
|
||||
if ($apptype == 1)
|
||||
{
|
||||
echo html_frame_start("New Application Form",400,"",0);
|
||||
echo "<table width='100%' border=0 cellpadding=2 cellspacing=0>\n";
|
||||
echo '<tr valign=top><td class=color0><b>App Vendor</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueVendor" value="" size=20></td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>App Name</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueName" value="" size=20></td></tr>',"\n";
|
||||
// alt vendor
|
||||
$x = new TableVE("view");
|
||||
echo '<tr valign=top><td class=color0> </td><td>',"\n";
|
||||
$x->make_option_list("altvendor","","vendor","vendorId","vendorName");
|
||||
echo '</td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>App URL</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueURL" value="" size=20></td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>App Desc</b></td>',"\n";
|
||||
echo '<td><textarea name="queueDesc" rows=10 cols=35></textarea></td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>Email</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueEmail" value="'.$email.'" size=20></td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color3 align=center colspan=2>',"\n";
|
||||
echo '<input type=submit value=" Submit New Application " class=button> </td></tr>',"\n";
|
||||
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>App Version</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueVersion" value="" size=20></td></tr>',"\n";
|
||||
echo '</table>',"\n";
|
||||
|
||||
// app Category
|
||||
$w = new TableVE("view");
|
||||
echo '<tr valign=top><td class=color0><b>Category</b></td><td>',"\n";
|
||||
$w->make_option_list("queueCatId","","appCategory","catId","catName");
|
||||
echo '</td></tr>',"\n";
|
||||
echo html_frame_end();
|
||||
|
||||
echo "</form>";
|
||||
}
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>App Vendor</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueVendor" value="" size=20></td></tr>',"\n";
|
||||
# NEW VERSION
|
||||
else
|
||||
{
|
||||
echo html_frame_start("New Version Form",400,"",0);
|
||||
|
||||
echo "<table width='100%' border=0 cellpadding=2 cellspacing=0>\n";
|
||||
|
||||
//alt vendor
|
||||
$x = new TableVE("view");
|
||||
echo '<tr valign=top><td class=color0> </td><td>',"\n";
|
||||
$x->make_option_list("altvendor","","vendor","vendorId","vendorName");
|
||||
echo '</td></tr>',"\n";
|
||||
// app parent
|
||||
$x = new TableVE("view");
|
||||
echo '<tr valign=top><td class=color0><b>App Parent</b></td><td>',"\n";
|
||||
$x->make_option_list("queueName",stripslashes($appId),"appFamily","appId","appName");
|
||||
echo '</td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>App URL</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueURL" value="" size=20></td></tr>',"\n";
|
||||
echo '<tr valign=top><td class=color0><b>App Version</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueVersion" size=20 value="'.$queueVersion.'"></td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>App Desc</b></td>',"\n";
|
||||
echo '<td><textarea name="queueDesc" rows=10 cols=35></textarea></td></tr>',"\n";
|
||||
echo '<tr valign=top><td class=color0><b>App URL</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueURL" size=20 value="'.$queueURL.'"></td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>Email</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueEmail" value="'.$email.'" size=20></td></tr>',"\n";
|
||||
echo '<tr valign=top><td class=color0><b>App Desc</b></td>',"\n";
|
||||
echo '<td><textarea name="queueDesc" rows=10 cols=35 value="'.$queueDesc.'"></textarea></td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color3 align=center colspan=2>',"\n";
|
||||
echo '<input type=submit value=" Submit New Application " class=button> </td></tr>',"\n";
|
||||
echo '</table>',"\n";
|
||||
echo '<tr valign=top><td class=color0><b>Email</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueEmail" value="'.$email.'" size=20></td></tr>',"\n";
|
||||
|
||||
echo html_frame_end();
|
||||
echo '<input type=hidden name="queueVendor" value="">',"\n";
|
||||
echo '<input type=hidden name="queueCatId" value=-1>',"\n";
|
||||
|
||||
echo "</form>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo html_frame_start("New Version Form",400,"",0);
|
||||
echo '<tr valign=top><td class=color3 align=center colspan=2>',"\n";
|
||||
echo '<input type=submit value=" Submit New Version" class=button> </td></tr>',"\n";
|
||||
|
||||
echo "<table width='100%' border=0 cellpadding=2 cellspacing=0>\n";
|
||||
echo '</table>',"\n";
|
||||
|
||||
//app parent
|
||||
$x = new TableVE("view");
|
||||
echo '<tr valign=top><td class=color0><b>App Parent</b></td><td>',"\n";
|
||||
$x->make_option_list("queueName",stripslashes($appId),"appFamily","appId","appName");
|
||||
echo '</td></tr>',"\n";
|
||||
echo html_frame_end();
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>App Version</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueVersion" size=20 value="'.$queueVersion.'"></td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>App URL</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueURL" size=20 value="'.$queueURL.'"></td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>App Desc</b></td>',"\n";
|
||||
echo '<td><textarea name="queueDesc" rows=10 cols=35 value="'.$queueDesc.'"></textarea></td></tr>',"\n";
|
||||
|
||||
echo '<tr valign=top><td class=color0><b>Email</b></td>',"\n";
|
||||
echo '<td><input type=text name="queueEmail" value="'.$email.'" size=20></td></tr>',"\n";
|
||||
|
||||
echo '<input type=hidden name="queueVendor" value="">',"\n";
|
||||
echo '<input type=hidden name="queueCatId" value=-1>',"\n";
|
||||
|
||||
|
||||
echo '<tr valign=top><td class=color3 align=center colspan=2>',"\n";
|
||||
echo '<input type=submit value=" Submit New Version" class=button> </td></tr>',"\n";
|
||||
echo '</table>',"\n";
|
||||
|
||||
echo html_frame_end();
|
||||
|
||||
echo "</form>";
|
||||
}
|
||||
echo "</form>";
|
||||
}
|
||||
}
|
||||
|
||||
##########################
|
||||
# HOME PAGE OF APPSUBMIT #
|
||||
##########################
|
||||
else
|
||||
{
|
||||
// choose type of app
|
||||
apidb_header("Choose Application Type");
|
||||
|
||||
echo '<form name="ChooseApp" >',"\n";
|
||||
echo "Please search through the database first. If you cannot find your application in the database select ","\n";
|
||||
echo "<b>New Application</b>.","\n";
|
||||
echo "If you have found your application but have not found your version then choose <b>New Version</b>.","\n";
|
||||
echo "<table width='100%' border=0 cellpadding=2 cellspacing=0>\n";
|
||||
echo "<tr valign=top><td class=color0 align=center><a href='appsubmit.php?apptype=1'>New Application</a></td>","\n";
|
||||
echo "<td class=color0 align=center><a href='appsubmit.php?apptype=2'>New Version</a></td></tr>","\n";
|
||||
echo '</table>',"\n";
|
||||
|
||||
|
||||
echo "</form>";
|
||||
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 <a href=\"account.php?cmd=login\">login now</a> or create a <a href=\"account.php?cmd=new\">new account</a>.","\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 "<b>New Application</b>.","\n";
|
||||
echo "If you have found your application but have not found your version then choose <b>New Version</b>.","\n";
|
||||
echo "<table width='100%' border=0 cellpadding=2 cellspacing=0>\n";
|
||||
echo "<tr valign=top><td class=color0 align=center><a href='appsubmit.php?apptype=1'>New Application</a></td>","\n";
|
||||
echo "<td class=color0 align=center><a href='appsubmit.php?apptype=2'>New Version</a></td></tr>","\n";
|
||||
echo '</table>',"\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
apidb_footer();
|
||||
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user