]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
unify hashing code in a separate method
authorcweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>
Thu, 18 Mar 2010 19:24:21 +0000 (19:24 +0000)
committercweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>
Thu, 18 Mar 2010 19:24:21 +0000 (19:24 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@692 b3834d28-1941-0410-a4f8-b48e95affb8f

src/SemanticScuttle/Service/Bookmark.php
www/bookmarks.php

index 3cdec72da1405385a60a5aec93b7f4e2be7595d2..22586250ee9a99209aa0c820aba53df146a515ea 100644 (file)
@@ -178,9 +178,7 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
      */
     public function getBookmarkByAddress($address)
     {
-        $address = $this->normalize($address);
-        $hash    = md5($address);
-        return $this->getBookmarkByHash($hash);
+        return $this->getBookmarkByHash($this->getHash($address));
     }
 
 
@@ -189,10 +187,12 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
      * Retrieves a bookmark with the given hash.
      * DOES NOT RESPECT PRIVACY SETTINGS!
      *
-     * @param string $hash URL hash (MD5)
+     * @param string $hash URL hash
      *
      * @return mixed Array with bookmark data or false in case
      *               of an error (i.e. not found).
+     *
+     * @see getHash()
      */
     public function getBookmarkByHash($hash)
     {
@@ -201,6 +201,25 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
 
 
 
+    /**
+     * Returns the hash value of a given address.
+     *
+     * @param string  $address    URL to hash
+     * @param boolean $bNormalize If the address shall be normalized before
+     *                            being hashed
+     *
+     * @return string Hash value
+     */
+    public function getHash($address, $bNormalize = true)
+    {
+        if ($bNormalize) {
+            $address = $this->normalize($address);
+        }
+        return md5($address);
+    }
+
+
+
     /**
      * Retrieves a bookmark that has a given short
      * name.
@@ -319,9 +338,7 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
             return false;
         }
 
-        $address = $this->normalize($address);
-
-        $crit = array('bHash' => md5($address));
+        $crit = array('bHash' => $this->getHash($address));
         if (isset ($uid)) {
             $crit['uId'] = $uid;
         }
@@ -365,7 +382,7 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
         $hashes = array();
         $sql = '(1';
         foreach ($addresses as $key => $address) {
-            $hash = md5($this->normalize($address));
+            $hash = $this->getHash($address);
             $hashes[$hash] = $address;
             $sql .= ' OR bHash = "'
                 . $this->db->sql_escape($hash)
@@ -462,17 +479,17 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
 
         // Set up the SQL insert statement and execute it.
         $values = array(
-            'uId' => intval($sId),
-            'bIp' => $ip,
-            'bDatetime' => $datetime,
-            'bModified' => $datetime,
-            'bTitle' => $title,
-            'bAddress' => $address,
+            'uId'          => intval($sId),
+            'bIp'          => $ip,
+            'bDatetime'    => $datetime,
+            'bModified'    => $datetime,
+            'bTitle'       => $title,
+            'bAddress'     => $address,
             'bDescription' => $description,
             'bPrivateNote' => $privateNote,
-            'bStatus' => intval($status),
-            'bHash' => md5($address),
-            'bShort' => $short
+            'bStatus'      => intval($status),
+            'bHash'        => $this->getHash($address),
+            'bShort'       => $short
         );
 
         $sql = 'INSERT INTO '. $this->getTableName()
@@ -582,14 +599,14 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
 
         // Set up the SQL update statement and execute it.
         $updates = array(
-            'bModified' => $moddatetime,
-            'bTitle' => $title,
-            'bAddress' => $address,
+            'bModified'    => $moddatetime,
+            'bTitle'       => $title,
+            'bAddress'     => $address,
             'bDescription' => $description,
             'bPrivateNote' => $privateNote,
-            'bStatus' => $status,
-            'bHash' => md5($address),
-            'bShort' => $short
+            'bStatus'      => $status,
+            'bHash'        => $this->getHash($address, false),
+            'bShort'       => $short
         );
 
         if (!is_null($date)) {
@@ -1004,7 +1021,7 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
         $addressesSql = ' AND (0';
         foreach ((array)$addresses as $address) {
             $addressesSql .= ' OR B.bHash = "'
-                . $this->db->sql_escape(md5($address))
+                . $this->db->sql_escape($this->getHash($address))
                 . '"';
         }
         $addressesSql .= ')';
index 0c9bfa418466fc184e4457ad6fda6a665d1cb13c..5241481bffff976c3a80ac1cd5c27f1da61459ac 100644 (file)
@@ -167,7 +167,7 @@ if ($userservice->isLoggedOn() && POST_SUBMITTED != '') {
 if (GET_ACTION == "add") {
        // If the bookmark exists already, edit the original
        if ($bookmarkservice->bookmarkExists(stripslashes(GET_ADDRESS), $currentUserID)) {              
-               $bookmark =& $bookmarkservice->getBookmarks(0, NULL, $currentUserID, NULL, NULL, NULL, NULL, NULL, NULL, md5($bookmarkservice->normalize(stripslashes(GET_ADDRESS))));
+               $bookmark =& $bookmarkservice->getBookmarks(0, NULL, $currentUserID, NULL, NULL, NULL, NULL, NULL, NULL, $bookmarkservice->getHash(stripslashes(GET_ADDRESS)));
                $popup = (GET_POPUP!='') ? '?popup=1' : '';
                header('Location: '. createURL('edit', $bookmark['bookmarks'][0]['bId'] . $popup));
                exit();