[PLUGIN][UnboundGroup] Finish implementation

This commit is contained in:
2022-03-28 23:52:48 +01:00
parent dfc5918c2c
commit fd71d6ee7d
7 changed files with 182 additions and 12 deletions

View File

@@ -43,6 +43,7 @@ use App\Entity\LocalUser;
use App\Util\Common;
use App\Util\Exception\RedirectException;
use App\Util\Formatting;
use Plugin\ActivityPub\Entity\ActivitypubActor;
use Plugin\WebMonetization\Entity\Wallet;
use Plugin\WebMonetization\Entity\WebMonetization as Monetization;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
@@ -66,7 +67,7 @@ class WebMonetization extends Plugin
if ($vars['path'] === 'settings') {
$is_self = true;
} elseif ($vars['path'] === 'actor_view_nickname') {
} elseif ($vars['path'] === 'actor_view_nickname') {
$is_self = $request->attributes->get('nickname') === $user->getNickname();
if (!$is_self) {
$receiver_id = DB::findOneBy(LocalUser::class, [
@@ -263,4 +264,14 @@ class WebMonetization extends Plugin
}
return Event::next;
}
public function onActivityPubCreateOrUpdateActor(\ActivityPhp\Type\AbstractObject $object, Actor $actor, ActivitypubActor $ap_actor): bool
{
if ($object->has('webmonetizationWallet')) {
$attr = ['actor_id' => $actor->getId(), 'address' => $object->get('webmonetizationWallet')];
$obj = DB::findOneBy(Wallet::class, $attr, return_null: true);
DB::persist(Wallet::createOrUpdate(obj: $obj, args: $attr));
}
return Event::next;
}
}