X-Git-Url: http://git.cyclocoop.org/?p=ptitvelo%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Fbase%2Fobjets.php;fp=www%2Fecrire%2Fbase%2Fobjets.php;h=42e07f76cd0d2d22ddf3a84cf51979a45873dbbb;hp=aae6be119665e37f71926801aa04efd7b8f9dbbe;hb=d18fcb8f27a4016e3fa7b50a9b2255d529dca543;hpb=e847eea4a82a7396dd0abf860f9b30d654f38629 diff --git a/www/ecrire/base/objets.php b/www/ecrire/base/objets.php index aae6be1..42e07f7 100644 --- a/www/ecrire/base/objets.php +++ b/www/ecrire/base/objets.php @@ -828,6 +828,20 @@ function lister_tables_spip($serveur=''){ } return $tables[$serveur]; } + +function lister_toutes_tables($serveur){ + static $tables = array(); + if (!isset($tables[$serveur])){ + $tables[$serveur] = array(); + if (!function_exists("sql_alltable")) + include_spip("base/abstract_sql"); + $ts = sql_alltable('%',$serveur); // toutes les tables + foreach ($ts as $t){ + $tables[$serveur][$t] = $t; + } + } + return $tables[$serveur]; +} /** * Retrouve le nom d'objet à partir de la table @@ -939,7 +953,8 @@ function id_table_objet($type,$serveur='') { $trouver_table = charger_fonction('trouver_table', 'base'); $ts=lister_tables_spip($serveur); - if (in_array($t,$ts)){ + if (in_array($t,$ts) + OR in_array($t,lister_toutes_tables($serveur))){ $desc = $trouver_table($t,$serveur); if (isset($desc['key']['PRIMARY KEY'])) return $desc['key']['PRIMARY KEY'];