mirror of
https://github.com/friendica/friendica
synced 2025-04-26 11:10:11 +00:00
Automatically update contact data.
This commit is contained in:
parent
95945ecae6
commit
fe137a92ef
4 changed files with 48 additions and 15 deletions
|
@ -1,6 +1,8 @@
|
|||
<?php
|
||||
|
||||
require_once("boot.php");
|
||||
require_once("include/follow.php");
|
||||
require_once("include/Scrape.php");
|
||||
|
||||
function RemoveReply($subject) {
|
||||
while (in_array(strtolower(substr($subject, 0, 3)), array("re:", "aw:")))
|
||||
|
@ -129,6 +131,10 @@ function onepoll_run(&$argv, &$argc){
|
|||
: datetime_convert('UTC','UTC',$contact['last-update'], ATOM_TIME)
|
||||
);
|
||||
|
||||
// Update the contact entry
|
||||
if(($contact['network'] === NETWORK_OSTATUS) || ($contact['network'] === NETWORK_DIASPORA) || ($contact['network'] === NETWORK_DFRN))
|
||||
update_contact($contact["id"]);
|
||||
|
||||
if($contact['network'] === NETWORK_DFRN) {
|
||||
|
||||
|
||||
|
@ -231,11 +237,11 @@ function onepoll_run(&$argv, &$argc){
|
|||
if(($contact['duplex']) && strlen($contact['prvkey'])) {
|
||||
openssl_private_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['prvkey']);
|
||||
openssl_private_decrypt($challenge,$postvars['challenge'],$contact['prvkey']);
|
||||
}
|
||||
else {
|
||||
} elseif($contact['pubkey']) {
|
||||
openssl_public_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['pubkey']);
|
||||
openssl_public_decrypt($challenge,$postvars['challenge'],$contact['pubkey']);
|
||||
}
|
||||
} else
|
||||
logger("No private or public key for contact ".$contact['id']." ".$contact['url']);
|
||||
|
||||
$final_dfrn_id = substr($final_dfrn_id, 0, strpos($final_dfrn_id, '.'));
|
||||
|
||||
|
@ -243,8 +249,8 @@ function onepoll_run(&$argv, &$argc){
|
|||
$final_dfrn_id = substr($final_dfrn_id,2);
|
||||
|
||||
if($final_dfrn_id != $orig_id) {
|
||||
logger('poller: ID did not decode: ' . $contact['id'] . ' orig: ' . $orig_id . ' final: ' . $final_dfrn_id);
|
||||
// did not decode properly - cannot trust this site
|
||||
logger('poller: ID did not decode: ' . $contact['id'] . ' orig: ' . $orig_id . ' final: ' . $final_dfrn_id);
|
||||
// did not decode properly - cannot trust this site
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -255,7 +261,7 @@ function onepoll_run(&$argv, &$argc){
|
|||
$xml = post_url($contact['poll'],$postvars);
|
||||
|
||||
}
|
||||
elseif(($contact['network'] === NETWORK_OSTATUS)
|
||||
elseif(($contact['network'] === NETWORK_OSTATUS)
|
||||
|| ($contact['network'] === NETWORK_DIASPORA)
|
||||
|| ($contact['network'] === NETWORK_FEED) ) {
|
||||
|
||||
|
@ -265,7 +271,8 @@ function onepoll_run(&$argv, &$argc){
|
|||
|
||||
$stat_writeable = ((($contact['notify']) && ($contact['rel'] == CONTACT_IS_FOLLOWER || $contact['rel'] == CONTACT_IS_FRIEND)) ? 1 : 0);
|
||||
|
||||
if($contact['network'] === NETWORK_OSTATUS && get_pconfig($importer_uid,'system','ostatus_autofriend'))
|
||||
// Contacts from OStatus are always writable
|
||||
if($contact['network'] === NETWORK_OSTATUS)
|
||||
$stat_writeable = 1;
|
||||
|
||||
if($stat_writeable != $contact['writable']) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue