Opened 9 years ago

Last modified 9 years ago

#685 new defect

Ne fonctionne pas quand le préfixe des tables n'est pas "spip"

Reported by: http://www.gasteroprod.com/ Owned by: gvincent
Priority: élevée Component: plugins/clevermail
Severity: bloquant Keywords:
Cc:

Change History (1)

comment:1 Changed 9 years ago by https://www.google.com/accounts/o8/id?id=aitoawkwuvwlvimgde5jf8g4kgywkiajjsnv7iq

Les pages du plugin utilisent des boucles comme celle ci :

<BOUCLE_lists(spip_cm_lists){par lst_name}>

Pour ajouter des tables qui seront reconnues par les boucles SPIP quel que soit le préfixe. On peut rajouter dans plugin.xml le pipeline suivant :

<pipeline>
        <nom>declarer_tables_interfaces</nom>
        <inclure>base/clevermail.php</inclure>
        <action>init_tables_interfaces</action>
</pipeline>

et dans base/clevermail.php rajouter cette fonction :

function clevermail_init_tables_interfaces($tables_interfaces){
	$tables_interfaces['table_des_tables']['cm_lists'] = 'cm_lists';
	$tables_interfaces['table_des_tables']['cm_lists_subscribers'] = 'cm_lists_subscribers';
	$tables_interfaces['table_des_tables']['cm_pending'] = 'cm_pending';
	$tables_interfaces['table_des_tables']['cm_posts'] = 'cm_posts';
	$tables_interfaces['table_des_tables']['cm_posts_done'] = 'cm_posts_done';
	$tables_interfaces['table_des_tables']['cm_posts_links'] = 'cm_posts_links';
	$tables_interfaces['table_des_tables']['cm_posts_queued'] = 'cm_posts_queued';
	$tables_interfaces['table_des_tables']['cm_settings'] = 'cm_settings';
	$tables_interfaces['table_des_tables']['cm_subscribers'] = 'cm_subscribers';
	
    return $tables_interfaces;
}

Ensuite on devrait donc pouvoir utiliser :

<BOUCLE_lists(CM_LISTS){par lst_name}>

Mais cela ne fonctionne pas alors que les nouvelles tables sont bien ajoutées à la globale $table_des_tables.

Si quelqu'un voit la solution. PS: cf . Déclarer et ajouter des tables dans la base de données

Note: See TracTickets for help on using tickets.