appdb/include downloadurl.php
WineHQ
wineowner at wine.codeweavers.com
Tue Jan 16 21:16:22 CST 2007
ChangeSet ID: 30880
CVSROOT: /opt/cvs-commit
Module name: appdb
Changes by: wineowner at winehq.org 2007/01/16 21:16:22
Modified files:
include : downloadurl.php
Log message:
Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Add more downloadurl functions and use them in processForm()
Patch: http://cvs.winehq.org/patch.py?id=30880
Old revision New revision Changes Path
1.6 1.7 +62 -16 appdb/include/downloadurl.php
Index: appdb/include/downloadurl.php
diff -u -p appdb/include/downloadurl.php:1.6 appdb/include/downloadurl.php:1.7
--- appdb/include/downloadurl.php:1.6 17 Jan 2007 3:16:22 -0000
+++ appdb/include/downloadurl.php 17 Jan 2007 3:16:22 -0000
@@ -21,7 +21,7 @@ class downloadurl
{
$hResult = query_parameters("SELECT id, versionId, description, url,
submitTime, submitterId, queued FROM appData WHERE id = '?'",
- $this->iId);
+ $iId);
if($hResult && mysql_num_rows($hResult))
{
@@ -139,11 +139,12 @@ class downloadurl
while($oRow = mysql_fetch_object($hResult))
{
+ $oDownloadurl = new downloadurl($oRow->id);
+
/* Remove URL */
if($aValues["bRemove$oRow->id"])
{
- if(!query_parameters("DELETE FROM appData WHERE id = '?'",
- $oRow->id))
+ if(!$oDownloadurl->delete())
return FALSE;
$sWhatChangedRemove .= "Removed\nURL: $oRow->url\n".
@@ -155,10 +156,11 @@ class downloadurl
$aValues["sUrl$oRow->id"] != $oRow->url) &&
$aValues["sDescription$oRow->id"] && $aValues["sUrl$oRow->id"])
{
- if(!query_parameters("UPDATE appData SET description = '?',
- url = '?' WHERE id = '?'",
- $aValues["sDescription$oRow->id"],
- $aValues["sUrl$oRow->id"], $oRow->id))
+ $oDownloadurl->sDescription =
+ $aValues["sDescription$oRow->id"];
+ $oDownloadurl->sUrl = $aValues["sUrl$oRow->id"];
+
+ if(!$oDownloadurl->update())
return FALSE;
$sWhatChangedModify .= "Modified\nOld URL: $oRow->url\nOld ".
@@ -172,12 +174,12 @@ class downloadurl
/* Insert new URL */
if($aValues["sDescriptionNew"] && $aValues["sUrlNew"])
{
- if(!query_parameters("INSERT INTO appData (versionId, TYPE,
- description, url, submitterId, queued)
- VALUES('?', '?', '?', '?', '?', '?')",
- $aValues["iVersionId"], "downloadurl",
- $aValues["sDescriptionNew"], $aValues["sUrlNew"],
- $_SESSION["current"]->iUserId, "false"))
+ $oDownloadurl = new downloadurl();
+ $oDownloadurl->iVersionId = $aValues["iVersionId"];
+ $oDownloadurl->sUrl = $aValues["sUrlNew"];
+ $oDownloadurl->sDescription = $aValues["sDescriptionNew"];
+
+ if(!$oDownloadurl->create())
return FALSE;
$sWhatChanged = "Added\nURL: ".$aValues["sUrlNew"]."\nDescription: ".
@@ -206,12 +208,12 @@ class downloadurl
return TRUE;
}
- function canEdit($iVersionId)
+ function canEdit($iVersionId = NULL)
{
$oUser = new User($_SESSION['current']->iUserId);
- if($oUser->hasPriv("admin") || maintainer::isUserMaintainer($oUser,
- $iVersionId))
+ if($oUser->hasPriv("admin") || ($iVersionId &&
+ maintainer::isUserMaintainer($oUser, $iVersionId)))
{
return TRUE;
} else
@@ -219,6 +221,50 @@ class downloadurl
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;
+ }
}
?>
More information about the wine-cvs
mailing list