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/appsubmit.php
2004-03-24 15:49:59 +00:00

139 lines
4.6 KiB
PHP

<?
/* 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";
}
if ( empty( $fields['queueVendor']) )
{
$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;
}
}
include("path.php");
require(BASE."include/"."incl.php");
global $current;
if ($_REQUEST['queueName'])
{
// add to queue
// Check input and exit if we found errors
$errors = checkInput($_REQUEST);
if( !empty($errors) )
{
errorpage("We found the following errors:","<ul>$errors</ul><br>Please go back and correct them.");
exit;
}
// header
apidb_header("Submit Application");
$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'])."');";
mysql_query($query);
if ($error = mysql_error())
{
echo "<p><font color=red><b>Error:</b></font></p>\n";
echo "<p>$error</p>\n";
}
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
{
// set email field if logged in
if ($current && loggedin())
{
$email = $current->lookup_email($current->userid);
}
// header
apidb_header("Submit Application");
// 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 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><td><input type=text name="queueName" value="" size=20></td></tr>',"\n";
echo '<tr valign=top><td class=color0><b>App Version</b></td><td><input type=text name="queueVersion" value="" size=20></td></tr>',"\n";
echo '<tr valign=top><td class=color0><b>App Vendor</b></td><td><input type=text name="queueVendor" value="" size=20></td></tr>',"\n";
echo '<tr valign=top><td class=color0><b>App URL</b></td><td><input type=text name="queueURL" value="" size=20></td></tr>',"\n";
echo '<tr valign=top><td class=color0><b>App Desc</b></td><td><textarea name="queueDesc" rows=10 cols=35></textarea></td></tr>',"\n";
echo '<tr valign=top><td class=color0><b>Email</b></td><td><input type=text name="queueEmail" value="'.$email.'" size=20></td></tr>',"\n";
echo '<tr valign=top><td class=color3 align=center colspan=2> <input type=submit value=" Submit New Application " class=button> </td></tr>',"\n";
echo '</table>',"\n";
echo html_frame_end();
echo "</form>";
}
apidb_footer();
?>