GNU social is a social communication software used in federated social networks. It is widely supported and has a large user base. It is already used by the Free Software Foundation. https://docs.gnusocial.rocks/
https://codeberg.org/GNUsocial/gnu-social
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; } |
||
---|---|---|
bin | ||
components | ||
config | ||
docker | ||
docs | ||
DOCUMENTATION | ||
extlib | ||
plugins | ||
public | ||
scripts | ||
src | ||
templates | ||
tests | ||
translations | ||
.dir-locals.el | ||
.env | ||
.env.test | ||
.gitignore | ||
.php-cs-fixer.php | ||
composer.json | ||
composer.lock | ||
CREDITS.md | ||
docker-compose.yaml.default | ||
INSTALL.md | ||
Makefile | ||
phpstan.neon | ||
phpunit.xml.dist | ||
social.yaml | ||
symfony.lock |