aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/bbcode.php23
-rw-r--r--include/socgraph.php52
-rw-r--r--include/text.php2
3 files changed, 49 insertions, 28 deletions
diff --git a/include/bbcode.php b/include/bbcode.php
index 15b2ebb0a..a8e3bed70 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -11,6 +11,7 @@ function stripcode_br_cb($s) {
function tryoembed($match){
$url = ((count($match)==2)?$match[1]:$match[2]);
+ logger('tryoembed: $url');
$o = oembed_fetch_url($url);
@@ -180,22 +181,18 @@ function bbcode($Text,$preserve_nl = false) {
$Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<iframe src="$1" width="425" height="350"><a href="$1">$1</a></iframe>', $Text);
- /*if (get_pconfig(local_user(), 'oembed', 'use_for_youtube' )==1){
- // use oembed for youtube links
- $Text = preg_replace("/\[youtube\]/",'[embed]',$Text);
- $Text = preg_replace("/\[\/youtube\]/",'[/embed]',$Text);
- } else {*/
- // Youtube extensions
- $Text = preg_replace_callback("/\[youtube\](https?:\/\/www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
- $Text = preg_replace_callback("/\[youtube\](https?:\/\/youtu.be\/.*?)\[\/youtube\]/ism",'tryoembed',$Text);
+ // Youtube extensions
+ $Text = preg_replace_callback("/\[youtube\](https?:\/\/www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
+ $Text = preg_replace_callback("/\[youtube\](www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
+ $Text = preg_replace_callback("/\[youtube\](https?:\/\/youtu.be\/.*?)\[\/youtube\]/ism",'tryoembed',$Text);
- $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
- $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/embed\/(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
- $Text = preg_replace("/\[youtube\]https?:\/\/youtu.be\/(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
+ $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
+ $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/embed\/(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
+ $Text = preg_replace("/\[youtube\]https?:\/\/youtu.be\/(.*?)\[\/youtube\]/ism",'[youtube]$1[/youtube]',$Text);
- $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", '<iframe width="425" height="350" src="http://www.youtube.com/embed/$1" frameborder="0" ></iframe>', $Text);
- //}
+ $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", '<iframe width="425" height="350" src="http://www.youtube.com/embed/$1" frameborder="0" ></iframe>', $Text);
+
$Text = preg_replace_callback("/\[vimeo\](https?:\/\/player.vimeo.com\/video\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text);
$Text = preg_replace_callback("/\[vimeo\](https?:\/\/vimeo.com\/[0-9]+).*?\[\/vimeo\]/ism",'tryoembed',$Text);
diff --git a/include/socgraph.php b/include/socgraph.php
index 07dafe7f8..60bf075d3 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -40,17 +40,31 @@ function poco_load($cid,$uid = 0,$url = null) {
if(! $url)
return;
- logger('poco_load: ' . $url, LOGGER_DATA);
+ $url = $url . (($uid) ? '/@me/@all?fields=displayName,urls,photos' : '?fields=displayName,urls,photos') ;
- $s = fetch_url($url . '/@me/@all?fields=displayName,urls,photos');
+ logger('poco_load: ' . $url, LOGGER_DEBUG);
+
+ $s = fetch_url($url);
+
+ logger('poco_load: returns ' . $s, LOGGER_DATA);
+
+ logger('poco_load: return code: ' . $a->get_curl_code(), LOGGER_DEBUG);
if(($a->get_curl_code() > 299) || (! $s))
return;
+
+
$j = json_decode($s);
+
+ logger('poco_load: json: ' . print_r($j,true),LOGGER_DATA);
+
+ $total = 0;
foreach($j->entry as $entry) {
+ $total ++;
$profile_url = '';
$profile_photo = '';
+ $connect_url = '';
$name = '';
$name = $entry->displayName;
@@ -58,13 +72,18 @@ function poco_load($cid,$uid = 0,$url = null) {
foreach($entry->urls as $url) {
if($url->type == 'profile') {
$profile_url = $url->value;
- break;
+ continue;
}
+ if($url->type == 'webfinger') {
+ $connect_url = str_replace('acct:' , '', $url->value);
+ continue;
+ }
+
}
foreach($entry->photos as $photo) {
if($photo->type == 'profile') {
$profile_photo = $photo->value;
- break;
+ continue;
}
}
@@ -79,21 +98,23 @@ function poco_load($cid,$uid = 0,$url = null) {
$gcid = $x[0]['id'];
if($x[0]['name'] != $name || $x[0]['photo'] != $profile_photo) {
- q("update gcontact set `name` = '%s', `photo` = '%s' where
- `nurl` = '%s' limit 1",
+ q("update gcontact set `name` = '%s', `photo` = '%s', `connect` = '%s'
+ where `nurl` = '%s' limit 1",
dbesc($name),
dbesc($profile_photo),
+ dbesc($connect_url),
dbesc(normalise_link($profile_url))
);
}
}
else {
- q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`)
- values ( '%s', '%s', '%s', '%s') ",
+ q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`,`connect`)
+ values ( '%s', '%s', '%s', '%s','%s') ",
dbesc($name),
dbesc($profile_url),
dbesc(normalise_link($profile_url)),
- dbesc($profile_photo)
+ dbesc($profile_photo),
+ dbesc($connect_url)
);
$x = q("select * from `gcontact` where `nurl` = '%s' limit 1",
dbesc(normalise_link($profile_url))
@@ -127,6 +148,7 @@ function poco_load($cid,$uid = 0,$url = null) {
}
}
+ logger("poco_load: loaded $total entries",LOGGER_DEBUG);
q("delete from glink where `cid` = %d and `uid` = %d and `updated` < UTC_TIMESTAMP - INTERVAL 2 DAY",
intval($cid),
@@ -222,20 +244,22 @@ function suggestion_query($uid, $start = 0, $limit = 40) {
intval($limit)
);
- if(count($r))
+ if(count($r) && count($r) >= ($limit -1))
return $r;
- $r = q("SELECT gcontact.* from gcontact
+ $r2 = q("SELECT gcontact.* from gcontact
left join glink on glink.gcid = gcontact.id
- where uid = 0 and cid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d)
+ where glink.uid = 0 and glink.cid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d)
and not gcontact.id in ( select gcid from gcign where uid = %d )
- order by rand limit %d, %d ",
+ order by rand() limit %d, %d ",
+ intval($uid),
intval($uid),
intval($start),
intval($limit)
);
- return $r;
+
+ return array_merge($r,$r2);
}
diff --git a/include/text.php b/include/text.php
index 04d5dfced..d6b3ceeab 100644
--- a/include/text.php
+++ b/include/text.php
@@ -635,7 +635,7 @@ function search($s,$id='search-box',$url='/search',$save = false) {
if(! function_exists('valid_email')) {
function valid_email($x){
- if(preg_match('/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
+ if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
return true;
return false;
}}