summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>2010-03-18 19:24:21 +0000
committercweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>2010-03-18 19:24:21 +0000
commit602ec95bbb91400b6ef2647df55e83e68f4223b5 (patch)
tree57dd77de58d72d0eb2ef3af7ff4dd076191b2b4f
parent8c213f0e6e97351a64168aab18d69324a90e7b83 (diff)
downloadsemanticscuttle-602ec95bbb91400b6ef2647df55e83e68f4223b5.tar.gz
semanticscuttle-602ec95bbb91400b6ef2647df55e83e68f4223b5.tar.bz2
unify hashing code in a separate method
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@692 b3834d28-1941-0410-a4f8-b48e95affb8f
-rw-r--r--src/SemanticScuttle/Service/Bookmark.php65
-rw-r--r--www/bookmarks.php2
2 files changed, 42 insertions, 25 deletions
diff --git a/src/SemanticScuttle/Service/Bookmark.php b/src/SemanticScuttle/Service/Bookmark.php
index 3cdec72..2258625 100644
--- a/src/SemanticScuttle/Service/Bookmark.php
+++ b/src/SemanticScuttle/Service/Bookmark.php
@@ -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)
{
@@ -202,6 +202,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 .= ')';
diff --git a/www/bookmarks.php b/www/bookmarks.php
index 0c9bfa4..5241481 100644
--- a/www/bookmarks.php
+++ b/www/bookmarks.php
@@ -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();