diff options
Diffstat (limited to 'include/text.php')
-rwxr-xr-x | include/text.php | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/include/text.php b/include/text.php index b1cf900b6..c0ab406e5 100755 --- a/include/text.php +++ b/include/text.php @@ -1138,11 +1138,29 @@ function zidify_callback($match) { return $x; } +function zidify_img_callback($match) { + if (feature_enabled(local_user(),'sendzid')) { + $replace = '<img' . $match[1] . ' src="' . zid($match[2]) . '"'; + } + else { + $replace = '<img' . $match[1] . ' src="' . zid($match[3]) . '"'; + } + + $x = str_replace($match[0],$replace,$match[0]); + return $x; +} + + function zidify_links($s) { - if (feature_enabled(local_user(),'sendzid')) { - $s = preg_replace_callback('/\<a(.*?)href\=\"(.*?)\"/ism','zidify_callback',$s);} + if(feature_enabled(local_user(),'sendzid')) { + $s = preg_replace_callback('/\<a(.*?)href\=\"(.*?)\"/ism','zidify_callback',$s); + $s = preg_replace_callback('/\<img(.*?)src\=\"(.*?)\"/ism','zidify_img_callback',$s); + } else { - $s = preg_replace_callback('/\<a(.*?)class\=\"zrl\"(.*?)href\=\"(.*?)\"/ism','zidify_callback',$s);} + $s = preg_replace_callback('/\<a(.*?)class\=\"zrl\"(.*?)href\=\"(.*?)\"/ism','zidify_callback',$s); + // FIXME zidify only img links from known Red servers. + $s = preg_replace_callback('/\<img(.*?)src\=\"(.*?)\"/ism','zidify_img_callback',$s); + } return $s; } |