This commit is contained in:
Andrew Manning 2018-05-18 13:07:24 -04:00
commit 40d99c1716
5 changed files with 30 additions and 12 deletions

View File

@ -55,10 +55,10 @@ class Linkinfo extends \Zotlabs\Web\Controller {
$h = explode("\n",$result['header']); $h = explode("\n",$result['header']);
foreach ($h as $l) { foreach ($h as $l) {
list($k,$v) = array_map("trim", explode(":", trim($l), 2)); list($k,$v) = array_map("trim", explode(":", trim($l), 2));
$hdrs[$k] = $v; $hdrs[strtolower($k)] = $v;
} }
if (array_key_exists('Content-Type', $hdrs)) if (array_key_exists('content-type', $hdrs))
$type = $hdrs['Content-Type']; $type = $hdrs['content-type'];
if($type) { if($type) {
$zrl = is_matrix_url($url); $zrl = is_matrix_url($url);
if(stripos($type,'image/') !== false) { if(stripos($type,'image/') !== false) {

View File

@ -4,6 +4,7 @@ namespace Zotlabs\Module;
require_once('include/security.php'); require_once('include/security.php');
require_once('include/attach.php'); require_once('include/attach.php');
require_once('include/photo/photo_driver.php'); require_once('include/photo/photo_driver.php');
require_once('include/photos.php');
class Photo extends \Zotlabs\Web\Controller { class Photo extends \Zotlabs\Web\Controller {
@ -83,7 +84,7 @@ class Photo extends \Zotlabs\Web\Controller {
$data = file_get_contents($data); $data = file_get_contents($data);
} }
if(! $data) { if(! $data) {
$data = file_get_contents($default); $data = fetch_image_from_url($default,$mimetype);
} }
if(! $mimetype) { if(! $mimetype) {
$mimetype = 'image/png'; $mimetype = 'image/png';
@ -183,16 +184,13 @@ class Photo extends \Zotlabs\Web\Controller {
switch($resolution) { switch($resolution) {
case 4: case 4:
$data = file_get_contents(z_root() . '/' . get_default_profile_photo()); $data = fetch_image_from_url(z_root() . '/' . get_default_profile_photo(),$mimetype);
$mimetype = 'image/png';
break; break;
case 5: case 5:
$data = file_get_contents(z_root() . '/' . get_default_profile_photo(80)); $data = fetch_image_from_url(z_root() . '/' . get_default_profile_photo(80),$mimetype);
$mimetype = 'image/png';
break; break;
case 6: case 6:
$data = file_get_contents(z_root() . '/' . get_default_profile_photo(48)); $data = fetch_image_from_url(z_root() . '/' . get_default_profile_photo(48),$mimetype);
$mimetype = 'image/png';
break; break;
default: default:
killme(); killme();

View File

@ -261,6 +261,7 @@ function can_comment_on_post($observer_xchan, $item) {
return true; return true;
break; break;
case 'public': case 'public':
case 'authenticated':
// We don't really allow or support public comments yet, but anonymous // We don't really allow or support public comments yet, but anonymous
// folks won't ever reach this point (as $observer_xchan will be empty). // folks won't ever reach this point (as $observer_xchan will be empty).
// This means the viewer has an xchan and we can identify them. // This means the viewer has an xchan and we can identify them.
@ -268,7 +269,6 @@ function can_comment_on_post($observer_xchan, $item) {
break; break;
case 'any connections': case 'any connections':
case 'contacts': case 'contacts':
case 'authenticated':
case '': case '':
if(array_key_exists('owner',$item) && get_abconfig($item['uid'],$item['owner']['abook_xchan'],'their_perms','post_comments')) { if(array_key_exists('owner',$item) && get_abconfig($item['uid'],$item['owner']['abook_xchan'],'their_perms','post_comments')) {
return true; return true;

View File

@ -1011,3 +1011,23 @@ function profile_photo_set_profile_perms($uid, $profileid = 0) {
} }
} }
} }
function fetch_image_from_url($url,&$mimetype) {
$redirects = 0;
$x = z_fetch_url($url,true,$redirects,[ 'novalidate' => true ]);
if($x['success']) {
$hdrs = [];
$h = explode("\n",$x['header']);
foreach ($h as $l) {
list($k,$v) = array_map("trim", explode(":", trim($l), 2));
$hdrs[strtolower($k)] = $v;
}
if (array_key_exists('content-type', $hdrs))
$mimetype = $hdrs['content-type'];
return $x['body'];
}
return EMPTY_STR;
}

View File

@ -40,7 +40,7 @@ function contact_format(item) {
var desc = ((item.label) ? item.nick + ' ' + item.label : item.nick); var desc = ((item.label) ? item.nick + ' ' + item.label : item.nick);
if(typeof desc === 'undefined') desc = ''; if(typeof desc === 'undefined') desc = '';
if(desc) desc = ' ('+desc+')'; if(desc) desc = ' ('+desc+')';
return "<div class='{0} dropdown-item dropdown-notification clearfix' title='{4}'><img class='menu-img-2' src='{1}'><span class='contactname'>{2}</span><span class='dropdown-sub-text'>{3}</span></div>".format(item.taggable, item.photo, item.name, desc, typeof(item.link) !== 'undefined' ? item.link : desc.replace('(','').replace(')','')); return "<div class='{0} dropdown-item dropdown-notification clearfix' title='{4}'><img class='menu-img-2' src='{1}'><span class='contactname'>{2}</span><span class='dropdown-sub-text'>{4}</span></div>".format(item.taggable, item.photo, item.name, desc, typeof(item.link) !== 'undefined' ? item.link : desc.replace('(','').replace(')',''));
} }
else else
return "<div>" + item.text + "</div>"; return "<div>" + item.text + "</div>";