mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-19 21:55:15 +00:00
some anomolies found when viewing connections in various cases.
This commit is contained in:
parent
b98ddc69de
commit
7baeb45183
5 changed files with 78 additions and 8 deletions
4
boot.php
4
boot.php
|
@ -1810,9 +1810,7 @@ function construct_page(&$a) {
|
|||
|
||||
if(! count($a->layout)) {
|
||||
$n = 'mod_' . $a->module . '.pdl' ;
|
||||
$u = get_theme_uid();
|
||||
if((! $u) && $a->profile_uid)
|
||||
$u = $a->profile_uid;
|
||||
$u = comanche_get_channel_id();
|
||||
if($u)
|
||||
$s = get_pconfig($u,'system',$n);
|
||||
if((! $s) && (($p = theme_include($n)) != ''))
|
||||
|
|
|
@ -665,8 +665,11 @@ function contact_block() {
|
|||
|
||||
if((! is_array($a->profile)) || ($a->profile['hide_friends']))
|
||||
return $o;
|
||||
$r = q("SELECT COUNT(abook_id) AS total FROM abook WHERE abook_channel = %d and abook_flags = 0",
|
||||
intval($a->profile['uid'])
|
||||
$r = q("SELECT COUNT(abook_id) AS total FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d and abook_flags = 0 and not (xchan_flags & %d) and not (xchan_flags & %d) and not (xchan_flags & %d)",
|
||||
intval($a->profile['uid']),
|
||||
intval(XCHAN_FLAGS_HIDDEN),
|
||||
intval(XCHAN_FLAGS_ORPHAN),
|
||||
intval(XCHAN_FLAGS_DELETED)
|
||||
);
|
||||
if(count($r)) {
|
||||
$total = intval($r[0]['total']);
|
||||
|
@ -677,8 +680,11 @@ function contact_block() {
|
|||
|
||||
} else {
|
||||
|
||||
$r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash WHERE abook_channel = %d AND abook_flags = 0 ORDER BY RAND() LIMIT %d",
|
||||
$r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash WHERE abook_channel = %d AND abook_flags = 0 and not (xchan_flags & %d ) and not (xchan_flags & %d ) and not (xchan_flags & %d ) ORDER BY RAND() LIMIT %d",
|
||||
intval($a->profile['uid']),
|
||||
intval(XCHAN_FLAGS_HIDDEN),
|
||||
intval(XCHAN_FLAGS_ORPHAN),
|
||||
intval(XCHAN_FLAGS_DELETED),
|
||||
intval($shown)
|
||||
);
|
||||
|
||||
|
|
|
@ -330,8 +330,15 @@ function zot_refresh($them,$channel = null, $force = false) {
|
|||
else
|
||||
$permissions = $j['permissions'];
|
||||
|
||||
$connected_set = false;
|
||||
|
||||
if($permissions && is_array($permissions)) {
|
||||
foreach($permissions as $k => $v) {
|
||||
// The connected permission means you are in their address book
|
||||
if($k === 'connected') {
|
||||
$connected_set = intval($v);
|
||||
continue;
|
||||
}
|
||||
if($v) {
|
||||
$their_perms = $their_perms | intval($global_perms[$k][1]);
|
||||
}
|
||||
|
@ -353,6 +360,20 @@ function zot_refresh($them,$channel = null, $force = false) {
|
|||
intval($channel['channel_id']),
|
||||
intval(ABOOK_FLAG_SELF)
|
||||
);
|
||||
if($connected_set === 0) {
|
||||
|
||||
// if they are in your address book but you aren't in theirs, mark their address book entry hidden.
|
||||
|
||||
$y1 = q("update abook set abook_flags = (abook_flags | %d)
|
||||
where abook_xchan = '%s' and abook_channel = %d
|
||||
and not (abook_flags & %d) limit 1",
|
||||
intval(ABOOK_FLAG_HIDDEN),
|
||||
dbesc($x['hash']),
|
||||
intval($channel['channel_id']),
|
||||
intval(ABOOK_FLAG_SELF)
|
||||
);
|
||||
}
|
||||
|
||||
if(! $y)
|
||||
logger('abook update failed');
|
||||
else {
|
||||
|
|
|
@ -176,10 +176,22 @@ function zfinger_init(&$a) {
|
|||
|
||||
$ret['follow_url'] = z_root() . '/follow?f=&url=%s';
|
||||
|
||||
$permissions = get_all_perms($e['channel_id'],(($ztarget && $zsig)
|
||||
$ztarget_hash = (($ztarget && $zsig)
|
||||
? base64url_encode(hash('whirlpool',$ztarget . $zsig,true))
|
||||
: '' ),false);
|
||||
: '' );
|
||||
|
||||
$permissions = get_all_perms($e['channel_id'],$ztarget_hash,false);
|
||||
|
||||
$permissions['connected'] = false;
|
||||
|
||||
if($ztarget_hash) {
|
||||
$b = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
|
||||
dbesc($ztarget_hash),
|
||||
intval($e['channel_id'])
|
||||
);
|
||||
if($b)
|
||||
$permissions['connected'] = true;
|
||||
}
|
||||
|
||||
$ret['permissions'] = (($ztarget && $zkey) ? aes_encapsulate(json_encode($permissions),$zkey) : $permissions);
|
||||
|
||||
|
|
33
view/css/mod_viewconnections.css
Normal file
33
view/css/mod_viewconnections.css
Normal file
|
@ -0,0 +1,33 @@
|
|||
|
||||
|
||||
.contact-entry-wrapper {
|
||||
float: left;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#contacts-search {
|
||||
font-size: 1em;
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
#contacts-search-end {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.contact-entry-photo-end {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.contact-entry-name {
|
||||
float: left;
|
||||
margin-left: 0px;
|
||||
margin-right: 10px;
|
||||
width: 120px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.contact-entry-end {
|
||||
clear: both;
|
||||
}
|
Loading…
Reference in a new issue