Merge remote-tracking branch 'remotes/friendica/master' into moveme
This commit is contained in:
commit
5b4944fe8e
126 changed files with 1348 additions and 1249 deletions
|
@ -22,7 +22,8 @@ function user_remove($uid) {
|
|||
$r[0]['nickname']
|
||||
);
|
||||
|
||||
q("DELETE FROM `contact` WHERE `uid` = %d", intval($uid));
|
||||
// don't delete yet, will be done later when contacts have deleted my stuff
|
||||
// q("DELETE FROM `contact` WHERE `uid` = %d", intval($uid));
|
||||
q("DELETE FROM `gcign` WHERE `uid` = %d", intval($uid));
|
||||
q("DELETE FROM `group` WHERE `uid` = %d", intval($uid));
|
||||
q("DELETE FROM `group_member` WHERE `uid` = %d", intval($uid));
|
||||
|
@ -41,7 +42,10 @@ function user_remove($uid) {
|
|||
q("DELETE FROM `pconfig` WHERE `uid` = %d", intval($uid));
|
||||
q("DELETE FROM `search` WHERE `uid` = %d", intval($uid));
|
||||
q("DELETE FROM `spam` WHERE `uid` = %d", intval($uid));
|
||||
q("DELETE FROM `user` WHERE `uid` = %d", intval($uid));
|
||||
// don't delete yet, will be done later when contacts have deleted my stuff
|
||||
// q("DELETE FROM `user` WHERE `uid` = %d", intval($uid));
|
||||
q("UPDATE `user` SET `account_removed` = 1, `account_expires_on` = UTC_TIMESTAMP() WHERE `uid` = %d", intval($uid));
|
||||
proc_run('php', "include/notifier.php", "removeme", $uid);
|
||||
if($uid == local_user()) {
|
||||
unset($_SESSION['authenticated']);
|
||||
unset($_SESSION['uid']);
|
||||
|
@ -165,6 +169,7 @@ function mark_for_death($contact) {
|
|||
q("update contact set `archive` = 1 where id = %d limit 1",
|
||||
intval($contact['id'])
|
||||
);
|
||||
q("UPDATE `item` SET `private` = 2 WHERE `contact-id` = %d AND `uid` = %d", intval($contact['id']), intval($contact['uid']));
|
||||
|
||||
//contact_remove($contact['id']);
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
// process normal login request
|
||||
|
||||
$r = q("SELECT * FROM `user` WHERE ( `email` = '%s' OR `nickname` = '%s' )
|
||||
AND `password` = '%s' AND `blocked` = 0 AND `account_expired` = 0 AND `verified` = 1 LIMIT 1",
|
||||
AND `password` = '%s' AND `blocked` = 0 AND `account_expired` = 0 AND `account_removed` = 0 AND `verified` = 1 LIMIT 1",
|
||||
dbesc(trim($user)),
|
||||
dbesc(trim($user)),
|
||||
dbesc($encrypted)
|
||||
|
|
|
@ -59,7 +59,7 @@ if((isset($_SESSION)) && (x($_SESSION,'authenticated')) && ((! (x($_POST,'auth-p
|
|||
}
|
||||
|
||||
$r = q("SELECT `user`.*, `user`.`pubkey` as `upubkey`, `user`.`prvkey` as `uprvkey`
|
||||
FROM `user` WHERE `uid` = %d AND `blocked` = 0 AND `account_expired` = 0 AND `verified` = 1 LIMIT 1",
|
||||
FROM `user` WHERE `uid` = %d AND `blocked` = 0 AND `account_expired` = 0 AND `account_removed` = 0 AND `verified` = 1 LIMIT 1",
|
||||
intval($_SESSION['uid'])
|
||||
);
|
||||
|
||||
|
@ -147,7 +147,7 @@ else {
|
|||
|
||||
$r = q("SELECT `user`.*, `user`.`pubkey` as `upubkey`, `user`.`prvkey` as `uprvkey`
|
||||
FROM `user` WHERE ( `email` = '%s' OR `nickname` = '%s' )
|
||||
AND `password` = '%s' AND `blocked` = 0 AND `account_expired` = 0 AND `verified` = 1 LIMIT 1",
|
||||
AND `password` = '%s' AND `blocked` = 0 AND `account_expired` = 0 AND `account_removed` = 0 AND `verified` = 1 LIMIT 1",
|
||||
dbesc(trim($_POST['username'])),
|
||||
dbesc(trim($_POST['username'])),
|
||||
dbesc($encrypted)
|
||||
|
|
|
@ -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 == '')
|
||||
|
|
|
@ -323,7 +323,7 @@ function delivery_run(&$argv, &$argc){
|
|||
WHERE `contact`.`blocked` = 0 AND `contact`.`pending` = 0
|
||||
AND `contact`.`network` = '%s' AND `user`.`nickname` = '%s'
|
||||
$sql_extra
|
||||
AND `user`.`account_expired` = 0 LIMIT 1",
|
||||
AND `user`.`account_expired` = 0 AND `user`.`account_removed` = 0 LIMIT 1",
|
||||
dbesc(NETWORK_DFRN),
|
||||
dbesc($nickname)
|
||||
);
|
||||
|
|
|
@ -16,7 +16,7 @@ function diaspora_dispatch_public($msg) {
|
|||
return;
|
||||
}
|
||||
|
||||
$r = q("SELECT `user`.* FROM `user` WHERE `user`.`uid` IN ( SELECT `contact`.`uid` FROM `contact` WHERE `contact`.`network` = '%s' AND `contact`.`addr` = '%s' ) AND `account_expired` = 0 ",
|
||||
$r = q("SELECT `user`.* FROM `user` WHERE `user`.`uid` IN ( SELECT `contact`.`uid` FROM `contact` WHERE `contact`.`network` = '%s' AND `contact`.`addr` = '%s' ) AND `account_expired` = 0 AND `account_removed` = 0 ",
|
||||
dbesc(NETWORK_DIASPORA),
|
||||
dbesc($msg['author'])
|
||||
);
|
||||
|
|
|
@ -3958,10 +3958,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
|
||||
}
|
||||
|
|
|
@ -134,13 +134,26 @@ function notifier_run(&$argv, &$argc){
|
|||
$recipients[] = $suggest[0]['cid'];
|
||||
$item = $suggest[0];
|
||||
}
|
||||
elseif($cmd === 'removeme') {
|
||||
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($item_id));
|
||||
$user = $r[0];
|
||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1", intval($item_id));
|
||||
$self = $r[0];
|
||||
$r = q("SELECT * FROM `contact` WHERE `self` = 0 AND `uid` = %d", intval($item_id));
|
||||
if(! count($r))
|
||||
return;
|
||||
require_once('include/Contact.php');
|
||||
foreach($r as $contact) {
|
||||
terminate_friendship($user, $self, $contact);
|
||||
}
|
||||
return;
|
||||
}
|
||||
elseif($cmd === 'relocate') {
|
||||
$normal_mode = false;
|
||||
$relocate = true;
|
||||
$uid = $item_id;
|
||||
}
|
||||
else {
|
||||
|
||||
// find ancestors
|
||||
$r = q("SELECT * FROM `item` WHERE `id` = %d and visible = 1 and moderated = 0 LIMIT 1",
|
||||
intval($item_id)
|
||||
|
@ -622,7 +635,7 @@ function notifier_run(&$argv, &$argc){
|
|||
AND `contact`.`pending` = 0
|
||||
AND `contact`.`network` = '%s' AND `user`.`nickname` = '%s'
|
||||
$sql_extra
|
||||
AND `user`.`account_expired` = 0 LIMIT 1",
|
||||
AND `user`.`account_expired` = 0 AND `user`.`account_removed` = 0 LIMIT 1",
|
||||
dbesc(NETWORK_DFRN),
|
||||
dbesc($nickname)
|
||||
);
|
||||
|
|
|
@ -133,7 +133,7 @@ class FKOAuth1 extends OAuthServer {
|
|||
function loginUser($uid){
|
||||
logger("FKOAuth1::loginUser $uid");
|
||||
$a = get_app();
|
||||
$r = q("SELECT * FROM `user` WHERE uid=%d AND `blocked` = 0 AND `account_expired` = 0 AND `verified` = 1 LIMIT 1",
|
||||
$r = q("SELECT * FROM `user` WHERE uid=%d AND `blocked` = 0 AND `account_expired` = 0 AND `account_removed` = 0 AND `verified` = 1 LIMIT 1",
|
||||
intval($uid)
|
||||
);
|
||||
if(count($r)){
|
||||
|
|
|
@ -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()),
|
||||
|
|
|
@ -67,6 +67,16 @@ function poller_run(&$argv, &$argc){
|
|||
q("UPDATE user SET `account_expired` = 1 where `account_expired` = 0
|
||||
AND `account_expires_on` != '0000-00-00 00:00:00'
|
||||
AND `account_expires_on` < UTC_TIMESTAMP() ");
|
||||
|
||||
// delete user and contact records for recently removed accounts
|
||||
|
||||
$r = q("SELECT * FROM `user` WHERE `account_removed` = 1 AND `account_expires_on` < UTC_TIMESTAMP() - INTERVAL 3 DAY");
|
||||
if ($r) {
|
||||
foreach($r as $user) {
|
||||
q("DELETE FROM `contact` WHERE `uid` = %d", intval($user['uid']));
|
||||
q("DELETE FROM `user` WHERE `uid` = %d", intval($user['uid']));
|
||||
}
|
||||
}
|
||||
|
||||
$abandon_days = intval(get_config('system','account_abandon_days'));
|
||||
if($abandon_days < 1)
|
||||
|
@ -154,7 +164,7 @@ function poller_run(&$argv, &$argc){
|
|||
$sql_extra
|
||||
AND `self` = 0 AND `contact`.`blocked` = 0 AND `contact`.`readonly` = 0
|
||||
AND `contact`.`archive` = 0
|
||||
AND `user`.`account_expired` = 0 $abandon_sql ORDER BY RAND()",
|
||||
AND `user`.`account_expired` = 0 AND `user`.`account_removed` = 0 $abandon_sql ORDER BY RAND()",
|
||||
intval(CONTACT_IS_SHARING),
|
||||
intval(CONTACT_IS_FRIEND),
|
||||
dbesc(NETWORK_DIASPORA),
|
||||
|
|
|
@ -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 );
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue