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