X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fecrire%2Fbase%2Fobjets.php;h=42e07f76cd0d2d22ddf3a84cf51979a45873dbbb;hb=d18fcb8f27a4016e3fa7b50a9b2255d529dca543;hp=5f5394d3165156324a8a23fce5f0adf4f0e8100f;hpb=5be150361b3c836d9206941ba43f862df11466db;p=ptitvelo%2Fweb%2Fwww.git diff --git a/www/ecrire/base/objets.php b/www/ecrire/base/objets.php index 5f5394d..42e07f7 100644 --- a/www/ecrire/base/objets.php +++ b/www/ecrire/base/objets.php @@ -142,7 +142,7 @@ function lister_tables_objets_sql($table_sql=null, $desc=array()){ array( 'champ' => 'statut', 'publie' => 'publie', - 'previsu' => 'publie,prop,prepa', + 'previsu' => 'publie,prop,prepa/auteur', 'post_date' => 'date', 'exception' => 'statut' ) @@ -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'];