ldo...@users.adullact.net
unread,Mar 1, 2026, 2:48:30 PM (4 days ago) Mar 1Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to openmairie...@googlegroups.com
Author: ldorner
Date: 2026-03-01 20:48:27 +0100 (Sun, 01 Mar 2026)
New Revision: 5500
Modified:
openmairie_exemple/branches/4.11.0-compatibilite-php8.1_WIP3/core/om_application_pdo.trait.php
openmairie_exemple/branches/4.11.0-compatibilite-php8.1_WIP3/core/om_dbform.class.php
Log:
fix: recuperation des infos colonne par constantes pour eviter get_inst__om_dbform
Modified: openmairie_exemple/branches/4.11.0-compatibilite-php8.1_WIP3/core/om_application_pdo.trait.php
===================================================================
--- openmairie_exemple/branches/4.11.0-compatibilite-php8.1_WIP3/core/om_application_pdo.trait.php 2026-02-27 18:24:43 UTC (rev 5499)
+++ openmairie_exemple/branches/4.11.0-compatibilite-php8.1_WIP3/core/om_application_pdo.trait.php 2026-03-01 19:48:27 UTC (rev 5500)
@@ -536,6 +536,7 @@
if ($class_name === null) {
continue;
}
+ // Colonnes de la table (gen/)
if (method_exists($class_name, 'get_columns_metadata')) {
foreach ($class_name::get_columns_metadata() as $col_name => $col_info) {
$lower = strtolower($col_name);
@@ -550,6 +551,22 @@
$map[$lower] = $col_info;
}
}
+ // Colonnes additionnelles (obj/) — const statique,
+ // aucune instanciation nécessaire
+ if (defined("$class_name::ADDITIONAL_COLUMNS_METADATA")) {
+ foreach ($class_name::ADDITIONAL_COLUMNS_METADATA as $col_name => $col_info) {
+ $lower = strtolower($col_name);
+ if (isset($ambiguous[$lower])) {
+ continue;
+ }
+ if (isset($map[$lower]) && $map[$lower]['type'] !== $col_info['type']) {
+ unset($map[$lower]);
+ $ambiguous[$lower] = true;
+ continue;
+ }
+ $map[$lower] = $col_info;
+ }
+ }
}
}
return $map;
Modified: openmairie_exemple/branches/4.11.0-compatibilite-php8.1_WIP3/core/om_dbform.class.php
===================================================================
--- openmairie_exemple/branches/4.11.0-compatibilite-php8.1_WIP3/core/om_dbform.class.php 2026-02-27 18:24:43 UTC (rev 5499)
+++ openmairie_exemple/branches/4.11.0-compatibilite-php8.1_WIP3/core/om_dbform.class.php 2026-03-01 19:48:27 UTC (rev 5500)
@@ -607,18 +607,24 @@
return "";
}
+
/**
+ * Métadonnées des colonnes additionnelles (présentes dans la requête SQL
+ * mais absentes de COLUMNS_METADATA des classes gen/).
+ *
+ * Constante par défaut vide ; surchargée dans les classes obj/ qui
+ * ajoutent des colonnes calculées, des alias ou des jointures.
+ */
+ const ADDITIONAL_COLUMNS_METADATA = array();
+
+ /**
* Retourne les colonnes additionnelles (présentes dans la requête SQL
* mais absentes de COLUMNS_METADATA).
*
- * Méthode par défaut retournant un tableau vide ; surchargée dans les
- * classes obj/ qui ajoutent des colonnes calculées, des alias ou des
- * jointures dans get_var_sql_forminc__champs().
- *
* @return array Tableau associatif indexé par nom de colonne.
*/
function get_additional_columns() {
- return array();
+ return static::ADDITIONAL_COLUMNS_METADATA;
}