Use ToSelector choice again.

This commit is contained in:
Mikael Nordfeldth 2016-02-17 23:44:15 +01:00
parent d9b649642d
commit 73dbc5ca1b
2 changed files with 23 additions and 0 deletions

View File

@ -190,6 +190,9 @@ class NewnoticeAction extends FormAction
// and maybe even directly save whether they're local or not! // and maybe even directly save whether they're local or not!
$act->context->attention = common_get_attentions($content, $this->scoped, $parent); $act->context->attention = common_get_attentions($content, $this->scoped, $parent);
// $options gets filled with possible scoping settings
ToSelector::fillActivity($this, $act, $options);
$actobj = new ActivityObject(); $actobj = new ActivityObject();
$actobj->type = ActivityObject::NOTE; $actobj->type = ActivityObject::NOTE;
$actobj->content = common_render_content($content, $this->scoped, $parent); $actobj->content = common_render_content($content, $this->scoped, $parent);

View File

@ -136,6 +136,26 @@ class ToSelector extends Widget
$this->out->elementEnd('span'); $this->out->elementEnd('span');
} }
static function fillActivity(Action $action, Activity $act, array &$options)
{
if (!$act->context instanceof ActivityContext) {
$act->context = new ActivityContext();
}
self::fillOptions($action, $options);
if (isset($options['groups'])) {
foreach ($options['groups'] as $group_id) {
$group = User_group::getByID($group_id);
$act->context->attention[$group->getUri()] = $group->getObjectType();
}
}
if (isset($options['replies'])) {
foreach ($options['replies'] as $profile_uri) {
$profile = Profile::fromUri($profile_uri);
$act->context->attention[$profile->getUri()] = $profile->getObjectType();
}
}
}
static function fillOptions($action, &$options) static function fillOptions($action, &$options)
{ {
// XXX: make arg name selectable // XXX: make arg name selectable