diff --git a/admin/adminAppDataQueue.php b/admin/adminAppDataQueue.php new file mode 100644 index 0000000..9f29b57 --- /dev/null +++ b/admin/adminAppDataQueue.php @@ -0,0 +1,242 @@ +The App Data Queue is empty.
',"\n"; + echo 'There is nothing for you to do. Check back later.
',"\n"; + echo html_frame_end(" "); + } + else + { + //help + echo "| \n\n";
+ echo " This is a list of app data submitted by users.\n"; + echo "Please inspect carefully these data before to accept it.\n"; + echo " |
| Submission Date | \n"; + echo "Queue Id | \n"; + echo "Username (e-mail) | \n"; + echo "Application Name | \n"; + echo "Version | \n"; + echo "Type | \n"; + echo "|
| ".date("Y-n-t h:i:sa", $ob->submitTime)." | \n"; + echo "$ob->queueId | \n"; + if($ob->queueuserId) + echo "".lookupUsername($ob->queueuserId)." (".lookupEmail($ob->queueuserId).") | \n"; + else + echo "Anonymous | \n"; + echo "".appIdToName($ob->queueappId)." | \n"; + echo "".versionIdToName($ob->queueversionId)." | \n"; + echo "".$ob->queuetype." | \n"; + echo "
query: $query
","green"); + + if (mysql_query($query)) + { + $statusMessage = "The application data was successfully added into the database
\n"; + + //delete the item from the queue + mysql_query("DELETE from appDataQueue where queueId = ".$_REQUEST['queueId'].";"); + + $goodtogo = 1; /* set to 1 so we send the response email */ + } else + { + //error + $statusMessage = "Database Error!
".mysql_error()."
$statusMessage
\n"; + } elseif ($_REQUEST['reject']) + { + if (lookupEmail($obj_row->userId)) + { + $ms = "Application Data Request Report\n"; + $ms .= "----------------------------------\n\n"; + $ms .= "Your submission of an application data for ".appIdToName($obj_row->appId).versionIdToName($obj_row->versionId)." was rejected. "; + $ms .= $_REQUEST['replyText']; + $ms .= ""; + $ms .= "-The AppDB admins\n"; + + mail(stripslashes(lookupEmail($obj_row->queueuserId)),'[AppDB] Application Data Request Report',$ms); + } + + //delete main item + $query = "DELETE from appDataQueue where queueId = ".$_REQUEST['queueId'].";"; + $result = mysql_query($query); + echo html_frame_start("Delete application data submission",400,"",0); + if(!$result) + { + //error + echo "Internal Error: unable to delete selected maintainer application!
\n"; + } + else + { + //success + echo "Application data was successfully deleted from the Queue.
\n"; + } + } + +} +echo html_frame_end(" "); +echo html_back_link(1,'adminAppDataQueue.php'); +apidb_footer(); +?> + + diff --git a/admin/screenshotQueue.php b/admin/screenshotQueue.php new file mode 100644 index 0000000..f97f3df --- /dev/null +++ b/admin/screenshotQueue.php @@ -0,0 +1,16 @@ + diff --git a/include/sidebar_admin.php b/include/sidebar_admin.php index f318ff2..6fee026 100644 --- a/include/sidebar_admin.php +++ b/include/sidebar_admin.php @@ -16,6 +16,7 @@ function global_admin_menu() { $g->addmisc(" "); $g->add("List Users", $apidb_root."admin/"); $g->add("View App Queue (".getQueuedAppCount().")", $apidb_root."admin/adminAppQueue.php"); + $g->add("View App Data Queue (".getQueuedAppDataCount().")", $apidb_root."admin/adminAppDataQueue.php"); $g->add("View Maintainer Queue (".getQueuedMaintainerCount().")", $apidb_root."admin/adminMaintainerQueue.php"); $g->add("View Maintainers (".getMaintainerCount().")", $apidb_root."admin/adminMaintainers.php"); diff --git a/include/util.php b/include/util.php index 566eef3..ca79444 100644 --- a/include/util.php +++ b/include/util.php @@ -242,6 +242,15 @@ function getQueuedAppCount() return $ob->queued_apps; } +/* get the number of applications in the appQueue table */ +function getQueuedAppDataCount() +{ + $qstring = "SELECT count(*) as queued_appdata FROM appDataQueue"; + $result = mysql_query($qstring); + $ob = mysql_fetch_object($result); + return $ob->queued_appdata; +} + /* get the number of applications in the appQueue table */ function getQueuedMaintainerCount() { diff --git a/index.php b/index.php index a19561e..83010f0 100644 --- a/index.php +++ b/index.php @@ -33,7 +33,10 @@ are logged in. Some of the benefits of membership are:stomping out Wine issues will be greatly appreciated.
-If you have anything to contribute (screenshots, howtos), contact us at: +If you have screenshots or links to contribute, please browse the database and use the AppDB interface to send us your contributions. +
+
+If you have anything else to contribute (howtos, etc.), contact us at:
appdb@winehq.org
Note that this address is not for end-user support, for end user support please contact the
wine-users mailing list or the wine newsgroup, for more information visit
diff --git a/screenshots.php b/screenshots.php
index c43dfb3..5362837 100644
--- a/screenshots.php
+++ b/screenshots.php
@@ -14,189 +14,226 @@ require(BASE."include/"."application.php");
if($_REQUEST['cmd'])
{
- if(havepriv("admin") || isMaintainer($_REQUEST['appId'], $_REQUEST['versionId']))
- {
//process screenshot upload
if($_REQUEST['cmd'] == "screenshot_upload")
- {
- if(!copy($_FILES['imagefile']['tmp_name'], "data/screenshots/".$_REQUEST['appId']."-".$_REQUEST['versionId']."-".basename($_FILES['imagefile']['name'])))
- {
- // whoops, copy failed. do something
- errorpage("debug: copy failed; (".$_FILES['imagefile']['tmp_name'].";".$_FILES['imagefile']['name']);
- exit;
- }
-
- $query = "INSERT INTO appData VALUES (null, ".$_REQUEST['appId'].", ".$_REQUEST['versionId'].", 'image', ".
- "'".addslashes($_REQUEST['screenshot_desc'])."', '".$_REQUEST['appId']."-".$_REQUEST['versionId']."-".basename($_FILES['imagefile']['name'])."')";
-
- if(debugging()) addmsg("
query: $query
",green); - - if (mysql_query($query)) - { - //success - $email = getNotifyEmailAddressList($_REQUEST['appId'], $_REQUEST['versionId']); - if($email) + { + if(havepriv("admin") || isMaintainer($_REQUEST['appId'], $_REQUEST['versionId'])) + { + if(!copy($_FILES['imagefile']['tmp_name'], "data/screenshots/".$_REQUEST['appId']."-".$_REQUEST['versionId']."-".basename($_FILES['imagefile']['name']))) { - $fullAppName = "Application: ".lookupAppName($_REQUEST['appId'])." Version: ".lookupVersionName($_REQUEST['appId'], $_REQUEST['versionId']); - $ms .= APPDB_ROOT."screenshots.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId']."\n"; - $ms .= "\n"; - $ms .= ($_SESSION['current']->username ? $_SESSION['current']->username : "Anonymous")." added screenshot ".$_REQUEST['screenshot_desc']." to ".$fullAppName."\n"; - $ms .= "\n"; - $ms .= STANDARD_NOTIFY_FOOTER; - - mail(stripslashes($email), "[AppDB] ".$fullAppName ,$ms); - } else - { - $email = "no one"; + // whoops, copy failed. do something + errorpage("debug: copy failed; (".$_FILES['imagefile']['tmp_name'].";".$_FILES['imagefile']['name']); + exit; } - addmsg("mesage sent to: ".$email, green); - addmsg("The image was successfully added into the database", "green"); - redirect(apidb_fullurl("screenshots.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId'])); - } - else - { - //error - $statusMessage = "Database Error!
".mysql_error()."
query: $query
","green"); + + if (mysql_query($query)) + { + //success + $email = getNotifyEmailAddressList($_REQUEST['appId'], $_REQUEST['versionId']); + if($email) { - $email = getNotifyEmailAddressList($_REQUEST['appId'], $_REQUEST['versionId']); - if($email) - { - $fullAppName = "Application: ".lookupAppName($_REQUEST['appId'])." Version: ".lookupVersionName($_REQUEST['appId'], $_REQUEST['versionId']); - $ms .= APPDB_ROOT."screenshots.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId']."\n"; - $ms .= "\n"; - $ms .= ($_SESSION['current']->username ? $_SESSION['current']->username : "Anonymous")." deleted screenshot from ".$fullAppName."\n"; - $ms .= "\n"; - $ms .= STANDARD_NOTIFY_FOOTER; - - mail(stripslashes($email), "[AppDB] ".$fullAppName ,$ms); + $fullAppName = "Application: ".lookupAppName($_REQUEST['appId'])." Version: ".lookupVersionName($_REQUEST['appId'], $_REQUEST['versionId']); + $ms .= APPDB_ROOT."screenshots.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId']."\n"; + $ms .= "\n"; + $ms .= $_SESSION['current']->username." added screenshot ".$_REQUEST['screenshot_desc']." to ".$fullAppName."\n"; + $ms .= "\n"; + $ms .= STANDARD_NOTIFY_FOOTER; - } else - { - $email = "no one"; - } - addmsg("mesage sent to: ".$email, green); - - addmsg("Image deleted", "green"); - redirect(apidb_fullurl("screenshots.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId'])); + mail(stripslashes($email), "[AppDB] ".$fullAppName ,$ms); } else { - addmsg("Failed to delete image: ".mysql_error(), "red"); - redirect(apidb_fullurl("screenshots.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId'])); + $email = "no one"; } + addmsg("mesage sent to: ".$email, "green"); + + addmsg("The image was successfully added into the database", "green"); + redirect(apidb_fullurl("screenshots.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId'])); } - } - } + else + { + //error + $statusMessage = "Database Error!
".mysql_error()."
query: $str_query
","green"); + + if (mysql_query($str_query)) + { + //success + $email = getNotifyEmailAddressList($_REQUEST['appId'], $_REQUEST['versionId']); + if($email) + { + $fullAppName = "Application: ".lookupAppName($_REQUEST['appId'])." Version: ".lookupVersionName($_REQUEST['appId'], $_REQUEST['versionId']); + $ms .= APPDB_ROOT."admin/adminAppDataQueue.php?queueId=".mysql_insert_id()."\n"; + $ms .= "\n"; + $ms .= ($_SESSION['current']->username ? $_SESSION['current']->username : "an anonymous user")." submitted a screenshot ".$_REQUEST['screenshot_desc']." for ".$fullAppName."\n"; + $ms .= "\n"; + $ms .= STANDARD_NOTIFY_FOOTER; + + mail(stripslashes($email), "[AppDB] ".$fullAppName ,$ms); + } else + { + $email = "no one"; + } + addmsg("mesage sent to: ".$email, "green"); + + addmsg("The image you submitted will be added to the database database after being reviewed", "green"); + redirect(apidb_fullurl("screenshots.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId'])); + } + else + { + //error + $statusMessage = "Database Error!
".mysql_error()."
There are currently no screenshot for the selected version of this application.";
+ echo "
Please consider submitting a screenshot for the selected version yourself.