Alexander Nicolaysen Sørnes : maintainer : Avoid duplicate maintainers when merging apps/versions

Alexander Nicolaysen Sørnes asornes at winehq.org
Thu Nov 12 17:18:41 CST 2009


Module: appdb
Branch: master
Commit: 28b14f7beac05a1a632560c73160e22538313d3a
URL:    http://source.winehq.org/git/appdb.git/?a=commit;h=28b14f7beac05a1a632560c73160e22538313d3a

Author: Alexander Nicolaysen Sørnes <alexander at linux-xqqm.(none)>
Date:   Thu Nov 12 18:15:38 2009 +0100

maintainer: Avoid duplicate maintainers when merging apps/versions

---

 include/maintainer.php |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/include/maintainer.php b/include/maintainer.php
index 3741264..5ca2751 100644
--- a/include/maintainer.php
+++ b/include/maintainer.php
@@ -1002,10 +1002,27 @@ class maintainer
         return array();
     }
 
+    public function isDuplicate()
+    {
+        $hResult = query_parameters("SELECT COUNT(maintainerId) as count FROM appMaintainers
+                                    WHERE versionId = '?' and appId = '?' AND userId = '?' AND maintainerId != '?'",
+                                    $this->iVersionId, $this->iAppId, $this->iUserId, $this->iMaintainerId);
+
+        if(!$hResult)
+            return false;
+
+        $oRow = mysql_fetch_object($hResult);
+
+        return $oRow->count > 0;
+    }
+
     public function update()
     {
         $oMaintainer = new maintainer($this->iMaintainerId);
 
+        if($this->isDuplicate())
+            return $this->delete();
+
         if($this->iVersionId && $oMaintainer->iVersionId != $this->iVersionId)
         {
             $hResult = query_parameters("UPDATE appMaintainers SET versionId = '?' 




More information about the wine-cvs mailing list