Fix allow_cid variable type in mod/network

- Improve SQL query for network contacts
- Add missing query statement closure
- Addresses https://github.com/friendica/friendica/issues/6337#issuecomment-467111446
This commit is contained in:
Hypolite Petovan 2019-03-02 09:28:37 -05:00
parent b01efc3ada
commit 748a0ca21b

View file

@ -539,20 +539,28 @@ function networkThreadedView(App $a, $update, $parent)
$order = Strings::escapeTags(defaults($_GET, 'order', 'comment'));
$nets = defaults($_GET, 'nets' , '');
$allowedCids = [];
if ($cid) {
$default_permissions['allow_cid'] = [(int) $cid];
$allowedCids[] = (int) $cid;
} elseif ($nets) {
$condition = [
'uid' => local_user(),
'network' => $nets,
'self' => false,
'blocked' => false,
'pending' => false,
'archive' => false,
'rel' => [Contact::SHARING, Contact::FRIEND],
];
$contactStmt = DBA::select('contact', ['id'], $condition);
while ($contact = DBA::fetch($contactStmt)) {
$allowedCids[] = (int) $contact['id'];
}
DBA::close($contactStmt);
}
if ($nets) {
$r = DBA::select('contact', ['id'], ['uid' => local_user(), 'network' => $nets], ['self' => false]);
$str = [];
while ($rr = DBA::fetch($r)) {
$str[] = (int) $rr['id'];
}
if (strlen($str)) {
$default_permissions['allow_cid'] = $str;
}
if (count($allowedCids)) {
$default_permissions['allow_cid'] = $allowedCids;
}
if (!$update && !$rawmode) {