pubvana / profiles
Profile manager for Pubvana
v0.1.3
2026-04-25 21:53 UTC
Requires
- php: ^8.1
- enlivenapp/flight-school: ^0.2
- enlivenapp/flight-shield: ^0.1
- enlivenapp/migrations: ^0.1
- flightphp/active-record: ^0.7
Suggests
- pubvana/admin: Admin UI for self-service profile page and user edit tab
- pubvana/media: Avatar selection via the media picker widget
README
Pubvana Profiles
User profiles module for Pubvana. Built as a Flight School plugin.
Features
- Per-user profile records linked to Shield users
- Avatar support via the media picker widget
- Profile fields: display name, bio, avatar, website, Twitter, Facebook, LinkedIn
- Registers an
adextpage contribution for user edit tabs when admin is present
Requirements
- PHP 8.1+
enlivenapp/flight-schoolenlivenapp/flight-shieldenlvienapp/migrationsflightphp/active-record
Recommends
pubvana/admin(The head for Pubvana headless)pubvana/media(for Avatar Image support)
Installation
composer require pubvana/profiles
Enable in app/config/config.php:
'plugins' => [ 'pubvana/profiles' => [ 'enabled' => true, 'priority' => 70, ], ],
Migrations package creates the profiles table automatically on first load.
Model
The Profile model provides:
findByUserId(int $userId)— find a profile by user IDfindOrCreate(int $userId)— find or create (lazy initialization)updateFromArray(array $data)— update allowed fields from form POST data
Schema
| Column | Type | Notes |
|---|---|---|
id |
int | Primary key |
user_id |
int | Foreign key to users |
display_name |
varchar, nullable | |
bio |
text, nullable | |
avatar |
varchar, nullable | Path to media image |
website |
varchar, nullable | |
twitter |
varchar, nullable | |
facebook |
varchar, nullable | |
linkedin |
varchar, nullable | |
created_at |
datetime | |
updated_at |
datetime |
License
MIT