forked from GNUsocial/gnu-social
Add a registration activity to the end of every backup
This commit is contained in:
parent
1fc305eca5
commit
cbb5586ab7
@ -1152,7 +1152,7 @@ class User extends Managed_DataObject
|
|||||||
$osp = Old_school_prefs::staticGet('user_id', $this->id);
|
$osp = Old_school_prefs::staticGet('user_id', $this->id);
|
||||||
if (!empty($osp)) {
|
if (!empty($osp)) {
|
||||||
return $osp->stream_mode_only;
|
return $osp->stream_mode_only;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -1180,4 +1180,34 @@ class User extends Managed_DataObject
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function registrationActivity()
|
||||||
|
{
|
||||||
|
$profile = $this->getProfile();
|
||||||
|
|
||||||
|
$service = new ActivityObject();
|
||||||
|
|
||||||
|
$service->type = "service";
|
||||||
|
$service->displayName = common_config('site', 'name');
|
||||||
|
$service->url = common_root_url();
|
||||||
|
|
||||||
|
$act = new Activity();
|
||||||
|
|
||||||
|
$act->actor = ActivityObject::fromProfile($profile);
|
||||||
|
$act->verb = ActivityVerb::JOIN;
|
||||||
|
$act->objects[] = $service;
|
||||||
|
|
||||||
|
$act->id = TagURI::mint('user:register:%d',
|
||||||
|
$this->id);
|
||||||
|
|
||||||
|
$act->time = strtotime($this->created);
|
||||||
|
|
||||||
|
$act->title = _("Register");
|
||||||
|
|
||||||
|
$act->content = sprintf(_('%1$s joined %2$s.'),
|
||||||
|
$profile->getBestName(),
|
||||||
|
$service->displayName);
|
||||||
|
|
||||||
|
return $act;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -192,6 +192,25 @@ class UserActivityStream extends AtomUserNoticeFeed
|
|||||||
common_log(LOG_ERR, $e->getMessage());
|
common_log(LOG_ERR, $e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We always add the registration activity at the end, even if
|
||||||
|
// they have older activities (from restored backups) in their stream.
|
||||||
|
|
||||||
|
try {
|
||||||
|
$ract = $this->user->registrationActivity();
|
||||||
|
if ($format == Feed::ATOM) {
|
||||||
|
$ract->outputTo($this, false, false);
|
||||||
|
} else {
|
||||||
|
if ($haveOne) {
|
||||||
|
fwrite($handle, ",");
|
||||||
|
}
|
||||||
|
fwrite($handle, json_encode($ract->asArray()));
|
||||||
|
$haveOne = true;
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
common_log(LOG_ERR, $e->getMessage());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function compareObject($a, $b)
|
function compareObject($a, $b)
|
||||||
|
Loading…
Reference in New Issue
Block a user