Allow people to choose the type when submitting app.

This commit is contained in:
Tony Lambregts
2004-11-09 22:34:49 +00:00
committed by Jeremy Newman
parent 4ffd2190bf
commit d3803fa29c
2 changed files with 256 additions and 125 deletions

View File

@@ -43,125 +43,170 @@ if ($sub)
if ($sub == 'view' && $queueId) if ($sub == 'view' && $queueId)
{ {
$x = new TableVE("view"); $x = new TableVE("view");
If ($ob->queueCatId == -1)
//help {
echo "<div align=center><table width='90%' border=0 cellpadding=3 cellspacing=0><tr><td>\n\n"; //help
echo "<p>This is the full view of the application waiting to be approved. \n"; echo "<div align=center><table width='90%' border=0 cellpadding=3 cellspacing=0><tr><td>\n\n";
echo "You need to pick a category before submitting \n"; echo "<p>This is the full view of the application waiting to be approved. \n";
echo "it into the database. If you approve this application,\n"; echo "If you approve this application,\n";
echo "an email will be sent to the author of the submission.<p>\n"; echo "an email will be sent to the author of the submission.<p>\n";
echo "<p>There are two kinds of applications in this database:</p>\n";
echo "<ol>\n";
echo " <li><b>App Family</b> This is a parent group application, that will have multiple versions under it.<br>\n";
echo " To add this submission as a Family, choose 'Application' from the type drop down. Then set the category.\n";
echo " The version and app parent fields will be ignored in this type.<br>\n";
echo " If the vendor does not exist, leave the vendor drop down unset, and the field will be used.</li><p>\n";
echo " <li><b>App Version</b> This type of application will be nested under the selected application parent.\n";
echo " The category, name, and vendor fields will be ignored.</li>\n";
echo "</td></tr></table></div>\n\n";
//view application details
echo html_frame_start("New Application Form",400,"",0);
echo "<table width='100%' border=0 cellpadding=2 cellspacing=0>\n";
//type
echo '<tr valign=top><td class=color0><b>Type</b></td><td>',"\n";
echo '<select name=type><option value=app>Application</option><option value=ver>Version</option></select>',"\n";
echo '</td></tr>',"\n";
//category
$query = "select * from appCategory where catId = '$ob->queueCatId';"; echo " <b>App Version</b> This type of application will be nested under the selected application parent.\n";
$result = mysql_query($query); echo "</td></tr></table></div>\n\n";
if($result)
{ echo '<input type=hidden name=type value="ver">',"\n";
$ob2 = mysql_fetch_object($result); 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>Category</b></td><td>',"\n";
$x->make_option_list("cat",stripslashes($ob2->catId),"appCategory","catId","catName"); //app parent
echo '</td></tr>',"\n"; echo '<tr valign=top><td class=color0><b>App Parent</b></td><td>',"\n";
} else $x->make_option_list("appParent",stripslashes($ob->queueName),"appFamily","appId","appName");
{ echo '</td></tr>',"\n";
echo '<tr valign=top><td class=color0><b>Category</b></td><td>',"\n";
$x->make_option_list("cat","","appCategory","catId","catName"); //version
echo '</td></tr>',"\n"; echo '<tr valign=top><td class=color0><b>App Version</b></td>',"\n";
} echo '<td><input type=text name="queueVersion" value="'.stripslashes($ob->queueVersion).'" size=20></td></tr>',"\n";
//app parent
echo '<tr valign=top><td class=color0><b>App Parent</b></td><td>',"\n"; //url
$x->make_option_list("appParent","","appFamily","appId","appName"); echo '<tr valign=top><td class=color0><b>App URL</b></td>',"\n";
echo '</td></tr>',"\n"; echo '<td><input type=text name="queueURL" value="'.stripslashes($ob->queueURL).'" size=20></td></tr>',"\n";
//name //desc
echo '<tr valign=top><td class=color0><b>App Name</b></td>',"\n"; echo '<tr valign=top><td class=color0><b>App Desc</b></td>',"\n";
echo '<td><input type=text name="queueName" value="'.stripslashes($ob->queueName).'" size=20></td></tr>',"\n"; echo '<td><textarea name="queueDesc" rows=10 cols=35>'.stripslashes($ob->queueDesc).'</textarea></td></tr>',"\n";
//echo '<tr valign=top><td bgcolor=class=color0><b>Email</b></td>,"\n";
//echo '<td><input type=text name="queueEmail" value="'.$ob->queueEmail.'" size=20></td></tr>',"\n";
//echo '<tr valign=top><td bgcolor=class=color0><b>Image</b></td>,"\n";
//echo '<td><input type=file name="queueImage" value="'.$ob->.'" size=15></td></tr>',"\n";
echo '<tr valign=top><td class=color3 align=center colspan=2>' ,"\n";
echo '<input type=submit value=" Submit App Into Database " class=button> </td></tr>',"\n";
echo '</table>',"\n";
//version
echo '<tr valign=top><td class=color0><b>App Version</b></td>',"\n";
echo '<td><input type=text name="queueVersion" value="'.stripslashes($ob->queueVersion).'" size=20></td></tr>',"\n";
//vendor/alt vendor fields
// try for an exact match
// Use the first match if we found one and clear out the vendor field,
// otherwise don't pick a vendor
$query = "select * from vendor where vendorname = '$ob->queueVendor';";
$result = mysql_query($query);
$checkvendor = 0;
if($result)
{
$ob2 = mysql_fetch_object($result);
$checkvendor = $ob2->vendorId;
} }
if(!$checkvendor) else
{ {
// try for a partial match
$query = "select * from vendor where vendorname like '%$ob->queueVendor%';"; //help
echo "<div align=center><table width='90%' border=0 cellpadding=3 cellspacing=0><tr><td>\n\n";
echo "<p>This is the full view of the application waiting to be approved. \n";
echo "You need to pick a category before submitting \n";
echo "it into the database. If you approve this application,\n";
echo "an email will be sent to the author of the submission.<p>\n";
echo "<p>There are two kinds of applications in this database:</p>\n";
echo "<ol>\n";
echo " <li><b>App Family</b> This is a parent group application, that will have multiple versions under it.<br>\n";
echo " To add this submission as a Family, choose 'Application' from the type drop down. Then set the category.\n";
echo " The version and app parent fields will be ignored in this type.<br>\n";
echo " If the vendor does not exist, leave the vendor drop down unset, and the field will be used.</li><p>\n";
echo " <li><b>App Version</b> This type of application will be nested under the selected application parent.\n";
echo " The category, name, and vendor fields will be ignored.</li>\n";
echo "</td></tr></table></div>\n\n";
//view application details
echo html_frame_start("New Application Form",400,"",0);
echo "<table width='100%' border=0 cellpadding=2 cellspacing=0>\n";
//type
echo '<tr valign=top><td class=color0><b>Type</b></td><td>',"\n";
echo '<select name=type><option value=app>Application</option><option value=ver>Version</option></select>',"\n";
echo '</td></tr>',"\n";
//category
$query = "select * from appCategory where catId = '$ob->queueCatId';";
$result = mysql_query($query); $result = mysql_query($query);
if($result) if($result)
{
$ob2 = mysql_fetch_object($result);
echo '<tr valign=top><td class=color0><b>Category</b></td><td>',"\n";
$x->make_option_list("cat",stripslashes($ob2->catId),"appCategory","catId","catName");
echo '</td></tr>',"\n";
} else
{
echo '<tr valign=top><td class=color0><b>Category</b></td><td>',"\n";
$x->make_option_list("cat","","appCategory","catId","catName");
echo '</td></tr>',"\n";
}
//app parent
echo '<tr valign=top><td class=color0><b>App Parent</b></td><td>',"\n";
$x->make_option_list("appParent","","appFamily","appId","appName");
echo '</td></tr>',"\n";
//name
echo '<tr valign=top><td class=color0><b>App Name</b></td>',"\n";
echo '<td><input type=text name="queueName" value="'.stripslashes($ob->queueName).'" size=20></td></tr>',"\n";
//version
echo '<tr valign=top><td class=color0><b>App Version</b></td>',"\n";
echo '<td><input type=text name="queueVersion" value="'.stripslashes($ob->queueVersion).'" size=20></td></tr>',"\n";
//vendor/alt vendor fields
// try for an exact match
// Use the first match if we found one and clear out the vendor field,
// otherwise don't pick a vendor
$query = "select * from vendor where vendorname = '$ob->queueVendor';";
$result = mysql_query($query);
$checkvendor = 0;
if($result)
{ {
$ob2 = mysql_fetch_object($result); $ob2 = mysql_fetch_object($result);
$checkvendor = $ob2->vendorId; $checkvendor = $ob2->vendorId;
} }
} if(!$checkvendor)
if(checkvendor) {
{ // try for a partial match
$ob->queueVendor = ''; $query = "select * from vendor where vendorname like '%$ob->queueVendor%';";
$result = mysql_query($query);
if($result)
{
$ob2 = mysql_fetch_object($result);
$checkvendor = $ob2->vendorId;
}
}
if(checkvendor)
{
$ob->queueVendor = '';
//vendor field //vendor field
echo '<tr valign=top><td class=color0><b>App Vendor</b></td>',"\n"; echo '<tr valign=top><td class=color0><b>App Vendor</b></td>',"\n";
echo '<td><input type=text name="queueVendor" value="'.stripslashes($ob->queueVendor).'" size=20></td></tr>',"\n"; echo '<td><input type=text name="queueVendor" value="'.stripslashes($ob->queueVendor).'" size=20></td></tr>',"\n";
echo '<tr valign=top><td class=color0>&nbsp;</td><td>',"\n"; echo '<tr valign=top><td class=color0>&nbsp;</td><td>',"\n";
$x->make_option_list("altvendor", $checkvendor ,"vendor","vendorId","vendorName"); $x->make_option_list("altvendor", $checkvendor ,"vendor","vendorId","vendorName");
echo '</td></tr>',"\n"; echo '</td></tr>',"\n";
} else } else
{ {
//vendor field //vendor field
echo '<tr valign=top><td class=color0><b>App Vendor</b></td>',"\n"; echo '<tr valign=top><td class=color0><b>App Vendor</b></td>',"\n";
echo '<td><input type=text name="queueVendor" value="'.stripslashes($ob->queueVendor).'" size=20></td></tr>',"\n"; echo '<td><input type=text name="queueVendor" value="'.stripslashes($ob->queueVendor).'" size=20></td></tr>',"\n";
echo '<tr valign=top><td class=color0>&nbsp;</td><td>',"\n"; echo '<tr valign=top><td class=color0>&nbsp;</td><td>',"\n";
$x->make_option_list("altvendor","","vendor","vendorId","vendorName"); $x->make_option_list("altvendor","","vendor","vendorId","vendorName");
echo '</td></tr>',"\n"; echo '</td></tr>',"\n";
} }
//url //url
echo '<tr valign=top><td class=color0><b>App URL</b></td>',"\n"; echo '<tr valign=top><td class=color0><b>App URL</b></td>',"\n";
echo '<td><input type=text name="queueURL" value="'.stripslashes($ob->queueURL).'" size=20></td></tr>',"\n"; echo '<td><input type=text name="queueURL" value="'.stripslashes($ob->queueURL).'" size=20></td></tr>',"\n";
//desc //desc
echo '<tr valign=top><td class=color0><b>App Desc</b></td>',"\n"; echo '<tr valign=top><td class=color0><b>App Desc</b></td>',"\n";
echo '<td><textarea name="queueDesc" rows=10 cols=35>'.stripslashes($ob->queueDesc).'</textarea></td></tr>',"\n"; echo '<td><textarea name="queueDesc" rows=10 cols=35>'.stripslashes($ob->queueDesc).'</textarea></td></tr>',"\n";
//echo '<tr valign=top><td bgcolor=class=color0><b>Email</b></td>,"\n"; //echo '<tr valign=top><td bgcolor=class=color0><b>Email</b></td>,"\n";
//echo '<td><input type=text name="queueEmail" value="'.$ob->queueEmail.'" size=20></td></tr>',"\n"; //echo '<td><input type=text name="queueEmail" value="'.$ob->queueEmail.'" size=20></td></tr>',"\n";
//echo '<tr valign=top><td bgcolor=class=color0><b>Image</b></td>,"\n"; //echo '<tr valign=top><td bgcolor=class=color0><b>Image</b></td>,"\n";
//echo '<td><input type=file name="queueImage" value="'.$ob->.'" size=15></td></tr>',"\n"; //echo '<td><input type=file name="queueImage" value="'.$ob->.'" size=15></td></tr>',"\n";
echo '<tr valign=top><td class=color3 align=center colspan=2>' ,"\n"; echo '<tr valign=top><td class=color3 align=center colspan=2>' ,"\n";
echo '<input type=submit value=" Submit App Into Database " class=button> </td></tr>',"\n"; echo '<input type=submit value=" Submit App Into Database " class=button> </td></tr>',"\n";
echo '</table>',"\n"; echo '</table>',"\n";
}
echo '<input type=hidden name="sub" value="add">',"\n"; echo '<input type=hidden name="sub" value="add">',"\n";
echo '<input type=hidden name="queueId" value="'.$queueId.'">',"\n"; echo '<input type=hidden name="queueId" value="'.$queueId.'">',"\n";
@@ -309,7 +354,7 @@ else
{ {
//get available apps //get available apps
$query = "SELECT queueId, queueName, queueVendor,". $query = "SELECT queueId, queueName, queueVendor,".
"queueVersion, queueEmail,". "queueVersion, queueEmail, queueCatId,".
"UNIX_TIMESTAMP(submitTime) as submitTime ". "UNIX_TIMESTAMP(submitTime) as submitTime ".
"from appQueue;"; "from appQueue;";
$result = mysql_query($query); $result = mysql_query($query);
@@ -351,7 +396,22 @@ else
if ($c % 2 == 1) { $bgcolor = 'color0'; } else { $bgcolor = 'color1'; } if ($c % 2 == 1) { $bgcolor = 'color0'; } else { $bgcolor = 'color1'; }
echo "<tr class=$bgcolor>\n"; echo "<tr class=$bgcolor>\n";
echo " <td>".date("Y-n-t h:i:sa", $ob->submitTime)." &nbsp;</td>\n"; echo " <td>".date("Y-n-t h:i:sa", $ob->submitTime)." &nbsp;</td>\n";
echo " <td><a href='adminAppQueue.php?sub=view&queueId=$ob->queueId'>$ob->queueName</a></td>\n"; if ($ob->queueCatId == -1)
{
$query2 = "select * from appFamily where appId = '$ob->queueName';";
$result2 = mysql_query($query2);
if($result2)
{
$ob2 = mysql_fetch_object($result2);
echo " <td><a href='adminAppQueue.php?sub=view&queueId=$ob->queueId'>$ob2->appName</a></td>\n";
} else
{
echo " <td><a href='adminAppQueue.php?sub=view&queueId=$ob->queueId'>App not found</a></td>\n";
}
} else
{
echo " <td><a href='adminAppQueue.php?sub=view&queueId=$ob->queueId'>$ob->queueName</a></td>\n";
}
echo " <td>".stripslashes($ob->queueVersion)." &nbsp;</td>\n"; echo " <td>".stripslashes($ob->queueVersion)." &nbsp;</td>\n";
echo " <td>".stripslashes($ob->queueVendor)." &nbsp;</td>\n"; echo " <td>".stripslashes($ob->queueVendor)." &nbsp;</td>\n";
echo " <td>".stripslashes($ob->queueEmail)." &nbsp;</td>\n"; echo " <td>".stripslashes($ob->queueEmail)." &nbsp;</td>\n";

View File

@@ -35,7 +35,9 @@ function checkInput( $fields )
} }
// Not empty and an invalid e-mail address // 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']) ) 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"; $errors .= "<li>Please enter a valid e-mail address.</li>\n";
} }
@@ -107,7 +109,7 @@ if ($_REQUEST['queueName'])
echo "soon about the status of your submission</p>\n"; echo "soon about the status of your submission</p>\n";
} }
} }
else else if ($_REQUEST['apptype'])
{ {
// set email field if logged in // set email field if logged in
if ($current && loggedin()) if ($current && loggedin())
@@ -133,38 +135,107 @@ else
echo "<p>To submit screenshots, please email them to "; echo "<p>To submit screenshots, please email them to ";
echo "<a href='mailto:appdb@winehq.org'>appdb@winehq.org</a></p>\n"; echo "<a href='mailto:appdb@winehq.org'>appdb@winehq.org</a></p>\n";
if ($apptype == 1)
{
echo html_frame_start("New Application Form",400,"",0); echo html_frame_start("New Application Form",400,"",0);
echo "<table width='100%' border=0 cellpadding=2 cellspacing=0>\n"; 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";
// app Category echo '<tr valign=top><td class=color0><b>App Name</b></td>',"\n";
$w = new TableVE("view"); echo '<td><input type=text name="queueName" value="" size=20></td></tr>',"\n";
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 '<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 Version</b></td>',"\n";
echo '<td><input type=text name="queueVersion" value="" size=20></td></tr>',"\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";
//alt vendor echo '<tr valign=top><td class=color0><b>App Vendor</b></td>',"\n";
$x = new TableVE("view"); echo '<td><input type=text name="queueVendor" value="" size=20></td></tr>',"\n";
echo '<tr valign=top><td class=color0>&nbsp;</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><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"; //alt vendor
echo '<tr valign=top><td class=color0><b>Email</b></td><td><input type=text name="queueEmail" value="'.$email.'" size=20></td></tr>',"\n"; $x = new TableVE("view");
echo '<tr valign=top><td class=color3 align=center colspan=2> <input type=submit value=" Submit New Application " class=button> </td></tr>',"\n"; echo '<tr valign=top><td class=color0>&nbsp;</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 '</table>',"\n"; echo '</table>',"\n";
echo html_frame_end(); echo html_frame_end();
echo "</form>"; echo "</form>";
}
else
{
echo html_frame_start("New Version Form",400,"",0);
echo "<table width='100%' border=0 cellpadding=2 cellspacing=0>\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","","appFamily","appId","appName");
echo '</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 '<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 '<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>";
}
} }
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>";
}
apidb_footer(); apidb_footer();