forked from GNUsocial/gnu-social
Diogo Peralta Cordeiro
778cb57d83
Instructions below To extend an Activity properties do: public function onActivityPubValidateActivityStreamsTwoData(string $type_name, array &$validators): bool { if ($type_name === '{Type}') { $validators['attribute'] = myValidator::class; } return Event::next; } The Validator should be of the form: use ActivityPhp\Type; use ActivityPhp\Type\Util; use Plugin\ActivityPub\Util\ModelValidator; class myValidator extends ModelValidator { /** * Validate Attribute's value * * @param mixed $value from JSON's attribute * @param mixed $container A {Type} * @return bool * @throws Exception */ public function validate($value, $container): bool { // Validate that container is a {Type} Util::subclassOf($container, Type\Extended\Object\{Type}::class, true); return {Validation Result}; To act on received activities do: public function onActivityPubNew{Type}(&$obj): bool { To add information to Activities being federated by ActivityPub do: public function ActivityPubAddActivityStreamsTwoData(string $type_name, &$type): bool { To implement an ActivityStreams 2.0 representation do: public function onActivityPubActivityStreamsTwoResponse(string $route, arrray $vars, ?TypeResponse &$response = null): bool { if ($route === '{Object route}') { $response = ModelResponse::handle($vars[{Object}]); return Event::stop; } return Event::next; } |
||
---|---|---|
.. | ||
ActivityResponse.php | ||
ActorResponse.php | ||
NoteResponse.php |