aboutsummaryrefslogtreecommitdiffstats
path: root/include/network.php
diff options
context:
space:
mode:
authorZvi ben Yaakov (a.k.a rdc) <coderzvi@infosoc.net>2012-06-23 23:51:08 +0300
committerZvi ben Yaakov (a.k.a rdc) <coderzvi@infosoc.net>2012-06-23 23:51:08 +0300
commit00668aaa71336f48b141c443749a66c58a555503 (patch)
treebd8a9d029ddaebbd1d8385dfd522f689e5d3891c /include/network.php
parent5e3e3915e347e4c298498ce0a8c493b9cd03201b (diff)
parent381d0912672cda6575368d242565310a93e202d4 (diff)
downloadvolse-hubzilla-00668aaa71336f48b141c443749a66c58a555503.tar.gz
volse-hubzilla-00668aaa71336f48b141c443749a66c58a555503.tar.bz2
volse-hubzilla-00668aaa71336f48b141c443749a66c58a555503.zip
Merge git://github.com/friendica/friendica
Diffstat (limited to 'include/network.php')
-rw-r--r--include/network.php18
1 files changed, 15 insertions, 3 deletions
diff --git a/include/network.php b/include/network.php
index 446413cd8..c1a76000e 100644
--- a/include/network.php
+++ b/include/network.php
@@ -793,7 +793,7 @@ function add_fcontact($arr,$update = false) {
}
-function scale_external_images($s,$include_link = true) {
+function scale_external_images($s, $include_link = true, $scale_replace = false) {
$a = get_app();
@@ -803,10 +803,22 @@ function scale_external_images($s,$include_link = true) {
require_once('include/Photo.php');
foreach($matches as $mtch) {
logger('scale_external_image: ' . $mtch[1]);
+
$hostname = str_replace('www.','',substr($a->get_baseurl(),strpos($a->get_baseurl(),'://')+3));
if(stristr($mtch[1],$hostname))
continue;
- $i = fetch_url($mtch[1]);
+
+ // $scale_replace, if passed, is an array of two elements. The
+ // first is the name of the full-size image. The second is the
+ // name of a remote, scaled-down version of the full size image.
+ // This allows Friendica to display the smaller remote image if
+ // one exists, while still linking to the full-size image
+ if($scale_replace)
+ $scaled = str_replace($scale_replace[0], $scale_replace[1], $mtch[1]);
+ else
+ $scaled = $mtch[1];
+ $i = fetch_url($scaled);
+
// guess mimetype from headers or filename
$type = guess_image_type($mtch[1],true);
@@ -822,7 +834,7 @@ function scale_external_images($s,$include_link = true) {
$new_width = $ph->getWidth();
$new_height = $ph->getHeight();
logger('scale_external_images: ' . $orig_width . '->' . $new_width . 'w ' . $orig_height . '->' . $new_height . 'h' . ' match: ' . $mtch[0], LOGGER_DEBUG);
- $s = str_replace($mtch[0],'[img=' . $new_width . 'x' . $new_height. ']' . $mtch[1] . '[/img]'
+ $s = str_replace($mtch[0],'[img=' . $new_width . 'x' . $new_height. ']' . $scaled . '[/img]'
. "\n" . (($include_link)
? '[url=' . $mtch[1] . ']' . t('view full size') . '[/url]' . "\n"
: ''),$s);