Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
2b6498b2a2
143 changed files with 7833 additions and 5088 deletions
|
@ -168,23 +168,4 @@ else {
|
|||
}
|
||||
}
|
||||
|
||||
// Returns an array of group id's this contact is a member of.
|
||||
// This array will only contain group id's related to the uid of this
|
||||
// DFRN contact. They are *not* neccessarily unique across the entire site.
|
||||
|
||||
|
||||
if(! function_exists('init_groups_visitor')) {
|
||||
function init_groups_visitor($contact_id) {
|
||||
$groups = array();
|
||||
$r = q("SELECT `gid` FROM `group_member`
|
||||
WHERE `contact-id` = %d ",
|
||||
intval($contact_id)
|
||||
);
|
||||
if(count($r)) {
|
||||
foreach($r as $rr)
|
||||
$groups[] = $rr['gid'];
|
||||
}
|
||||
return $groups;
|
||||
}}
|
||||
|
||||
|
||||
|
|
|
@ -413,6 +413,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
|
|||
|
||||
if(!$update) {
|
||||
$tab = notags(trim($_GET['tab']));
|
||||
$tab = ( $tab ? $tab : 'posts' );
|
||||
if($tab === 'posts') {
|
||||
// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
|
||||
// because browser prefetching might change it on us. We have to deliver it with the page.
|
||||
|
@ -435,7 +436,11 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
|
|||
else if($mode === 'display') {
|
||||
$profile_owner = $a->profile['uid'];
|
||||
$page_writeable = can_write_wall($a,$profile_owner);
|
||||
$live_update_div = '<div id="live-display"></div>' . "\r\n";
|
||||
if(!$update) {
|
||||
$live_update_div = '<div id="live-display"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = " . $_SESSION['uid'] . ";"
|
||||
. " var profile_page = 1; </script>";
|
||||
}
|
||||
}
|
||||
else if($mode === 'community') {
|
||||
$profile_owner = 0;
|
||||
|
@ -895,7 +900,8 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
|
|||
'$audurl' => t("Please enter an audio link/URL:"),
|
||||
'$term' => t('Tag term:'),
|
||||
'$fileas' => t('Save to Folder:'),
|
||||
'$whereareu' => t('Where are you right now?')
|
||||
'$whereareu' => t('Where are you right now?'),
|
||||
'$delitems' => t('Delete item(s)?')
|
||||
));
|
||||
|
||||
|
||||
|
@ -992,7 +998,8 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
|
|||
'$profile_uid' => $x['profile_uid'],
|
||||
'$preview' => t('Preview'),
|
||||
'$sourceapp' => t($a->sourcename),
|
||||
'$cancel' => t('Cancel')
|
||||
'$cancel' => t('Cancel'),
|
||||
'$rand_num' => random_digits(12)
|
||||
));
|
||||
|
||||
|
||||
|
@ -1007,9 +1014,10 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
|
|||
|
||||
function get_item_children($arr, $parent) {
|
||||
$children = array();
|
||||
$a = get_app();
|
||||
foreach($arr as $item) {
|
||||
if($item['id'] != $item['parent']) {
|
||||
if(get_config('system','thread_allow')) {
|
||||
if(get_config('system','thread_allow') && $a->theme_thread_allow) {
|
||||
// Fallback to parent-uri if thr-parent is not set
|
||||
$thr_parent = $item['thr-parent'];
|
||||
if($thr_parent == '')
|
||||
|
|
|
@ -76,6 +76,7 @@ function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0)
|
|||
killme();
|
||||
|
||||
$contact = $r[0];
|
||||
require_once('include/security.php');
|
||||
$groups = init_groups_visitor($contact['id']);
|
||||
|
||||
if(count($groups)) {
|
||||
|
@ -3906,10 +3907,10 @@ function drop_item($id,$interactive = true) {
|
|||
|
||||
// send the notification upstream/downstream as the case may be
|
||||
|
||||
proc_run('php',"include/notifier.php","drop","$drop_id");
|
||||
|
||||
if(! $interactive)
|
||||
return $owner;
|
||||
|
||||
proc_run('php',"include/notifier.php","drop","$drop_id");
|
||||
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
//NOTREACHED
|
||||
}
|
||||
|
|
|
@ -292,7 +292,12 @@ function onepoll_run($argv, $argc){
|
|||
logger("Mail: Parsing ".count($msgs)." mails for ".$mailconf[0]['user'], LOGGER_DEBUG);
|
||||
|
||||
$metas = email_msg_meta($mbox,implode(',',$msgs));
|
||||
if(count($metas) != count($msgs)) {
|
||||
logger("onepoll: for " . $mailconf[0]['user'] . " there are ". count($msgs) . " messages but received " . count($metas) . " metas", LOGGER_DEBUG);
|
||||
break;
|
||||
}
|
||||
$msgs = array_combine($msgs, $metas);
|
||||
|
||||
foreach($msgs as $msg_uid => $meta) {
|
||||
logger("Mail: Parsing mail ".$msg_uid, LOGGER_DATA);
|
||||
|
||||
|
@ -309,7 +314,7 @@ function onepoll_run($argv, $argc){
|
|||
);
|
||||
|
||||
if(count($r)) {
|
||||
logger("Mail: Seen before ".$msg_uid." for ".$mailconf[0]['user']);
|
||||
logger("Mail: Seen before ".$msg_uid." for ".$mailconf[0]['user'],LOGGER_DEBUG);
|
||||
if($meta->deleted && ! $r[0]['deleted']) {
|
||||
q("UPDATE `item` SET `deleted` = 1, `changed` = '%s' WHERE `id` = %d LIMIT 1",
|
||||
dbesc(datetime_convert()),
|
||||
|
|
|
@ -7,20 +7,37 @@ function auto_redir(&$a, $contact_nick) {
|
|||
|
||||
if(local_user()) {
|
||||
|
||||
$r = q("SELECT id FROM contact WHERE uid = ( SELECT uid FROM user WHERE nickname = '%s' LIMIT 1 ) AND nick = '%s' AND network = '%s' and self = 0 LIMIT 1",
|
||||
// We need to find out if $contact_nick is a user on this hub, and if so, if I
|
||||
// am a contact of that user. However, that user may have other contacts with the
|
||||
// same nickname as me on other hubs or other networks. Exclude these by requiring
|
||||
// that the contact have a local URL. I will be the only person with my nickname at
|
||||
// this URL, so if a result is found, then I am a contact of the $contact_nick user.
|
||||
//
|
||||
// We also have to make sure that I'm a legitimate contact--I'm not blocked or pending.
|
||||
|
||||
$baseurl = $a->get_baseurl();
|
||||
$domain_st = strpos($baseurl, "://");
|
||||
if($domain_st === false)
|
||||
return;
|
||||
$baseurl = substr($baseurl, $domain_st + 3);
|
||||
|
||||
$r = q("SELECT id FROM contact WHERE uid = ( SELECT uid FROM user WHERE nickname = '%s' LIMIT 1 )
|
||||
AND nick = '%s' AND self = 0 AND url LIKE '%%%s%%' AND blocked = 0 AND pending = 0 LIMIT 1",
|
||||
dbesc($contact_nick),
|
||||
dbesc($a->user['nickname']),
|
||||
dbesc(NETWORK_DFRN)
|
||||
dbesc($baseurl)
|
||||
);
|
||||
|
||||
if((!$r) || (! count($r)) || $r[0]['id'] == remote_user())
|
||||
return;
|
||||
|
||||
|
||||
$r = q("SELECT * FROM contact WHERE nick = '%s' AND network = '%s' AND uid = %d LIMIT 1",
|
||||
$r = q("SELECT * FROM contact WHERE nick = '%s'
|
||||
AND network = '%s' AND uid = %d AND url LIKE '%%%s%%' LIMIT 1",
|
||||
dbesc($contact_nick),
|
||||
dbesc(NETWORK_DFRN),
|
||||
intval(local_user())
|
||||
intval(local_user()),
|
||||
dbesc($baseurl)
|
||||
);
|
||||
|
||||
if(! ($r && count($r)))
|
||||
|
@ -52,7 +69,7 @@ function auto_redir(&$a, $contact_nick) {
|
|||
|
||||
$url = curPageURL();
|
||||
|
||||
logger('check_redir: ' . $r[0]['name'] . ' ' . $sec, LOGGER_DEBUG);
|
||||
logger('auto_redir: ' . $r[0]['name'] . ' ' . $sec, LOGGER_DEBUG);
|
||||
$dest = (($url) ? '&destination_url=' . $url : '');
|
||||
goaway ($r[0]['poll'] . '?dfrn_id=' . $dfrn_id
|
||||
. '&dfrn_version=' . DFRN_PROTOCOL_VERSION . '&type=profile&sec=' . $sec . $dest );
|
||||
|
|
|
@ -371,3 +371,23 @@ function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'f
|
|||
killme();
|
||||
}
|
||||
}
|
||||
|
||||
// Returns an array of group id's this contact is a member of.
|
||||
// This array will only contain group id's related to the uid of this
|
||||
// DFRN contact. They are *not* neccessarily unique across the entire site.
|
||||
|
||||
|
||||
if(! function_exists('init_groups_visitor')) {
|
||||
function init_groups_visitor($contact_id) {
|
||||
$groups = array();
|
||||
$r = q("SELECT `gid` FROM `group_member`
|
||||
WHERE `contact-id` = %d ",
|
||||
intval($contact_id)
|
||||
);
|
||||
if(count($r)) {
|
||||
foreach($r as $rr)
|
||||
$groups[] = $rr['gid'];
|
||||
}
|
||||
return $groups;
|
||||
}}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue