đïž Session 12 avril 2026 â frnix-manager v3.1.3 â v3.2.1
Versions déployées
- frnix-manager v3.1.3 â v3.2.1 (prod)
- frnix-events-manager : inchangé v1.3.71
Corrections bugs (v3.1.4 â v3.1.9)
- Emails
+tag@acceptĂ©s tels quels Ă l’inscription - Cycle de validation des comptes supprimĂ© â
class-account-validation.phpvraiment déchargée (chargement résiduel dansclass-plugin.phpcommenté) - Restriction emails génériques supprimée dans
class-elementor-handler.phpâ tous les emails crĂ©ent un compte - Fallback
+tagdansclass-magic-login.php - Bouton inline « Ăditer » sous le nom supprimĂ© dans
shortcode-dashboard.php detect_organization()etconsolidate()dĂ©sactivĂ©s â plus d’auto-rattachement ni de fusion automatique de comptes
Nouvelles fonctionnalitĂ©s (v3.2.0 â v3.2.1)
- Onglet « Mon organisation » masqué quand aucune orga liée
- Onglet RGPD toujours visible pour tous les utilisateurs (correction condition trop restrictive)
- Comptes de test exclus de la recherche contacts admin via meta
frnix_is_test_account - Cap résultats recherche contacts porté de 10 à 20
Corrections de données
gmail.comretirĂ© defrnix_associated_domainsde Zayo Europe â 5 users gmail dĂ©tachĂ©soutlook.com(BoumIT) ethotmail.co.uk(HOTMAIL) nettoyĂ©s â 2 users dĂ©tachĂ©s- Victoria Eppendahl (ID 2572) dĂ©tachĂ©e d’ARAPEDE
Prochaines étapes
- Répercuter corrections v3.2.1 sur BIS
- Email one-shot contacts principaux
- Bug responsivité single page event
- Colonne « Société déclarée » (frnix_company_name) dans tableau contacts admin
12 avril 2026 â Suppression workflow validation â crĂ©ation directe des comptes Ă l’inscription
Catégories : feature, workflow
Actions :
frnix-managerv3.1.4 â v3.1.5class-elementor-handler.php: suppression du branchementneeds_validation()/create_pending()â tous les emails pro crĂ©ent dĂ©sormais le compte WP directement sans passer par la file d’attente- Vidage manuel des 20 comptes pending et 2 comptes confirmed restants â validated via SQL (phpMyAdmin bis + Claude Code prod)
- Liste « En attente » vide sur bis et prod
- Déployé sur bis puis prod + purge caches LiteSpeed + OPcache
12 avril 2026 â Refonte workflow inscriptions â suppression validation comptes + acceptation emails +tag
Catégories : feature, workflow
Actions :
frnix-managerv3.1.3 â v3.1.4- Suppression du cycle de validation des comptes (cron
frnix_check_pending_accountsJ+7/J+30, suspension automatique) - Désactivation de
class-account-validation.php(déchargée du plugin principal) - Suppression du filtre
frnix_inscription_emaildansclass-email-consolidation.phpâ les emails +tag@ sont dĂ©sormais acceptĂ©s tels quels Ă l’inscription, sans conversion vers l’email principal - Nettoyage automatique du cron au premier chargement post-mise Ă jour (via version-flush)
- Déployé sur BIS puis PROD
frnix-manager â 10/04/2026 â Fix accĂšs pages admin cachĂ©es + lien fiche contact dashboard
Catégorie : bug-fix
Actions effectuées :
- Bug 1 (reorder_menu) : les pages cachées du sidebar (frnix-administration, frnix-account-validation, etc.) étaient exclues de
$submenulors du reorder â WordPress refusait lâaccĂšs par URL directe. Fix : re-ajout des pages cachĂ©es en fin de$resultavant$submenu['frnix-manager'] = $result. - Bug 2 (dropdown quick search) : le lien contact pointait vers
frnix-administration&search_contact=au lieu de la fiche/mon-compte/. CorrigĂ© vershome_url('/mon-compte/?admin_user_id=' . $user->ID . '&nocache=1')ânocache=1nĂ©cessaire car LiteSpeed Cache servait la page sans exĂ©cuter le PHP.
Version : frnix-manager 3.1.3 (BIS + PROD)
frnix-manager â 09/04/2026 (suite 3) â Tableaux Contacts + Organisations â fonctionnalitĂ©s avancĂ©es
Fichiers modifiés :
includes/modules/admin/render-unified-tables.php(60KB+)assets/js/pending-actions.js
Fonctionnalités livrées :
- Tableau Organisations : popover « Nb contacts » avec ronds colorés P/F/V/B/A + nom + email + cliquables
- Bouton « đ Contacts » par orga : modal recherche contacts similaires avec Levenshtein
- Modal contacts similaires : contacts déjà rattachés + checkboxes P/F/V inline auto-save + Voir/Masquer + ajout manuel + création nouveau contact
- Pastilles rĂŽle par lettre (P/F/V/B/A/?) avec couleurs
- Bouton changer catĂ©gorie orga inline (âïž + select)
- Bouton Supprimer orga â frnix_org_hidden=1 + filtre « Orgas supprimĂ©es » + Restaurer
- Compteur Nb contacts exclut contacts masqués
- Export CSV filtré « Exporter la sélection en CSV » sur ligne filtres Contacts + Organisations
- Export sélection groupée renommé « Exporter la sélection »
- Contacts masqués exclus des recherches similaires et du popover Nb contacts
- Fiche orga dĂ©diĂ©e class-fiche-org.php créée mais commentĂ©e (bouton Ăditer â /mon-compte/?tab=organisation&org_id=)
frnix-manager â 09/04/2026 (suite) â Onglet « En attente » â fusion inscriptions + comptes WP, actions fonctionnelles
Fichiers modifiés :
includes/modules/admin/render-unified-tables.phpâfrnix_render_pending_view()fusionnĂ©e,wp_enqueue_scriptdĂ©placĂ© dans la fonction, handlers validate/reject accountassets/js/pending-actions.jsâ handlersfrnix-p-validate-accountetfrnix-p-reject-accountajoutĂ©s
Fonctionnalités livrées :
- Onglet « En attente » fusionne 2 sources :
wp_frnix_pending_registrations(inscriptions) + comptes WP avecfrnix_account_status IN (pending/confirmed) - Badge Source : Inscription=orange / Compte=bleu
- Valider compte â
frnix_account_status=validatedâ ligne disparaĂźt du tableau - Rejeter compte â
frnix_hidden=1â ligne disparaĂźt, visible dans filtre « Emails masquĂ©s » - JS
pending-actions.jschargé viawp_enqueue_scriptdansfrnix_render_pending_view()(FRNIX_PLUGIN_URL) - Filtres mutuellement exclusifs rÎle/statut dans tableau Contacts
- Compteur Admins TBB : fusion WP administrators +
frnix_role_admin=1 - Samuel (ID2) + Amandine (ID351) + Philippe (ID348) :
frnix_organization_id=23761+frnix_role_admin=1sur BIS
frnix-manager â 09/04/2026 â Connexion TBB â tableaux unifiĂ©s + filtres mutuellement exclusifs
Fichiers modifiés :
includes/modules/admin/class-admin-page.phpâ liens TBB â frnix-contacts/frnix-organisations, compteur Admins Ă©tendu (WP + frnix_role_admin)includes/modules/admin/render-unified-tables.phpâ filtre role_filter=admin Ă©tendu Ă frnix_role_admin=1, filtres mutuellement exclusifs (role/statut auto-reset)
Fonctionnalités livrées :
- Liens TBB cliquables â tableaux unifiĂ©s : Admins/Board/Principaux/Facturation/Votants â
frnix-contacts&role_filter=.../ Actifs/Partenaires/Individuels/Non-membres âfrnix-organisations&cat_filter=... - Compteur Admins TBB : fusion WP administrators +
frnix_role_admin=1(Samuel ID2, Amandine ID351, Philippe ID348 ajoutés) - Filtre
role_filter=admindans tableau Contacts : détecte WP administrator OUfrnix_role_admin=1 - Filtres mutuellement exclusifs : changer rÎle reset statut et vice versa, form auto-submit
Notes BIS :
- Samuel (ID2), Amandine (ID351) :
frnix_organization_id=23761+frnix_role_admin=1(à répliquer sur PROD) - Philippe Duby (ID348) :
frnix_role_boardvidé +frnix_role_admin=1(à répliquer sur PROD)
frnix-manager â 08/04/2026 (suite 2) â Tableau Contacts unifiĂ© â En attente, filtres, tri, masquage
Fichiers modifiés :
includes/modules/admin/render-unified-tables.php(43 134 octets) â tableau contacts completassets/js/pending-actions.js(4 511 octets) â handlers JS modals pending
Fonctionnalités livrées :
- Onglet « En attente » dans le tableau Contacts : fusion
wp_frnix_pending_registrations(inscriptions) + comptes WPfrnix_account_status IN (pending/confirmed) - Badges Source : Inscription=orange / Compte=bleu
- Actions Inscription : Valider / Rattacher / Ignorer / Rejeter (handlers
frnix_pending_*) - Actions Compte : Valider â
frnix_account_status=validated/ Rejeter âfrnix_hidden=1(masquĂ©) - Colonnes triables : Date / Nom / Email / Organisation / Source / Statut (âČâŒâ )
- Filtre « Emails masqués » : affiche tous les contacts avec
frnix_hidden=1(suspendus, rejetĂ©s, masquĂ©s manuellement) - Bouton « Supprimer » â masque (
frnix_hidden=1), bouton « Restaurer » dans filtre masqués - Filtre « Emails persos » : contacts avec domaine Gmail/Hotmail/Outlook/etc
- Badge « Associé » : contacts avec
frnix_is_alias_ofnon vide - Bouton « Rattacher à un contact » pour emails persos / « Rattacher à une orga » pour emails pro
- JS
pending-actions.jssĂ©parĂ© (plus de heredoc PHPâJS)
Notes :
- Rejeter un compte =
frnix_hidden=1(pas suspended) â comportement unifiĂ© avec bouton Supprimer - Tableau Organisations : bouton Ăditer pointe vers
/membres/$slug(page front) - Crashes BIS évités :
gotosupprimé, JS externalisé en.jsséparé
frnix-manager â 08/04/2026 (suite) â Tableaux unifiĂ©s Contacts + Organisations â render-unified-tables.php
Fichiers créés/modifiés :
includes/modules/admin/render-unified-tables.php(nouveau, ~28KB) âfrnix_render_contacts_unified()+frnix_render_organisations_unified()+ 6 handlers AJAX + JS inlineincludes/modules/admin/class-admin-page.phpârender_contacts_page()remplacĂ© par appel unifiĂ©,render_organisations_page()ajoutĂ©, submenufrnix-organisationsenregistrĂ©frnix-manager.phpârequire_once render-unified-tables.phpajoutĂ©
Fonctionnalités livrées :
- Tableau Contacts unifiĂ© : colonnes â/Nom/Email/ORGANISATION/RĂLE(S)/Statut/Actions â 992 contacts, pagination 50/page
- Filtres : recherche texte + rÎle + statut (Validé/En attente/Confirmé/Suspendu/Contacts uniques/Comptes persos) + bouton Réinitialiser
- Badges rÎles colorés : Principal=#0099FF, Votant=#FF9800, Facturation=#64CA8C, Board=#9C27B0, Admin=#888
- Actions par ligne : Voir (
/mon-compte/?admin_user_id=) + Inviter + Rattacher (dĂ©tection auto email perso/pro) - Rattacher email pro â modal autocomplete orga (
frnix_pending_search_org) - Rattacher email perso â modal autocomplete contact (
frnix_search_contact_for_alias) +frnix_set_alias - Barre actions groupées : Demande de mise à jour CONTACT + Exporter CSV avec page HTML intermédiaire
- Export CSV : page HTML avec textarea + bouton télécharger (séparateur ; Excel FR)
- Comptes persos rattachés (
frnix_is_alias_of) masquĂ©s par dĂ©faut, visibles via filtre Comptes persos - Tableau Organisations unifiĂ© : colonnes â/Logo/Nom/CatĂ©gorie/Contact principal/Email principal/Nb contacts/Actions
Notes techniques :
- Nonce dual :
frnix_pending_noncepour search org,frnix_admin_noncepour les autres handlers - Exclusion comptes test via
FRNIX_Test_Accounts::get_test_user_ids() - Garde-fou BIS sur
frnix_bulk_invite(FRNIX_BIS_NO_EMAIL_USERS) class-fiches.phpcréé puis supprimé (approche abandonnée au profit des tableaux)
nn
frnix-manager â 08/04/2026 â Module invitations â templates, UI 3 modes, anti-spam
Fichiers modifiés :
includes/class-invitation-email.php(nouveau) âFRNIX_Invitation_Email::send_invitation()includes/class-frnix-email-template.phpâ templateinvitation_memberenregistrĂ© dansinit_templates()includes/modules/admin/class-admin-page.phpâ UI invitations 3 modes + 6 handlers AJAXincludes/class-gdpr-export.phpâ fix double-wrap HTML (bypassFRNIX_Email_Template::send(),wp_mail()direct)wp-config.phpBIS âdefine('FRNIX_BIS_NO_EMAIL_USERS', true)
Fonctionnalités livrées :
- Fix rapport RGPD : HTML brut corrigĂ© â
generate_html_report()bypassewrap()viawp_mail()direct - Template invitation éditable : slug
invitation_member, variables{{first_name}} {{last_name}} {{magic_url}} {{site_name}}, visible dans/wp-admin/admin.php?page=frnix-email-templates - Module invitations â panneau « đš Envoi d’invitations » dans onglet Administration avec 3 modes :
- Test sur moi : envoie Ă current_user, pas de garde-fou BIS
- Sélection manuelle : autocomplete avec recherche SQL sur first_name/last_name/user_email, tags supprimables
- Par catégorie : 2 axes (catégorie orga / rÎle contact), count en live
- Anti-spam : exclusion systématique des contacts avec
_last_login/wfls-last-login/frnix_last_modifiednon vide - Garde-fou BIS :
FRNIX_BIS_NO_EMAIL_USERSbloque les modes 2 et 3, UI bouton disabled + label « Envoi désactivé (BIS) » - Fix Comptes test : retiré de
frnix_cleanup_submenus()qui cassait l’accĂšs admin
Notes techniques :
frnix_account_statusfilter : pending/confirmed uniquement (validated/active/suspended exclus défensivement)- Taxonomie
member_category: nettoyage à planifier (ELEM/NL inutiles, doublons membre-actif/membre-electeur/membre-individuel) - Catégories orga hardcodées :
membre_actif/membre_partenaire/membre_individuel/non_membre(post_metafrnix_org_category)
Session 08/04/2026 â Migration rĂŽles multi-flags + nettoyage orgas/contacts [Feature, Refactor, Migration]
Refactor modĂšle rĂŽles contacts :
- Abandon de
frnix_contact_role(single value) au profit de 4 metas binairesfrnix_role_principal/votant/facturation/boardpermettant le multi-rĂŽles - Migration des metas legacy
contact_organisation/facturation/votant(string « true ») vers les nouveaux flags - BIS : 475 principaux / 81 votants / 103 facturation / 8 board
- PROD : 451 principaux / 38 votants / 48 facturation / 8 board
- Nettoyage votants non-rattachés à une orga ACTIF (BIS: 381 / PROD: 376 supprimés)
- Nettoyage facturation rattachés à des non-membres
- Auto-marquage des single-contact orgas (actif/partenaire/individuel/non-membre)
Dashboard FRNIX patché :
$user_countsbasculé surfrnix_role_*au lieu des metas legacy- Compteur « Contacts » filtré sur frnix_member + frnix_contact (au lieu de tous les wp_users)
- Tuile « Nouveaux (30j) » supprimĂ©e â grille passĂ©e Ă 3 colonnes
frnix_org_categorypeuplé sur les 579 orgas PROD viafrnix_get_organization_type()- Cases
adminsetboarddans les filtres dashboard aligés sur le nouveau modÚle
Création/migration utilisateurs :
- 3 admins créés sur BIS avec IDs PROD via SQL direct (Striolet 2, Estrade 351, Duby 348)
- 25 contacts facturation créés sur PROD depuis
email_de_facturationdes orgas actives - 13+19 contacts créés via script externe (PROD/BIS) pour FOLIATEAM, I3D.NET, KYXAR, NETALIS, RETELIT, KYXAR, POST LUX, VERISIGN, WORLDLINEâŠ
- HUB ONE : email avec point-virgule sanitisĂ© incorrectement par WP â corrigĂ© manuellement via SQL
Fusion FAIR :
- 5 doublons FAIR fusionnés vers FAIR Conseil et Services (25818) sur BIS et PROD
- FAIR Conseil basculé en actif, Raphaël Boukris (2820) rattaché comme principal/facturation/votant
UI dashboard mon-compte :
- Bouton « Ăditer » inopĂ©rant corrigĂ© :
frnixSetMode(window.frnixEditMode || 'admin') - Bandeau preview activé pour les admins (
$show_banners=true) avec retrait CSS defrnix-preview-mode - RĂšgle CSS
.frnix-preview-mode .frnix-banner { display:none }commentée
Maintenance CSS :
- Mu-plugin
frnix-header-css-fix.php: regen complet (page/post/jet-engine) sur init si critique manquant + clear_cache hook - Cron horaire
frnix_css_regenajouté sur BIS et PROD - Carte « Maintenance CSS » + AJAX
frnix_regen_cssdans onglet Outils
TODO :
- FrnixCore_EmailManager (toujours en attente)
- 57 orgas actives sans contact (export CSV dispo :
uploads/orgas-sans-contact.csv) - Tuile « Membres » du dashboard compte des organisations, pas des users â Ă clarifier
Session 07/04/2026 â Templates emails + migration PROD v3.0.8 [Feature, Deploy, UI]
Feature :
class-email-templates.php: Ă©diteur TinyMCE (Visuel), suppression tabs HTML/Aperçu, generate_preview() lit les overrides, bouton Ăditer ouvre en Aperçu, bouton Aperçu ouvre version sauvegardĂ©e dans nouvel ongletclass-unsubscribe.php: nouveau module, token sĂ©curisĂ© bin2hex/sha256, page /desinscription/, suspension compte, footer email avec lien « Se dĂ©sinscrire » (conditionnel user_id)- 1019 comptes existants migrĂ©s en statut « validated »
- Menu admin nettoyé (frnix_cleanup_submenus) sur BIS et PROD
- CSS JetEngine ID 14878 ajouté au mu-plugin frnix-header-css-fix.php
Deploy :
- Migration PROD complĂšte : 7 modules v3.0.8 + 9 fichiers sync BISâPROD
- Table
wp_frnix_unsubscribe_tokenscréée sur BIS et PROD - Page /desinscription/ créée sur BIS (ID 26205) et PROD (ID 26189)
TODO :
- FrnixCore_EmailManager pour centraliser wp_mail() avec user_id
- Nettoyage emails : +tag, restructuration 3 champs, suppression alias
- Navigation admin style Apple avec sous-onglets conditionnels
