aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2007-02-22 16:20:11 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2007-02-22 16:20:11 +0000
commit97a8eb40139ddb299754a883508c9250ef544f36 (patch)
tree43ca2cbc3ebccdc2f8043e0c7f81acbd219efa13 /phpBB
parent87c3b60b179132e8e2d7b0b794b81f566d0558ad (diff)
downloadforums-97a8eb40139ddb299754a883508c9250ef544f36.tar
forums-97a8eb40139ddb299754a883508c9250ef544f36.tar.gz
forums-97a8eb40139ddb299754a883508c9250ef544f36.tar.bz2
forums-97a8eb40139ddb299754a883508c9250ef544f36.tar.xz
forums-97a8eb40139ddb299754a883508c9250ef544f36.zip
trying to fix two conversion issues
- anonymous user not entered correctly or entered with user id 0 (need to be tested) - ips not converted git-svn-id: file:///svn/phpbb/trunk@7034 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/functions_convert.php6
-rw-r--r--phpBB/includes/session.php35
-rw-r--r--phpBB/install/convertors/functions_phpbb20.php24
-rw-r--r--phpBB/viewtopic.php7
4 files changed, 59 insertions, 13 deletions
diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php
index 914311c2b8..5acaae113b 100644
--- a/phpBB/includes/functions_convert.php
+++ b/phpBB/includes/functions_convert.php
@@ -309,10 +309,10 @@ function decode_ip($int_ip)
$hexipbang = explode('.', chunk_split($int_ip, 2, '.'));
- // Any mod changing the way ips are stored? Then we are not able to convert.
- if (sizeof($hexipbang) != 4)
+ // Any mod changing the way ips are stored? Then we are not able to convert...
+ if (sizeof($hexipbang) < 4)
{
- return '';
+ return '127.0.0.1';
}
return hexdec($hexipbang[0]) . '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]);
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index 71e83fbd11..6033691637 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -1024,6 +1024,41 @@ class session
}
/**
+ * Check if URI is blacklisted
+ * This should be called only where absolutly necessary, for example on the submitted website field
+ * This function is not in use at the moment and is only included for testing purposes, it may not work at all!
+ * This means it is untested at the moment and therefore commented out
+ *
+ * @param string $uri URI to check
+ * @return true if uri is on blacklist, else false. Only blacklist is checked (~zero FP), no grey lists
+ function check_uribl($uri)
+ {
+ // Normally parse_url() is not intended to parse uris
+ // We need to get the top-level domain name anyway... change.
+ $uri = parse_url($uri);
+
+ if ($uri === false || empty($uri['host']))
+ {
+ return false;
+ }
+
+ $uri = trim($uri['host']);
+
+ if ($uri)
+ {
+ // One problem here... the return parameter for the "windows" method is different from what
+ // we expect... this may render this check useless...
+ if (phpbb_checkdnsrr($uri . '.multi.uribl.com.', 'A') === true)
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+ */
+
+ /**
* Set/Update a persistent login key
*
* This method creates or updates a persistent session key. When a user makes
diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php
index 8f6328a928..2c53e5ccd1 100644
--- a/phpBB/install/convertors/functions_phpbb20.php
+++ b/phpBB/install/convertors/functions_phpbb20.php
@@ -436,16 +436,6 @@ function phpbb_get_birthday($birthday = '')
*/
function phpbb_user_id($user_id)
{
- if (!$user_id)
- {
- return 0;
- }
-
- if ($user_id == -1)
- {
- return ANONYMOUS;
- }
-
global $config;
// Increment user id if the old forum is having a user with the id 1
@@ -484,6 +474,19 @@ function phpbb_user_id($user_id)
}
}
+ // If the old user id is -1 in 2.0.x it is the anonymous user...
+ if ($user_id == -1)
+ {
+ return ANONYMOUS;
+ }
+
+ // This should never ever happen - 2.0.x is not allowing a user id of 0
+ // But we return the anonymous user to be consistent and not breaking functionality
+ if (!$user_id)
+ {
+ return ANONYMOUS;
+ }
+
if (!empty($config['increment_user_id']))
{
$user_id++;
@@ -1125,6 +1128,7 @@ function phpbb_prepare_message($message)
$message = preg_replace('/\[quote="(.*?)"\]/s', '[quote=&quot;\1&quot;]', $message);
}
+ // Already the new user id ;)
$user_id = $convert->row['poster_id'];
$message = str_replace('<', '&lt;', $message);
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index 1c05af3d11..2898d56e72 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -1215,6 +1215,13 @@ $template->assign_vars(array(
$first_unread = $post_unread = false;
for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
{
+ // A non-existing rowset only happens if there was no user present for the entered poster_id
+ // This could be a broken posts table.
+ if (!isset($rowset[$post_list[$i]]))
+ {
+ continue;
+ }
+
$row =& $rowset[$post_list[$i]];
$poster_id = $row['user_id'];