Do we update feeduri and salmonuri for Ostatus_profile now?
When changing from HTTP to HTTPS, following up on commit
59763ceecb
where http to https Ostatus_profile URI changing was first introduced.
This commit is contained in:
parent
ac98600640
commit
c5a5eaf288
@ -1977,6 +1977,38 @@ class Ostatus_profile extends Managed_DataObject
|
||||
|
||||
return $oprofile->localProfile();
|
||||
}
|
||||
|
||||
public function updateUriKeys($profile_uri, array $hints=array())
|
||||
{
|
||||
$orig = clone($this);
|
||||
|
||||
common_debug('URIFIX These identities both say they are each other: "'.$orig->uri.'" and "'.$profile_uri.'"');
|
||||
$this->uri = $profile_uri;
|
||||
|
||||
if (array_key_exists('feedurl', $hints)) {
|
||||
if (!empty($this->feeduri)) {
|
||||
common_debug('URIFIX Changing FeedSub ['.$feedsub->id.'] feeduri "'.$feedsub->uri.'" to "'.$hints['feedurl']);
|
||||
$feedsub = FeedSub::getKV('uri', $this->feeduri);
|
||||
$feedorig = clone($feedsub);
|
||||
$feedsub->uri = $hints['feedurl'];
|
||||
$feedsub->updateWithKeys($feedorig);
|
||||
} else {
|
||||
common_debug('URIFIX Old Ostatus_profile did not have feedurl set, ensuring feed: '.$hints['feedurl']);
|
||||
FeedSub::ensureFeed($hints['feedurl']);
|
||||
}
|
||||
$this->feeduri = $hints['feedurl'];
|
||||
}
|
||||
if (array_key_exists('salmon', $hints)) {
|
||||
common_debug('URIFIX Changing Ostatus_profile salmonuri from "'.$this->salmonuri.'" to "'.$hints['salmon'].'"');
|
||||
$this->salmonuri = $hints['salmon'];
|
||||
}
|
||||
|
||||
common_debug('URIFIX Updating Ostatus_profile URI for '.$orig->uri.' to '.$this->uri);
|
||||
$this->updateWithKeys($orig, 'uri'); // 'uri' is the primary key column
|
||||
|
||||
common_debug('URIFIX Subscribing/renewing feedsub for Ostatus_profile '.$this->uri);
|
||||
$this->subscribe();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -259,12 +259,7 @@ class SalmonAction extends Action
|
||||
// Step 4: Is the newly introduced https://example.com/user/1 URI in the list of aliases
|
||||
// presented by http://example.com/user/1 (i.e. do they both say they are the same identity?)
|
||||
if (in_array($e->object_uri, $doublecheck_aliases)) {
|
||||
common_debug('URIFIX These identities both say they are each other: "'.$aliased_uri.'" and "'.$e->object_uri.'"');
|
||||
$orig = clone($oprofile);
|
||||
$oprofile->uri = $e->object_uri;
|
||||
common_debug('URIFIX Updating Ostatus_profile URI for '.$aliased_uri.' to '.$oprofile->uri);
|
||||
$oprofile->updateWithKeys($orig, 'uri'); // 'uri' is the primary key column
|
||||
unset($orig);
|
||||
$oprofile->updateUriKeys($e->object_uri, DiscoveryHints::fromXRD($xrd));
|
||||
$this->oprofile = $oprofile;
|
||||
break; // don't iterate through aliases anymore
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user