[openmairie-framework-Commits] r5500 - openmairie_exemple/branches/4.11.0-compatibilite-php8.1_WIP3/core

0 views
Skip to first unread message

ldo...@users.adullact.net

unread,
Mar 1, 2026, 2:48:30 PM (4 days ago) Mar 1
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;
}



Reply all
Reply to author
Forward
0 new messages