Concernant mon problème de SQL, je l’ai résolu en modifiant le fichier inc/lettres_pipelines.php. Avant la ligne 143, il faut faire un test comme ceci :
if (count($abonnes)) /* ajout pour tester s'il y a des abonnés */
$flux['data'].= afficher_objets('abonne', _T('lettresprive:tous_abonnes_rubrique'), array('FROM' => 'spip_abonnes', 'WHERE' => 'id_abonne IN ('.$abonnes_virgules.')', 'ORDER BY' => 'maj DESC'), array('id_rubrique' => $id_rubrique));
Apparemment, c’était un bug de SPIP-Lettres toléré précédemment par SPIP 2.0. La requête ne pouvait pas s’exécuter, mais SPIP ne disait rien. Le nouveau système de debug de SPIP 2.1 est moins tolérant. Potentiellement, il pourrait y avoir d’autres cas comme celui-là, dans SPIP-lettres ou d’autres plugins...
Pour ma part, pour passer SPIP-lettres en version SPIP 2.1.1, j’ai fait le choix de supprimer le plugin SPIP-surcharges et de rapatrier ce qui est nécessaire dans le plugin SPIP-lettres. Voici le détail :
– Récupération du fichier ecrire/exec/naviguer.php du core SPIP 2.1.1 pour le placer dans le répertoire exec du plugin SPIP-lettres. Ajout dans ce fichier du pipeline contenu_naviguer. Avant la ligne 401, ajouter la ligne suivante :
$res .= pipeline('contenu_naviguer', array('args' => array('exec' => 'naviguer', 'id_rubrique' => $id_rubrique), 'data' => ''));
(ATTENTION ! Ce fichier surcharge celui du core SPIP -> à vérifier en cas de nouvelle version de SPIP)
– Modification du fichier inc/lettres_pipelines.php. Ajout du test de comptage des abonnés (cf. début de mon message)
– Modification du fichier lettres_fonctions.php. Ajout des fonctions de l’ancien plugin SPIP-Surcharges pour l’import/export de CSV (à récupérer dans le fichier surcharges_fonctions.php de l’ancien plugin SPIP-surcharges) :
- surcharges_filtre_export_csv()
- surcharges_filtre_import_csv()
- surcharges_exporter_csv()
- surcharges_importer_csv()
– Modification du fichier plugin.xml pour supprimer la dépendance au plugin SPIP-Surcharges. Supprimer la ligne :
– Modification du fichier base/lettres.php pour corriger le problème sur la fonction plugin_get_infos() (cf. mon précédent message).
Voilà, si ça peut être utile... Testé en local et sur serveur mutualisé. Tout semble fonctionner.