Allow Maintainers to edit Application version. Send out email indicating what they changed.
This commit is contained in:
committed by
Jeremy Newman
parent
91a821fdde
commit
b1b785fd04
@@ -5,107 +5,147 @@ include("path.php");
|
|||||||
include(BASE."include/"."incl.php");
|
include(BASE."include/"."incl.php");
|
||||||
include(BASE."include/"."tableve.php");
|
include(BASE."include/"."tableve.php");
|
||||||
include(BASE."include/"."qclass.php");
|
include(BASE."include/"."qclass.php");
|
||||||
|
require(BASE."include/"."application.php");
|
||||||
|
|
||||||
|
|
||||||
//check for admin privs
|
//check for admin privs
|
||||||
if(!loggedin() || (!havepriv("admin") && !$current->ownsApp($appId)) )
|
if(!loggedin() || (!havepriv("admin") && !isMaintainer($appId, $versionId)) )
|
||||||
{
|
{
|
||||||
errorpage("Insufficient Privileges!");
|
errorpage("Insufficient Privileges!");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
apidb_header("Edit Application Version");
|
if($HTTP_POST_VARS)
|
||||||
|
{
|
||||||
|
if($submit1 == "Update Database")
|
||||||
|
|
||||||
$t = new TableVE("edit");
|
|
||||||
|
|
||||||
|
|
||||||
if($cmd)
|
|
||||||
{
|
{
|
||||||
$statusMessage = '';
|
$statusMessage = '';
|
||||||
|
// Get the old values from the database
|
||||||
|
$query = "SELECT * FROM appVersion WHERE appId = $appId and versionId = $versionId";
|
||||||
|
$result = mysql_query($query);
|
||||||
|
$ob = mysql_fetch_object($result);
|
||||||
|
$old_versionName = $ob->versionName;
|
||||||
|
$old_keywords = $ob->keywords;
|
||||||
|
$old_description = $ob->description;
|
||||||
|
$old_webPage = $ob->webPage;
|
||||||
|
|
||||||
//process screenshot upload
|
$versionName = addslashes($versionName);
|
||||||
if($cmd == "screenshot_upload")
|
$description = addslashes($description);
|
||||||
|
$webPage = addslashes($webPage);
|
||||||
|
$VersionChanged = false;
|
||||||
|
if ($old_versionName <> $versionName)
|
||||||
{
|
{
|
||||||
if(debugging())
|
$WhatChanged .= "Version name: Old Value: ".stripslashes($old_versionName)."\n";
|
||||||
{
|
$WhatChanged .= " New Value: ".stripslashes($versionName)."\n";
|
||||||
echo "<p align=center>Screenshot: ($appId) file=$imagefile size=$imagefile_size\n";
|
$VersionChanged = true;
|
||||||
echo " name=$imagefile_name type=$imagefile_type<br>";
|
|
||||||
}
|
}
|
||||||
|
if ($old_keywords <> $keywords)
|
||||||
if(!copy($imagefile, "../data/screenshots/".basename($imagefile_name)))
|
|
||||||
{
|
{
|
||||||
// whoops, copy failed. do something
|
$WhatChanged .= " Key Words: Old Value: ".stripslashes($old_keywords)."\n";
|
||||||
echo html_frame_start("Edit Application","300");
|
$WhatChanged .= " New Value: ".stripslashes($keywords)."\n";
|
||||||
echo "<p><b>debug: copy failed; $imagefile; $imagefile_name</b></p>\n";
|
$VersionChanged = true;
|
||||||
echo html_frame_end();
|
|
||||||
echo html_back_link(1,"editAppVersion.php?appId=$appId&versionID=$versionId");
|
|
||||||
apidb_footer();
|
|
||||||
exit;
|
|
||||||
}
|
}
|
||||||
|
if ($old_webPage <> $webPage)
|
||||||
$query = "INSERT INTO appData VALUES (null, $appId, $versionId, 'image', ".
|
{
|
||||||
"'".addslashes($screenshot_desc)."', '".basename($imagefile_name)."')";
|
$WhatChanged .= " Web Page: Old Value: ".stripslashes($old_webPage)."\n";
|
||||||
|
$WhatChanged .= " New Value: ".stripslashes($webPage)."\n";
|
||||||
if(debugging()) { echo "<p align=center><b>query:</b> $query </p>"; }
|
$VersionChanged = true;
|
||||||
|
}
|
||||||
|
if ($old_description <> $description)
|
||||||
|
{
|
||||||
|
$WhatChanged .= " Description: Old Value:\n";
|
||||||
|
$WhatChanged .= "-----------------------:\n";
|
||||||
|
$WhatChanged .= stripslashes($old_description)."\n";
|
||||||
|
$WhatChanged .= "-----------------------:\n";
|
||||||
|
$WhatChanged .= " Description: Vew Value:\n";
|
||||||
|
$WhatChanged .= "-----------------------:\n";
|
||||||
|
$WhatChanged .= stripslashes($description)."\n";
|
||||||
|
$WhatChanged .= "-----------------------:\n";
|
||||||
|
$VersionChanged = true;
|
||||||
|
}
|
||||||
|
//did anything change?
|
||||||
|
if ($VersionChanged)
|
||||||
|
{
|
||||||
|
$query = "UPDATE appVersion SET versionName = '".$versionName."', ".
|
||||||
|
"keywords = '".$keywords."', ".
|
||||||
|
"description = '".$description."', ".
|
||||||
|
"webPage = '".$webPage."'".
|
||||||
|
" WHERE appId = $appId and versionId = $versionId";
|
||||||
if (mysql_query($query))
|
if (mysql_query($query))
|
||||||
{
|
{
|
||||||
//success
|
//success
|
||||||
$statusMessage = "<p>The image was successfully added into the database</p>\n";
|
$email = getNotifyEmailAddressList($appId, $versionId);
|
||||||
|
if($email)
|
||||||
|
{
|
||||||
|
$fullAppName = "Application: ".lookupAppName($appId)." Version: ".lookupVersionName($appId, $versionId);
|
||||||
|
$ms .= APPDB_ROOT."appView.php?appId=$appId&versionId=$versionId"."\n";
|
||||||
|
$ms .= "\n";
|
||||||
|
$ms .= ($current->username ? $current->username : "Anonymous")." changed ".$fullAppName."\n";
|
||||||
|
$ms .= "\n";
|
||||||
|
$ms .= $WhatChanged."\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 Version was successfully updated in the database", "green");
|
||||||
|
redirect(apidb_fullurl("appview.php?appId=$appId&versionId=$versionId"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//error
|
//error
|
||||||
$statusMessage = "<p><b>Database Error!<br>".mysql_error()."<br></b></p>\n";
|
$statusMessage = "<p><b>Database Error!<br>".mysql_error()."</b></p>\n";
|
||||||
if(debugging()) { $statusMessage .= "<p>$query</p>"; }
|
addmsg($statusMessage, "red");
|
||||||
|
redirect(apidb_fullurl("admin/editAppVersion.php?appId=$appId&versionId=$versionId"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} else
|
||||||
|
|
||||||
// display status message
|
|
||||||
if ($statusMessage)
|
|
||||||
{
|
{
|
||||||
echo html_frame_start("Edit Application","300");
|
addmsg("Nothing changed", "red");
|
||||||
echo "<p><b>$statusMessage</b></p>\n";
|
redirect(apidb_fullurl("admin/editAppVersion.php?appId=$appId&versionId=$versionId"));
|
||||||
echo html_frame_end();
|
|
||||||
echo html_back_link(1,"editAppVersion.php?appId=$appId&versionId=$versionId");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if($HTTP_POST_VARS)
|
exit;
|
||||||
|
} else
|
||||||
{
|
{
|
||||||
$t->update($HTTP_POST_VARS);
|
$query = "SELECT versionName, keywords, ".
|
||||||
}
|
"description, webPage from appVersion WHERE ".
|
||||||
else
|
"appId = '$appId' and versionId = '$versionId'";
|
||||||
{
|
|
||||||
$table = "appVersion";
|
|
||||||
$query = "SELECT * FROM $table WHERE appId = $appId AND versionId = $versionId";
|
|
||||||
|
|
||||||
if(debugging()) { echo "<p align=center><b>query:</b> $query </p>"; }
|
if(debugging()) { echo "<p align=center><b>query:</b> $query </p>"; }
|
||||||
|
|
||||||
$t->edit($query);
|
$result = mysql_query($query);
|
||||||
|
list($versionName, $keywords, $description, $webPage) = mysql_fetch_row($result);
|
||||||
|
|
||||||
|
apidb_header("Edit Application Version");
|
||||||
|
|
||||||
//image upload box
|
echo "<form method=post action='editAppVersion.php'>\n";
|
||||||
echo '<form enctype="multipart/form-data" action="editAppVersion.php" name=imageForm method="post">',"\n";
|
echo html_frame_start("Data for Application ID: $appId Version ID: $versionId", "90%","",0);
|
||||||
echo html_frame_start("Upload Screenshot","400","",0);
|
echo html_table_begin("width='100%' border=0 align=left cellpadding=6 cellspacing=0 class='box-body'");
|
||||||
echo '<table border=0 cellpadding=6 cellspacing=0 width="100%">',"\n";
|
|
||||||
|
|
||||||
echo '<tr><td class=color1>Image</td><td class=color0><input name="imagefile" type="file"></td></tr>',"\n";
|
echo '<input type=hidden name="appId" value='.$appId.'>';
|
||||||
echo '<tr><td class=color1>Description</td><td class=color0><input type="text" name="screenshot_desc"></td></tr>',"\n";
|
echo '<input type=hidden name="appId" value='.$appId.'>';
|
||||||
|
echo '<input type=hidden name="versionId" value='.$versionId.'>';
|
||||||
|
echo '<tr><td class=color1>Name</td><td class=color0>'.lookupAppName($appId).'</td></tr>',"\n";
|
||||||
|
echo '<tr><td class=color4>Version</td><td class=color0><input size=80% type="text" name="versionName" type="text" value="'.$versionName.'"></td></tr>',"\n";
|
||||||
|
echo '<tr><td class=color1>Keywords</td><td class=color0><input size=80% type="text" name="keywords" value="'.$keywords.'"></td></tr>',"\n";
|
||||||
|
echo '<tr><td class=color4>Description</td><td class=color0>', "\n";
|
||||||
|
echo '<textarea cols=$80 rows=$30 name="description">'.stripslashes($description).'</textarea></td></tr>',"\n";
|
||||||
|
echo '<tr><td class=color1>Web Page</td><td class=color0><input size=80% type="text" name="webPage" value="'.$webPage.'"></td></tr>',"\n";
|
||||||
|
|
||||||
echo '<tr><td colspan=2 align=center class=color3><input type="submit" value="Send File"></td></tr>',"\n";
|
echo '<tr><td colspan=2 align=center class=color3><input type="submit" name=submit1 value="Update Database"></td></tr>',"\n";
|
||||||
|
|
||||||
echo '</table>',"\n";
|
echo html_table_end();
|
||||||
echo html_frame_end();
|
echo html_frame_end();
|
||||||
echo '<input type="hidden" name="MAX_FILE_SIZE" value="10000000">',"\n";
|
|
||||||
echo '<input type="hidden" name="cmd" value="screenshot_upload">',"\n";
|
|
||||||
echo '<input type="hidden" name="appId" value="'.$appId.'">',"\n";
|
|
||||||
echo '<input type="hidden" name="versionId" value="'.$versionId.'"></form>',"\n";
|
|
||||||
|
|
||||||
echo html_back_link(1,$apidb_root."appview.php?appId=$appId&versionId=$versionId");
|
|
||||||
|
|
||||||
|
echo html_back_link(1);
|
||||||
|
apidb_footer();
|
||||||
}
|
}
|
||||||
|
|
||||||
apidb_footer();
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
39
appview.php
39
appview.php
@@ -348,32 +348,41 @@ else if($appId && $versionId)
|
|||||||
{
|
{
|
||||||
$app = new Application($appId);
|
$app = new Application($appId);
|
||||||
$data = $app->data;
|
$data = $app->data;
|
||||||
|
if(!$data )
|
||||||
if(!$data) {
|
{
|
||||||
// Oops! application not found or other error. do something
|
// Oops! application not found or other error. do something
|
||||||
errorpage('Internal Database Access Error');
|
errorpage('Internal Database Access Error. No App found.');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ver = $app->getAppVersion($versionId);
|
||||||
|
if(!$ver)
|
||||||
|
{
|
||||||
|
// Oops! Version not found or other error. do something
|
||||||
|
errorpage('Internal Database Access Error. No Version Found.');
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// rating menu
|
// rating menu
|
||||||
if(loggedin()) {
|
if(loggedin())
|
||||||
|
{
|
||||||
apidb_sidebar_add("rating_menu");
|
apidb_sidebar_add("rating_menu");
|
||||||
}
|
}
|
||||||
|
|
||||||
// admin menu
|
// admin menu
|
||||||
if(loggedin() && (havepriv("admin") || $current->ownsApp($appId))) {
|
if(loggedin() && havepriv("admin"))
|
||||||
|
{
|
||||||
apidb_sidebar_add("admin_menu");
|
apidb_sidebar_add("admin_menu");
|
||||||
}
|
}
|
||||||
|
|
||||||
// header
|
// header
|
||||||
$ver = $app->getAppVersion($versionId);
|
|
||||||
apidb_header("Viewing App Version - ".$data->appName);
|
apidb_header("Viewing App Version - ".$data->appName);
|
||||||
|
|
||||||
//cat
|
//cat
|
||||||
display_catpath($app->data->catId);
|
display_catpath($app->data->catId);
|
||||||
|
|
||||||
//set URL
|
//set URL
|
||||||
$appLinkURL = ($data->webPage) ? "<a href='$data->webPage'>".substr(stripslashes($data->webPage),0,30)."</a>": " ";
|
$appLinkURL = ($ver->webPage) ? "<a href='$ver->webPage'>".substr(stripslashes($ver->webPage),0,30)."</a>": " ";
|
||||||
|
|
||||||
//start version display
|
//start version display
|
||||||
echo html_frame_start("","98%","",0);
|
echo html_frame_start("","98%","",0);
|
||||||
@@ -438,7 +447,14 @@ else if($appId && $versionId)
|
|||||||
{
|
{
|
||||||
echo '<input type=submit value="Log in to become an app maintainer" class=button>';
|
echo '<input type=submit value="Log in to become an app maintainer" class=button>';
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "</center></td></tr>";
|
echo "</center></td></tr>";
|
||||||
|
if (loggedin() && (havepriv("admin") || isMaintainer($appId, $versionId)))
|
||||||
|
{
|
||||||
|
echo "<tr><td colspan = 2><center>";
|
||||||
|
echo "<a href=admin/editAppVersion.php?appId=".$appId."&versionId=".$versionId.">Edit version</a>";
|
||||||
|
echo "</center></td></tr>";
|
||||||
|
}
|
||||||
echo "</table><td class=color2 valign=top width='100%'>\n";
|
echo "</table><td class=color2 valign=top width='100%'>\n";
|
||||||
|
|
||||||
|
|
||||||
@@ -452,10 +468,11 @@ else if($appId && $versionId)
|
|||||||
|
|
||||||
echo html_frame_end();
|
echo html_frame_end();
|
||||||
|
|
||||||
//TODO: code to view/add user experience records
|
//TODO: code to view/add user experience record
|
||||||
if(!$versionId) {
|
// if(!$versionId)
|
||||||
$versionId = 0;
|
// {
|
||||||
}
|
// $versionId = 0;
|
||||||
|
// }
|
||||||
|
|
||||||
// Comments Section
|
// Comments Section
|
||||||
view_app_comments($appId, $versionId);
|
view_app_comments($appId, $versionId);
|
||||||
|
|||||||
Reference in New Issue
Block a user