aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-04-18 17:55:35 -0700
committerfriendica <info@friendica.com>2013-04-18 17:55:35 -0700
commitdb038c56542f7fb9658c3b7a703e50efe7823014 (patch)
treeb0f0af805f46209406ccfed3969718f5d414ed35
parentba1cb0bb059bfcd20ec2a14b70c4a79b4a222977 (diff)
downloadvolse-hubzilla-db038c56542f7fb9658c3b7a703e50efe7823014.tar.gz
volse-hubzilla-db038c56542f7fb9658c3b7a703e50efe7823014.tar.bz2
volse-hubzilla-db038c56542f7fb9658c3b7a703e50efe7823014.zip
turn naked links in posts into zrl's if we've got a hubloc for the site
-rw-r--r--include/bbcode.php1
-rwxr-xr-xinclude/items.php25
-rw-r--r--mod/item.php7
-rw-r--r--mod/post.php2
-rw-r--r--version.inc2
5 files changed, 34 insertions, 3 deletions
diff --git a/include/bbcode.php b/include/bbcode.php
index 44bde9acb..7a1e3a5e8 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -268,7 +268,6 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/$urlchars+)/ism", '$1<a href="$2" >$2</a>', $Text);
-// $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/$urlchars+)\{zid\}($urlchars*)/ism", '$1<a class="zrl" href="$2$3" >$2$3</a>', $Text);
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributes",$Text);
diff --git a/include/items.php b/include/items.php
index 954042b65..088aa11a1 100755
--- a/include/items.php
+++ b/include/items.php
@@ -54,6 +54,31 @@ function collect_recipients($item,&$private) {
}
/**
+ * @function red_zrl_callback
+ * preg_match function when fixing 'naked' links in mod item.php
+ * Check if we've got a hubloc for the site and use a zrl if we do, a url if we don't.
+ *
+ */
+
+
+function red_zrl_callback($matches) {
+ $m = @parse_url($matches[2]);
+ $zrl = false;
+ if($m['host']) {
+ $r = q("select hubloc_url from hubloc where hubloc_host = '%s' limit 1",
+ dbesc($m['host'])
+ );
+ if($r)
+ $zrl = true;
+ }
+ if($zrl)
+ return $matches[1] . '[zrl=' . $matches[2] . ']' . $matches[2] . '[/zrl]';
+ return $matches[0];
+}
+
+
+
+/**
* @function post_activity_item($arr)
*
* post an activity
diff --git a/mod/item.php b/mod/item.php
index a9b658441..814c2f0c6 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -321,6 +321,13 @@ function item_post(&$a) {
/**
+ * fix naked links by passing through a callback to see if this is a red site
+ * (already known to us) which will get a zrl, otherwise link with url
+ */
+
+ $body = preg_replace_callback("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]+)/ism", 'red_zrl_callback', $body);
+
+ /**
*
* When a photo was uploaded into the message using the (profile wall) ajax
* uploader, The permissions are initially set to disallow anybody but the
diff --git a/mod/post.php b/mod/post.php
index 5919ed2b4..5ec7eabca 100644
--- a/mod/post.php
+++ b/mod/post.php
@@ -1,4 +1,4 @@
-<?php
+<?php /** @file */
/**
* Zot endpoint
diff --git a/version.inc b/version.inc
index 94e7ff86f..b65edb8c7 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2013-04-17.286
+2013-04-18.287