←back to Blog

Compatibilité entre MailPress et les autres… Cforms, Viper Video Quicktags…

MailPressComme beaucoup des utilisateurs de MailPress, je suis frustré de voir l’éditeur visuel cassé lors de la rédaction d’un email. En fait, il se trouve que MailPress fonctionne très bien lorsqu’il est installé sans aucun autre plugin interagissant avec l’éditeur visuel.

J’ai donc cherché une solution sur le net, et sur le groupe de support de MailPress, je suis tombé sur un sujet traitant du problème, et la réponse d’André m’a fait sourire :)

ask viper and cform dev to stop spreading their code all over all admin pages ! ?

En fait, il a en partie raison… Les plugins en questions, Viper Video Quicktags, Cforms et bien d’autres, ajoutent sans trop se soucier leur bouton à l’éditeur visuel de WordPress, et ils ne font pas du tout attention sur quelle page est chargé l’éditeur et encore moins par quel plugin… Mais ils n’ont pas tort… Lorsque j’ajoute le plugin Viper Video Quicktags, je souhaite ajouter les boutons des services vidéos… Et si je déporte l’éditeur visuel sur une page du site, je souhaite également avoir ses boutons…

En fait, le fautif à mes yeux est WordPress, les filtres offrent des superbes possibilités d’extensibilité, mais le nombre d’incompatibilités entre les extensions est en croissance exponentielle… Ici, l’éditeur visuel devrait pouvoir être appelé avec ou sans les filtres. (WordPress le propose déjà pour la fonction get_posts/query_posts)

Mais trêve de bavardage, pour corriger l’incompatibilité, j’ai développé un petit plugin qui corrige la situation pour les 2 plugins (cforms, viper vidéo quicktags), et de la sorte pas besoin de modifier/désactiver l’un ou l’autre des plugins…

<?php
/*
Plugin Name: MailPress Fix TinyMCE
Plugin URI: https://www.herewithme.fr
Description: Fix TinyMCE for MailPress with Viper Video Quicktags and Cforms
Author: Amaury Balmer
Version: 0.1
Author URI: https://www.herewithme.fr
*/

add_action( 'init', 'fixTinyMCE_MailPress', 999 );
function fixTinyMCE_MailPress() {
 if ( !isset($_GET['page']) && $_GET['page'] != 'mailpress_write' ) {
 return false;
 }

 // Viper video quicktags
 global $VipersVideoQuicktags; 

 remove_filter( 'tiny_mce_version', array(&$VipersVideoQuicktags, 'tiny_mce_version') );
 remove_filter( 'mce_external_plugins', array(&$VipersVideoQuicktags, 'mce_external_plugins') );
 remove_action( 'edit_form_advanced', array(&$VipersVideoQuicktags, 'AddQuicktagsAndFunctions') );
 remove_action( 'edit_page_form', array(&$VipersVideoQuicktags, 'AddQuicktagsAndFunctions') );
 if ( 1 == $VipersVideoQuicktags->settings['tinymceline'] )
 remove_filter( 'mce_buttons', array(&$VipersVideoQuicktags, 'mce_buttons') );
 else
 remove_filter( 'mce_buttons_' . $VipersVideoQuicktags->settings['tinymceline'], array(&$VipersVideoQuicktags, 'mce_buttons') );

 // Cforms
 remove_filter( 'mce_external_plugins', 'cforms_plugin');
 remove_filter( 'mce_buttons', 'cforms_button');

 return true;
}
?>

Le fichier est également disponible au téléchargement ici.

9 réponses à “Compatibilité entre MailPress et les autres… Cforms, Viper Video Quicktags…”

  1. Avatar de gr0b1
    gr0b1

    il y a une options dans cform de protection du tinymce. si on active cette option : plus aucun probleme avec mailpress.

  2. Avatar de arena
    arena

    désolé, peux tu supprimer ce commentaire et le précédent. merci

  3. Avatar de Black Hat
    Black Hat

    J’avais abandonné mailpress a cause de ce genre de soucit :P

  4. Avatar de Alama
    Alama

    En effet, l’activation de Cform débranche le tinyMCE dans l’editeur MailPress… Par contre, le Kimili Flash Embeder, lui ne pose aucun souci, le bouton apparait bien dans tous les éditeurs.. Ne faudrait’il pas simplement voir comment kimili impémente son bouton et simplement faire pareil?

    Je vais tester avec NextGen, car c’est important.. ;)

  5. Avatar de Alama
    Alama

    Et bien voilà!! NextGen lui, comme Kimili, ne casse pas le TinyMCE, tout va bien et leurs boutons sont présents partout, en page, post et MailPress.. donc, à mon avis, le responsable n’est ni MailPress ni WordPress, mais bien Cforms et les plugins qui implémentent leur bouton de manière sans doute pas propre ou intrusive..

    Faudrait passer un peu de temps a comparer les PHP qui gere le Tiny de ces plugins et voir pk certains ne font pas les choses proprement.

  6. Avatar de Sandrine
    Sandrine

    Bonsoir,

    Je rencontre ce même type d’erreur :
    Parse error: syntax error, unexpected T_STRING, expecting
    T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /homez.157/mysite/www/
    wp-content/plugins/mailpress/MailPress.php on line 95
    et pour le site concerné CForms n’est pas activé.

    Merci pour votre aide.

  7. Avatar de arena
    arena

    tu es sous php4. voir avec ton hébergeur pour passer sous php5

  8. Avatar de oblik
    oblik

    Il y a une case dans les options du cforms :
    « A cocher si vous rencontrez des erreurs avec TinyMCE causée par d’autres extensions. »
    Cela résoud les soucis avec Mailpress

  9. Avatar de Blog sexe
    Blog sexe

    Pas évident, j’ai aussi le souci, c’est de plus en plus délicat je trouve et pénible de jongler avec tout les filtres qui se multiplie.