) 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:","
    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 '
    ',"\n"; echo "

    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.

    \n"; echo "

    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.

    \n"; echo "

    To submit screenshots, please email them to "; echo "appdb@winehq.org

    \n"; # NEW APPLICATION if ($_REQUEST[apptype] == 1) { echo html_frame_start("New Application Form",400,"",0); echo "\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; // app Category $w = new TableVE("view"); echo '',"\n"; echo '',"\n"; echo '',"\n"; // alt vendor $x = new TableVE("view"); echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '
    App Name
    App Version
    Category',"\n"; $w->make_option_list("queueCatId","","appCategory","catId","catName"); echo '
    App Vendor
     ',"\n"; $x->make_option_list("altvendor","","vendor","vendorId","vendorName"); echo '
    App URL
    App Desc
    Email
    ',"\n"; echo '
    ',"\n"; echo html_frame_end(); echo "
    "; } # NEW VERSION else { echo html_frame_start("New Version Form",400,"",0); echo "\n"; // app parent $x = new TableVE("view"); echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '',"\n"; echo '
    App Parent',"\n"; $x->make_option_list("queueName",stripslashes($appId),"appFamily","appId","appName"); echo '
    App Version
    App URL
    App Desc
    Email
    ',"\n"; 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 "\n"; echo "","\n"; echo "","\n"; echo '
    New ApplicationNew Version
    ',"\n"; } } apidb_footer(); ?>