diff options
author | friendica <info@friendica.com> | 2012-05-26 23:46:42 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-05-26 23:46:42 -0700 |
commit | 08941d42856984a3076e972804ac016400341f91 (patch) | |
tree | 16d410c7c39d3ea2e7716b25bcf7e1cda944c79d /include | |
parent | 5a7363b248e51b93c401a84d1b99f33632c44711 (diff) | |
download | volse-hubzilla-08941d42856984a3076e972804ac016400341f91.tar.gz volse-hubzilla-08941d42856984a3076e972804ac016400341f91.tar.bz2 volse-hubzilla-08941d42856984a3076e972804ac016400341f91.zip |
handle multiple underscores in D* links
Diffstat (limited to 'include')
-rw-r--r-- | include/auth.php | 2 | ||||
-rw-r--r-- | include/bb2diaspora.php | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/auth.php b/include/auth.php index b87662fea..cba6a67a7 100644 --- a/include/auth.php +++ b/include/auth.php @@ -53,6 +53,8 @@ if((isset($_SESSION)) && (x($_SESSION,'authenticated')) && ((! (x($_POST,'auth-p $check = get_config('system','paranoia'); // extra paranoia - if the IP changed, log them out if($check && ($_SESSION['addr'] != $_SERVER['REMOTE_ADDR'])) { + logger('Session address changed. Paranoid setting in effect, blocking session. ' + . $_SESSION['addr'] . ' != ' . $_SERVER['REMOTE_ADDR']); nuke_session(); goaway(z_root()); } diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php index 8487f845a..d86ba4543 100644 --- a/include/bb2diaspora.php +++ b/include/bb2diaspora.php @@ -221,13 +221,18 @@ function bb2diaspora($Text,$preserve_nl = false) { $Text = preg_replace("/\<(.*?)(src|href)=(.*?)\&\;(.*?)\>/ism",'<$1$2=$3&$4>',$Text); - $Text = preg_replace('/\[(.*?)\]\((.*?)\\\\_(.*?)\)/ism','[$1]($2_$3)',$Text); + $Text = preg_replace_callback('/\[(.*?)\]\((.*?)\)/ism','unescape_underscores_in_links',$Text); call_hooks('bb2diaspora',$Text); return $Text; } +function unescape_underscores_in_links($m) { + $y = str_replace('\\_','_', $m[2]); + return('[' . $m[1] . '](' . $y . ')'); +} + function format_event_diaspora($ev) { $a = get_app(); |