ActivityImporter.php

Summary
ActivityImporter.php
ActivityImporterQueue handler for importing Activities
ActivityImporterQueue handler for importing activities, as the name suggests.
handleMain processing handler that delegates out to
subscribeProfileProcess an activity verb saying that a user has subscribed to a profile
joinGroupProcess an activity stating the user joined a group
postNoteXXX: largely cadged from Ostatus_profile::processNote()
filterAttentionMake sure an attention goes to where it needs to go.

ActivityImporter

Queue handler for importing Activities

postActiv

the micro-blogging software

Copyright

Copyright © 2016-2017, Maiyannah Bishop

Derived from code copyright various sources

  • GNU Social © 2013-2016, Free Software Foundation, Inc
  • StatusNet © 2008-2012, StatusNet, Inc

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program.  If not, see http://www.gnu.org/licenses/.

https://www.gnu.org/licenses/agpl.html

About

An activity verb in class form, and the related scaffolding.

This file also now consolidates the ActivityContext, ActivityImporter, ActivityMover, ActivitySink, and ActivitySource classes, formerly at /lib/<class>.php

  • Activity abstracts the class for an activity verb.
  • ActivityContext contains information of the context of the activity verb.
  • ActivityImporter abstracts a means that is importing activity verbs into the system as part of a user’s timeline.
  • ActivityMover abstracts the means to transport activity verbs.
  • ActivitySink abstracts a class to receive activity verbs.
  • ActivitySource abstracts a class to represent the source of a received activity verb.

ActivityObject is a noun in the activity universe basically, from the original file: A noun-ish thing in the activity universe

The activity streams spec talks about activity objects, while also having a tag activity:object, which is in fact an activity object.  Aaaaaah!

This is just a thing in the activity universe.  Can be the subject, object, or indirect object (target!) of an activity verb.  Rotten name, and I’m propagating it.  sigh It’s large enough that I’ve left it seperate in activityobject.php

PHP version

Tested with PHP 7

File Authors

Web

ActivityImporter

Queue handler for importing activities, as the name suggests.

Variables

  • trusted - whether the source is trusted, defaults to false
Summary
handleMain processing handler that delegates out to
subscribeProfileProcess an activity verb saying that a user has subscribed to a profile
joinGroupProcess an activity stating the user joined a group
postNoteXXX: largely cadged from Ostatus_profile::processNote()
filterAttentionMake sure an attention goes to where it needs to go.

handle

function handle($data)

Main processing handler that delegates out to

subscribeProfile

function subscribeProfile($user,
$author,
$activity)

Process an activity verb saying that a user has subscribed to a profile

Parameters

  • user - object of the user being subscribed to
  • author - object of the person subscribing to the user
  • activity - the activity object

Error States

  • user isn’t trusted
  • user subscribing is a remote user
  • cannot find profile we’re subscribing to
  • activity isn’t related to referenced user

joinGroup

function joinGroup($user,
$activity)

Process an activity stating the user joined a group

Parameters

  • user - object of the user joining the group
  • activity - the activity object

Error states

  • user is already a member of the group
  • profile referenced as a group, isn’t actually a group

postNote

function postNote($user,
$author,
$activity)

XXX: largely cadged from Ostatus_profile::processNote()

Parameters

  • user
  • author
  • activity

Error states

  • attempting to overwrite a notice when author isn’t trusted
  • importing a notice by another user

filterAttention

protected function filterAttention(array $attn)

Make sure an attention goes to where it needs to go.

Parameters

  • attn
function handle($data)
Main processing handler that delegates out to
function subscribeProfile($user,
$author,
$activity)
Process an activity verb saying that a user has subscribed to a profile
function joinGroup($user,
$activity)
Process an activity stating the user joined a group
function postNote($user,
$author,
$activity)
XXX: largely cadged from Ostatus_profile::processNote()
protected function filterAttention(array $attn)
Make sure an attention goes to where it needs to go.