image = $image; $this->owner = $owner; } } class PostOwner extends Extension { /** @var PostOwnerTheme */ protected Themelet $theme; public function onImageInfoSet(ImageInfoSetEvent $event): void { global $page, $user; $owner = $event->get_param('owner'); if ($user->can(Permissions::EDIT_IMAGE_OWNER) && !is_null($owner)) { $owner_ob = User::by_name($owner); send_event(new OwnerSetEvent($event->image, $owner_ob)); } } public function onOwnerSet(OwnerSetEvent $event): void { global $user; if ($user->can(Permissions::EDIT_IMAGE_OWNER)) { $event->image->set_owner($event->owner); } } public function onImageInfoBoxBuilding(ImageInfoBoxBuildingEvent $event): void { $event->add_part($this->theme->get_owner_editor_html($event->image), 39); } }