appdb/include application.php url.php

WineHQ wineowner at wine.codeweavers.com
Sun Jun 10 18:58:11 CDT 2007


ChangeSet ID:	31177
CVSROOT:	/opt/cvs-commit
Module name:	appdb
Changes by:	wineowner at winehq.org	2007/06/10 18:58:11

Modified files:
	include        : application.php url.php 

Log message:
	Chris Morgan <cmorgan at alum.wpi.edu>
	Prepend "http://" in front of urls that lack "://". Most urls tend to be websites and adding
	http:// where it is missing fixes a bunch of urls in the database

Patch: http://cvs.winehq.org/patch.py?id=31177

Old revision  New revision  Changes     Path
 1.112         1.113         +3 -1       appdb/include/application.php
 1.17          1.18          +42 -18     appdb/include/url.php

Index: appdb/include/application.php
diff -u -p appdb/include/application.php:1.112 appdb/include/application.php:1.113
--- appdb/include/application.php:1.112	10 Jun 2007 23:58:11 -0000
+++ appdb/include/application.php	10 Jun 2007 23:58:11 -0000
@@ -70,7 +70,9 @@ class Application {
             $this->sName = $oRow->appName;
             $this->sKeywords = $oRow->keywords;
             $this->sDescription = $oRow->description;
-            $this->sWebpage = $oRow->webPage;
+            //TODO: we should move the url to the appData table
+            // and return an id into the appData table here
+            $this->sWebpage = Url::normalize($oRow->webPage);
             $this->sQueued = $oRow->queued;
         }
 
Index: appdb/include/url.php
diff -u -p appdb/include/url.php:1.17 appdb/include/url.php:1.18
--- appdb/include/url.php:1.17	10 Jun 2007 23:58:11 -0000
+++ appdb/include/url.php	10 Jun 2007 23:58:11 -0000
@@ -21,27 +21,32 @@ class Url {
     /**    
      * Constructor, fetches the url $iUrlId is given.
      */
-    function Url($iUrlId = null)
+    function Url($iUrlId = null, $oRow = null)
     {
-        // we are working on an existing url
-        if($iUrlId)
+        if(!$iUrlId && !$oRow)
+            return;
+
+        if(!$oRow)
         {
             $sQuery = "SELECT appData.*
                        FROM appData
                        WHERE type = 'url'
                        AND id = '?'";
-            if($hResult = query_parameters($sQuery, $iUrlId))
-            {
-                $oRow = mysql_fetch_object($hResult);
-                $this->iUrlId = $iUrlId;
-                $this->sDescription = $oRow->description;
-                $this->iAppId = $oRow->appId;
-                $this->iVersionId = $oRow->versionId;
-                $this->sUrl = $oRow->url;
-                $this->bQueued = $oRow->queued;
-                $this->sSubmitTime = $oRow->submitTime;
-                $this->iSubmitterId = $oRow->submitterId;
-           }
+            $hResult = query_parameters($sQuery, $iUrlId);
+            $oRow = mysql_fetch_object($hResult);
+        }
+
+        // we are working on an existing url
+        if($oRow)
+        {
+            $this->iUrlId = $iUrlId;
+            $this->sDescription = $oRow->description;
+            $this->iAppId = $oRow->appId;
+            $this->iVersionId = $oRow->versionId;
+            $this->sUrl = Url::normalize($oRow->url);
+            $this->bQueued = $oRow->queued;
+            $this->sSubmitTime = $oRow->submitTime;
+            $this->iSubmitterId = $oRow->submitterId;
         }
     }
  
@@ -423,8 +428,7 @@ class Url {
         if($aValues["iVersionId"])
             $sEmail = User::get_notify_email_address_list($aValues['iVersionId']);
         else
-            $sEmail = User::get_notify_email_address_list($aValues['iAppId'])
-;
+            $sEmail = User::get_notify_email_address_list($aValues['iAppId']);
         if($sWhatChanged && $sEmail)
         {
             $oApp = new Application($aValues["iAppId"]);
@@ -482,13 +486,33 @@ class Url {
 
         for($i = 0; $oRow = mysql_fetch_object($hResult); $i++)
         {
+            // create a url object
+            $oUrl = new Url(null, $oRow);
+
             $sReturn .= html_tr(array(
                 "<b>Link</b>",
-                "<a href=\"$oRow->url\">$oRow->description</a>"),
+                "<a href=\"$oUrl->sUrl\">$oUrl->sDescription</a>"),
                 "color1");
         }
 
         return $sReturn;
     }
+
+    // if a url lacks "://" assume the url is an http one
+    // and prepend "http://"
+    function normalize($sTheUrl)
+    {
+        // if we already have "://" in the url
+        // we can leave the url alone
+        if(strpos($sTheUrl, "://") === false)
+        {
+            // assume this is a website and prepend "http://"
+            return "http://".$sTheUrl;
+        } else
+        {
+            // leave the url alone
+            return $sTheUrl;
+        }
+    }
 }
 ?>



More information about the wine-cvs mailing list