diff --git a/include/bbcode.php b/include/bbcode.php index 8ee6a4ee0..e204e1cb4 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -171,7 +171,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { // Perform URL Search - $Text = preg_replace("/([^\]\=]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1$2', $Text); + $Text = preg_replace("/([^\]\=]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1$2', $Text); if ($tryoembed) $Text = preg_replace_callback("/\[bookmark\=([^\]]*)\].*?\[\/bookmark\]/ism",'tryoembed',$Text); @@ -181,8 +181,8 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) { if ($tryoembed) $Text = preg_replace_callback("/\[url\]([$URLSearchString]*)\[\/url\]/ism",'tryoembed',$Text); - $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '$1', $Text); - $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '$2', $Text); + $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '$1', $Text); + $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '$2', $Text); //$Text = preg_replace("/\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[\/url\]/ism", '$2', $Text); // Perform MAIL Search diff --git a/include/text.php b/include/text.php index c57d8a50a..eba0f5859 100644 --- a/include/text.php +++ b/include/text.php @@ -596,7 +596,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { if($textmode) { return '
' . "\r\n"; @@ -604,7 +604,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { else { return '' . "\r\n"; @@ -648,7 +648,7 @@ function valid_email($x){ if(! function_exists('linkify')) { function linkify($s) { - $s = preg_replace("/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\'\%\$\!\+]*)/", ' $1', $s); + $s = preg_replace("/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\'\%\$\!\+]*)/", ' $1', $s); $s = preg_replace("/\<(.*?)(src|href)=(.*?)\&\;(.*?)\>/ism",'<$1$2=$3&$4>',$s); return($s); }} @@ -940,7 +940,7 @@ function prepare_body($item,$attach = false) { else $the_url = $mtch[1]; - $s .= '' . $icon . ''; + $s .= '' . $icon . ''; } } } diff --git a/mod/zperms.php b/mod/zperms.php new file mode 100644 index 000000000..c15f4dccf --- /dev/null +++ b/mod/zperms.php @@ -0,0 +1,81 @@ + false); + + $zguid = ((x($_REQUEST,'guid')) ? $_REQUEST['guid'] : ''); + $zaddr = ((x($_REQUEST,'address')) ? $_REQUEST['address'] : ''); + $ztarget = ((x($_REQUEST,'target')) ? $_REQUEST['target'] : ''); + + $r = null; + + if(strlen($zguid)) { + $r = q("select * from entity where entity_global_id = '%s' limit 1", + dbesc($zguid) + ); + } + elseif(strlen($zaddr)) { + $r = q("select * from entity where entity_address = '%s' limit 1", + dbesc($zaddr) + ); + } + else { + $ret['message'] = 'Invalid request'; + json_return_and_die($ret); + } + + if(! ($r && count($r))) { + $ret['message'] = 'Item not found.'; + json_return_and_die($ret); + } + + + $e = $r[0]; + + $id = $e['entity_id']; + $r = q("select contact.*, profile.* + from contact left join profile on contact.uid = profile.uid + where contact.uid = %d && contact.self = 1 and profile.is_default = 1 limit 1", + intval($id) + ); + if($r && count($r)) { + $profile = $r[0]; + } + + + $ret['success'] = true; + + // Communication details + + $ret['guid'] = $e['entity_global_id']; + $ret['guid_sig'] = base64url_encode(rsa_sign($e['entity_global_id'],$e['entity_prvkey'])); + $ret['key'] = $e['entity_pubkey']; + $ret['name'] = $e['entity_name']; + $ret['address'] = $e['entity_address']; + + $ret['profile'] = $profile; + + // array of (verified) hubs this entity uses + + $ret['hubs'] = array(); + $x = zot_get_hubloc(array($e['entity_global_id'])); + if($x && count($x)) { + foreach($x as $hub) { + if(! ($hub['hubloc_flags'] & HUBLOC_FLAGS_UNVERIFIED)) { + $ret['hubs'][] = array( + 'primary' => (($hub['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) ? true : false), + 'url' => $hub['hubloc_url'], + 'url_sig' => base64url_encode(rsa_sign($hub['hubloc_url'],$e['entity_prvkey'])), + 'callback' => $hub['hubloc_callback'], + 'sitekey' => $hub['hubloc_sitekey'] + ); + } + } + } + + json_return_and_die($ret); + +} \ No newline at end of file diff --git a/view/theme/comix-plain/search_item.tpl b/view/theme/comix-plain/search_item.tpl index 828e1065b..695ac296d 100644 --- a/view/theme/comix-plain/search_item.tpl +++ b/view/theme/comix-plain/search_item.tpl @@ -4,7 +4,7 @@