]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
Move user IP resolution into own class method
authorcweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>
Thu, 23 Sep 2010 07:34:47 +0000 (07:34 +0000)
committercweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>
Thu, 23 Sep 2010 07:34:47 +0000 (07:34 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@747 b3834d28-1941-0410-a4f8-b48e95affb8f

src/SemanticScuttle/Model/RemoteUser.php [new file with mode: 0644]
src/SemanticScuttle/Service/Bookmark.php

diff --git a/src/SemanticScuttle/Model/RemoteUser.php b/src/SemanticScuttle/Model/RemoteUser.php
new file mode 100644 (file)
index 0000000..6d48e3a
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+/**
+ * SemanticScuttle - your social bookmark manager.
+ *
+ * PHP version 5.
+ *
+ * @category Bookmarking
+ * @package  SemanticScuttle
+ * @author   Benjamin Huynh-Kim-Bang <mensonge@users.sourceforge.net>
+ * @author   Christian Weiske <cweiske@cweiske.de>
+ * @author   Eric Dane <ericdane@users.sourceforge.net>
+ * @license  GPL http://www.gnu.org/licenses/gpl.html
+ * @link     http://sourceforge.net/projects/semanticscuttle
+ */
+
+/**
+ * Remote User helper methods.
+ *
+ * @category Bookmarking
+ * @package  SemanticScuttle
+ * @author   Christian Weiske <cweiske@cweiske.de>
+ * @license  GPL http://www.gnu.org/licenses/gpl.html
+ * @link     http://sourceforge.net/projects/semanticscuttle
+ */
+class SemanticScuttle_Model_RemoteUser
+{
+    /**
+     * Returns the remote user's IP.
+     *
+     * @return string IP address. NULL if not found.
+     */
+    public static function getIp()
+    {
+        $ip = null;
+        if (getenv('REMOTE_ADDR')) {
+            $ip = getenv('REMOTE_ADDR');
+        } else if (getenv('HTTP_CLIENT_IP')) {
+            $ip = getenv('HTTP_CLIENT_IP');
+        } else if (getenv('HTTP_X_FORWARDED_FOR')) {
+            $ip = getenv('HTTP_X_FORWARDED_FOR');
+        }
+
+        return $ip;
+    }
+
+}
+
+?>
\ No newline at end of file
index d5a63a32e79bab2270b750f093250eea545c044a..4b51f3518fd261a5e70a0f27d03901ab1cfebcbe 100644 (file)
@@ -12,6 +12,7 @@
  * @license  GPL http://www.gnu.org/licenses/gpl.html
  * @link     http://sourceforge.net/projects/semanticscuttle
  */
+require_once 'SemanticScuttle/Model/RemoteUser.php';
 
 /**
  * SemanticScuttle bookmark service.
@@ -453,14 +454,6 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
 
         $address = $this->normalize($address);
 
-        if (getenv('HTTP_CLIENT_IP')) {
-            $ip = getenv('HTTP_CLIENT_IP');
-        } else if (getenv('REMOTE_ADDR')) {
-            $ip = getenv('REMOTE_ADDR');
-        } else {
-            $ip = getenv('HTTP_X_FORWARDED_FOR');
-        }
-
         /*
          * Note that if date is NULL, then it's added with a date and
          * time of now, and if it's present,
@@ -480,7 +473,7 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
         // Set up the SQL insert statement and execute it.
         $values = array(
             'uId'          => intval($sId),
-            'bIp'          => $ip,
+            'bIp'          => SemanticScuttle_Model_RemoteUser::getIp(),
             'bDatetime'    => $datetime,
             'bModified'    => $datetime,
             'bTitle'       => $title,
@@ -570,15 +563,7 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService
             return false;
         }
 
-        // Get the client's IP address and the date; note that the date is in GMT.
-        if (getenv('HTTP_CLIENT_IP'))
-        $ip = getenv('HTTP_CLIENT_IP');
-        else
-        if (getenv('REMOTE_ADDR'))
-        $ip = getenv('REMOTE_ADDR');
-        else
-        $ip = getenv('HTTP_X_FORWARDED_FOR');
-
+        // Get the the date; note that the date is in GMT.
         $moddatetime = gmdate('Y-m-d H:i:s', time());
 
         $address = $this->normalize($address);