PhotoVault Core
Core application layer for PhotoVault media, access rules, REST endpoints, roles, and statistics.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/enockmigjr/photovault-core/archive/refs/heads/main.zipPhotoVault Core contient la logique metier media de PhotoVault: CPT, taxonomies, thumbnails/previews, endpoint secure-image, downloads controles, collections protegees, demandes d'acces, grants, stockage prive et audit media.
Responsabilites
- Enregistrer
media_item,media_folder,media_categoryetmedia_tag. - Ajouter les capabilities PhotoVault aux administrateurs.
- Servir les listes media via REST sans exposer les originaux HD.
- Servir les previews et downloads via
/wp-json/photovault/v1/secure-image. - Bloquer les medias prives si l'utilisateur n'est pas owner, admin/media manager ou beneficiaire d'un grant.
- Filigraner les previews protegees pour les visiteurs non privilegies.
- Mettre en cache les previews filigranees pour limiter le cout GD.
- Exposer des options admin bornees pour texte, image, opacite, densite et qualite JPEG du filigrane.
- Deplacer les originaux proteges/prives vers un stockage prive quand le traitement est applique.
- Journaliser previews, downloads, refus, demandes et grants.
- Fournir une bibliotheque personnelle de favoris, un historique de telechargements et les acces du compte sans fuite entre utilisateurs.
- Gerer les demandes de shootings privees, leur ownership, leurs transitions serveur et leurs notifications transactionnelles.
- Gerer les categories de contact public, la notification studio et l'accuse de reception du visiteur.
- Envoyer les notifications multipart des demandes d'acces: accuse client, alerte studio avec
Reply-Toet decisions approuvee/refusee. - Conserver l'approbation d'acces atomique entre creation du grant et mise a jour du statut.
- Afficher le registre des autorisations effectives dans l'administration, avec revocation et reactivation auditees.
- Rattacher au dashboard les demandes et droits crees avec l'adresse du compte, meme lorsque la demande precede la connexion.
- Fournir un espace d'import administrateur avec progression fichier par fichier et edition immediate des metadonnees.
- Actualiser sans rechargement les validations d'acces, transitions de
shootings, filtres, paginations et reglages PhotoVault dans
wp-admin, avec historique navigateur, progression visible et fallback WordPress.
Capabilities
photovault_manage_platformphotovault_manage_mediaphotovault_view_private_mediaphotovault_manage_settingsphotovault_manage_shootings
manage_options reste accepte comme fallback administrateur dans les helpers PhotoVault.
Tables
{$wpdb->prefix}photovault_access_requests{$wpdb->prefix}photovault_access_grants{$wpdb->prefix}photovault_media_audit{$wpdb->prefix}photovault_favorites
Options et metas importantes
photovault_core_versionphotovault_watermark_textphotovault_watermark_opacityphotovault_watermark_spacingphotovault_watermark_qualityphotovault_watermark_image_idis_protected_photovault_original_url_photovault_private_original_path_photovault_private_original_secured_at_photovault_shooting_type,_photovault_shooting_date,_photovault_shooting_location_photovault_shooting_contact_name,_photovault_shooting_contact_email,_photovault_shooting_contact_phone_photovault_shooting_status,_photovault_shooting_updated_at
Endpoints et actions
GET /wp-json/photovault/v1/mediaPOST /wp-json/photovault/v1/media/uploadPOST/PUT/PATCH /wp-json/photovault/v1/media/{id}GET /wp-json/photovault/v1/secure-imageGET /wp-json/photovault/v1/favoritesPOST /wp-json/photovault/v1/favorites/{id}DELETE /wp-json/photovault/v1/favorites/{id}admin_post_photovault_update_access_request_statusadmin_post_photovault_secure_existing_originalsadmin_post_photovault_create_shootingadmin_post_photovault_shooting_transition
WP-CLI
wp photovault secure-originals --limit=25
wp photovault seed_demo
La premiere commande traite les originaux proteges/prives existants par lots. La seconde installe un dataset de demonstration riche et versionne en reutilisant les pieces jointes locales: medias, articles, comptes, demandes et grants d'acces, shootings, audits, abonnes et campagnes lorsque les autres kits sont actifs. Les executions suivantes appliquent uniquement les complements d'une nouvelle version du seed et ne dupliquent pas les donnees deja installees.
Filtres publics
photovault_max_upload_bytesphotovault_max_upload_dimensionphotovault_max_upload_filesphotovault_private_originals_dirphotovault_protected_preview_cache_dirphotovault_shooting_types
Verification minimale
- Activer le plugin et verifier les tables DB.
- Confirmer que les pages liste utilisent les variantes
card/preview. - Tester
secure-imageavec anonyme, user, owner, media manager et admin. - Tester un media prive sans grant puis avec grant.
- Verifier que le serveur web refuse l'acces direct a
wp-content/photovault-private/. - Lancer
wp photovault secure-originals --limit=25si WP-CLI est disponible. - Executer
wp eval-file tests/runtime-user-library.phppour verifier favoris, isolation, historique, acces et permissions REST. - Executer
wp eval-file tests/runtime-shootings.phppour verifier validation, ownership, transitions, administration et e-mails. - Executer
wp eval-file tests/runtime-media-management.phppour verifier metadonnees, tags, isolation des comptes et acces a l'import. - Executer
wp eval-file tests/runtime-media-authorization.phppour verifier roles, grants, ID guessing, pagination privee, nonces et refus de telechargement. - Executer
wp eval-file tests/runtime-email-notifications.phppour verifier layout HTML, texte alternatif,Reply-To, notifications d'acces et remise SMTP.
Documentation liee
Voir dans le depot theme principal:
doc/rest-ajax-inventory.mddoc/capabilities-matrix.mddoc/plugin-surfaces.mddoc/adr/ADR-002-protected-media-storage.md