Add more downloadurl functions and use them in processForm()

This commit is contained in:
Alexander Nicolaysen Sørnes
2007-01-17 03:16:22 +00:00
committed by WineHQ
parent c71697dc5b
commit 6bf83a0a3b

View File

@@ -21,7 +21,7 @@ class downloadurl
{ {
$hResult = query_parameters("SELECT id, versionId, description, url, $hResult = query_parameters("SELECT id, versionId, description, url,
submitTime, submitterId, queued FROM appData WHERE id = '?'", submitTime, submitterId, queued FROM appData WHERE id = '?'",
$this->iId); $iId);
if($hResult && mysql_num_rows($hResult)) if($hResult && mysql_num_rows($hResult))
{ {
@@ -139,11 +139,12 @@ class downloadurl
while($oRow = mysql_fetch_object($hResult)) while($oRow = mysql_fetch_object($hResult))
{ {
$oDownloadurl = new downloadurl($oRow->id);
/* Remove URL */ /* Remove URL */
if($aValues["bRemove$oRow->id"]) if($aValues["bRemove$oRow->id"])
{ {
if(!query_parameters("DELETE FROM appData WHERE id = '?'", if(!$oDownloadurl->delete())
$oRow->id))
return FALSE; return FALSE;
$sWhatChangedRemove .= "Removed\nURL: $oRow->url\n". $sWhatChangedRemove .= "Removed\nURL: $oRow->url\n".
@@ -155,10 +156,11 @@ class downloadurl
$aValues["sUrl$oRow->id"] != $oRow->url) && $aValues["sUrl$oRow->id"] != $oRow->url) &&
$aValues["sDescription$oRow->id"] && $aValues["sUrl$oRow->id"]) $aValues["sDescription$oRow->id"] && $aValues["sUrl$oRow->id"])
{ {
if(!query_parameters("UPDATE appData SET description = '?', $oDownloadurl->sDescription =
url = '?' WHERE id = '?'", $aValues["sDescription$oRow->id"];
$aValues["sDescription$oRow->id"], $oDownloadurl->sUrl = $aValues["sUrl$oRow->id"];
$aValues["sUrl$oRow->id"], $oRow->id))
if(!$oDownloadurl->update())
return FALSE; return FALSE;
$sWhatChangedModify .= "Modified\nOld URL: $oRow->url\nOld ". $sWhatChangedModify .= "Modified\nOld URL: $oRow->url\nOld ".
@@ -172,12 +174,12 @@ class downloadurl
/* Insert new URL */ /* Insert new URL */
if($aValues["sDescriptionNew"] && $aValues["sUrlNew"]) if($aValues["sDescriptionNew"] && $aValues["sUrlNew"])
{ {
if(!query_parameters("INSERT INTO appData (versionId, TYPE, $oDownloadurl = new downloadurl();
description, url, submitterId, queued) $oDownloadurl->iVersionId = $aValues["iVersionId"];
VALUES('?', '?', '?', '?', '?', '?')", $oDownloadurl->sUrl = $aValues["sUrlNew"];
$aValues["iVersionId"], "downloadurl", $oDownloadurl->sDescription = $aValues["sDescriptionNew"];
$aValues["sDescriptionNew"], $aValues["sUrlNew"],
$_SESSION["current"]->iUserId, "false")) if(!$oDownloadurl->create())
return FALSE; return FALSE;
$sWhatChanged = "Added\nURL: ".$aValues["sUrlNew"]."\nDescription: ". $sWhatChanged = "Added\nURL: ".$aValues["sUrlNew"]."\nDescription: ".
@@ -206,12 +208,12 @@ class downloadurl
return TRUE; return TRUE;
} }
function canEdit($iVersionId) function canEdit($iVersionId = NULL)
{ {
$oUser = new User($_SESSION['current']->iUserId); $oUser = new User($_SESSION['current']->iUserId);
if($oUser->hasPriv("admin") || maintainer::isUserMaintainer($oUser, if($oUser->hasPriv("admin") || ($iVersionId &&
$iVersionId)) maintainer::isUserMaintainer($oUser, $iVersionId)))
{ {
return TRUE; return TRUE;
} else } else
@@ -219,6 +221,50 @@ class downloadurl
return FALSE; return FALSE;
} }
} }
function create()
{
if(!$this->sUrl or !$this->sDescription or !$this->iVersionId)
return FALSE;
$hResult = query_parameters("INSERT INTO appData (versionId, type,
description, url, queued, submitterId)
VALUES('?','?','?','?','?','?')",
$this->iVersionId, "downloadurl", $this->sDescription,
$this->sUrl, downloadurl::canEdit($this->iVersionId) ?
"false" : "true", $_SESSION['current']->iUserId);
if(!$hResult)
return FALSE;
return TRUE;
}
function update()
{
if(!$this->bQueued && !$this->canEdit($this->iVersionId))
return FALSE;
$hResult = query_parameters("UPDATE appData SET
description = '?', url = '?' WHERE id = '?'",
$this->sDescription, $this->sUrl, $this->iId);
if(!$hResult)
return FALSE;
return TRUE;
}
function delete()
{
if(!downloadurl::canEdit($this->iVersionId))
return FALSE;
if(!query_parameters("DELETE FROM appData WHERE id = '?'", $this->iId))
return FALSE;
return TRUE;
}
} }
?> ?>