diff --git a/ecrire/base/connect_sql.php b/ecrire/base/connect_sql.php index 1a1e6f369a5883276c23bc4c06ff8ac142445fd7..199d6d85b9f8683c342a0f1a96d42334f1f5be4a 100644 --- a/ecrire/base/connect_sql.php +++ b/ecrire/base/connect_sql.php @@ -216,29 +216,34 @@ function _q ($a) { // Nommage bizarre des tables d'objets // http://doc.spip.org/@table_objet function table_objet($type) { - static $surnoms = array( - 'article' => 'articles', - 'auteur' => 'auteurs', - 'breve' => 'breves', - 'document' => 'documents', - 'doc' => 'documents', # pour les modeles - 'img' => 'documents', - 'emb' => 'documents', - 'forum' => 'forums', # hum hum redevient spip_forum par table_objet_sql mais casse par un bete "spip_".table_objet() - 'groupe_mots' => 'groupes_mots', # hum - 'groupe_mot' => 'groupes_mots', # hum - 'groupe' => 'groupes_mots', # hum (EXPOSE) - 'message' => 'messages', - 'mot' => 'mots', - 'petition' => 'petitions', - 'rubrique' => 'rubriques', - 'signature' => 'signatures', - 'syndic' => 'syndic', - 'site' => 'syndic', # hum hum - 'syndic_article' => 'syndic_articles', - 'type_document' => 'types_documents', # hum - 'extension' => 'types_documents' # hum - ); + static $surnoms = null; + if (!$surnoms){ + // passer dans un pipeline qui permet aux plugins de declarer leurs exceptions + $surnoms = pipeline('declarer_tables_objets_surnoms', + array( + 'article' => 'articles', + 'auteur' => 'auteurs', + 'breve' => 'breves', + 'document' => 'documents', + 'doc' => 'documents', # pour les modeles + 'img' => 'documents', + 'emb' => 'documents', + 'forum' => 'forums', # hum hum redevient spip_forum par table_objet_sql mais casse par un bete "spip_".table_objet() + 'groupe_mots' => 'groupes_mots', # hum + 'groupe_mot' => 'groupes_mots', # hum + 'groupe' => 'groupes_mots', # hum (EXPOSE) + 'message' => 'messages', + 'mot' => 'mots', + 'petition' => 'petitions', + 'rubrique' => 'rubriques', + 'signature' => 'signatures', + 'syndic' => 'syndic', + 'site' => 'syndic', # hum hum + 'syndic_article' => 'syndic_articles', + 'type_document' => 'types_documents', # hum + 'extension' => 'types_documents' # hum + )); + } return isset($surnoms[$type]) ? $surnoms[$type] : preg_replace(',ss$,', 's', $type."s"); diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index db9a85809c9a0933df1afa5977982e0e804ccbb9..ad6c3cf48e5124397262714a4de0587d40429174 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -251,6 +251,7 @@ $spip_pipeline = array( 'declarer_tables_interfaces'=>'', 'declarer_tables_principales'=>'', 'declarer_tables_auxiliaires'=>'', + 'declarer_tables_objets_surnoms' => '', 'definir_session' => '', 'delete_all' => '', 'delete_statistiques' => '',