remote_user can now support multiple contacts being logged in at once
This commit is contained in:
parent
a9deda1e5e
commit
4cd8233f61
13 changed files with 226 additions and 73 deletions
|
@ -101,13 +101,25 @@ function photos_post(&$a) {
|
|||
$can_post = true;
|
||||
else {
|
||||
if($community_page && remote_user()) {
|
||||
$r = q("SELECT `uid` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval(remote_user()),
|
||||
intval($page_owner_uid)
|
||||
);
|
||||
if(count($r)) {
|
||||
$can_post = true;
|
||||
$visitor = remote_user();
|
||||
$cid = 0;
|
||||
if(is_array($_SESSION['remote'])) {
|
||||
foreach($_SESSION['remote'] as $v) {
|
||||
if($v['uid'] == $page_owner_uid) {
|
||||
$cid = $v['cid'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if($cid) {
|
||||
|
||||
$r = q("SELECT `uid` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($cid),
|
||||
intval($page_owner_uid)
|
||||
);
|
||||
if(count($r)) {
|
||||
$can_post = true;
|
||||
$visitor = $cid;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -871,6 +883,7 @@ function photos_content(&$a) {
|
|||
$visitor = 0;
|
||||
$contact = null;
|
||||
$remote_contact = false;
|
||||
$contact_id = 0;
|
||||
|
||||
$owner_uid = $a->data['user']['uid'];
|
||||
|
||||
|
@ -880,15 +893,26 @@ function photos_content(&$a) {
|
|||
$can_post = true;
|
||||
else {
|
||||
if($community_page && remote_user()) {
|
||||
$r = q("SELECT `uid` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval(remote_user()),
|
||||
intval($owner_uid)
|
||||
);
|
||||
if(count($r)) {
|
||||
$can_post = true;
|
||||
$contact = $r[0];
|
||||
$remote_contact = true;
|
||||
$visitor = remote_user();
|
||||
if(is_array($_SESSION['remote'])) {
|
||||
foreach($_SESSION['remote'] as $v) {
|
||||
if($v['uid'] == $owner_uid) {
|
||||
$contact_id = $v['cid'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if($contact_id) {
|
||||
|
||||
$r = q("SELECT `uid` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($contact_id),
|
||||
intval($owner_uid)
|
||||
);
|
||||
if(count($r)) {
|
||||
$can_post = true;
|
||||
$contact = $r[0];
|
||||
$remote_contact = true;
|
||||
$visitor = $cid;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -896,15 +920,25 @@ function photos_content(&$a) {
|
|||
// perhaps they're visiting - but not a community page, so they wouldn't have write access
|
||||
|
||||
if(remote_user() && (! $visitor)) {
|
||||
$contact_id = $_SESSION['visitor_id'];
|
||||
$groups = init_groups_visitor($contact_id);
|
||||
$r = q("SELECT * FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval(remote_user()),
|
||||
intval($owner_uid)
|
||||
);
|
||||
if(count($r)) {
|
||||
$contact = $r[0];
|
||||
$remote_contact = true;
|
||||
$contact_id = 0;
|
||||
if(is_array($_SESSION['remote'])) {
|
||||
foreach($_SESSION['remote'] as $v) {
|
||||
if($v['uid'] == $owner_uid) {
|
||||
$contact_id = $v['cid'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if($contact_id) {
|
||||
$groups = init_groups_visitor($contact_id);
|
||||
$r = q("SELECT * FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($contact_id),
|
||||
intval($owner_uid)
|
||||
);
|
||||
if(count($r)) {
|
||||
$contact = $r[0];
|
||||
$remote_contact = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1422,7 +1456,7 @@ function photos_content(&$a) {
|
|||
|
||||
$drop = '';
|
||||
|
||||
if(($item['contact-id'] == remote_user()) || ($item['uid'] == local_user()))
|
||||
if(($item['contact-id'] == $contact_id) || ($item['uid'] == local_user()))
|
||||
$drop = replace_macros(get_markup_template('photo_drop.tpl'), array('$id' => $item['id'], '$delete' => t('Delete')));
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue