Allan
25/11/2007, 20h48
Ajouter un Editeur à vos modules
__________________
Par Maria (Microhellas)
http://www.vbulletin.org/forum/showthread.php?t=135708
merci de vérifier que ça marche ;)
Instructions Etape par Etape:
1.- Dans votre fichier product-nom.xml
a) Dans la structure de la table ajouter un champ:
`message` mediumtext,b) Dans la section Modules (Plugins) (en-dessous des templates et avant les phrases) ajouter:
<plugin active="1">
<title>Obtenir Editeur</title>
<hookname>editor_toolbar_start</hookname>
<phpcode><![CDATA[if ($forumid == 'Le_Nom_de_votre_Module')
{
global $setting;
$setting['allow_bbcode'] = '1';
$show['img_bbcode'] = $setting['allow_imgcode'];
$toolbartype = $setting['allow_bbcode'] ? is_wysiwyg_compatible(-1, $editor_type) : 0;
$show['wysiwyg_compatible'] = (is_wysiwyg_compatible(2, $editor_type) == 2);
$show['editor_toolbar'] = ($toolbartype > 0);
$editor_template_name = ($toolbartype ? 'editor_toolbar_on' : 'editor_toolbar_off');
}]]></phpcode>
</plugin>2.- Dans votre fichier PHP
a] Dans votre Procédure Ajouter un Nouveau Formulaire ajoutez:
require_once(DIR . '/includes/functions_editor.php');
$show['wysiwyg'] = ($setting['allow_bbcode'] ? is_wysiwyg_compatible() : 0);
$istyles_js = construct_editor_styles_js();
$show['qr_require_click'] = 0;
$editorid = construct_edit_toolbar('', 0, 'Le_Nom_de_votre_Module', ($setting['allow_smilies'] ? 1 : 0), 1, false, 'qr');
$messagearea = "
<script type=\"text/javascript\">
<!--
var require_click = false;
var threaded_mode = 1;
var is_last_page = false;
// -->
</script>
$messagearea
";b] Dans votre Procédure Sauvegarder le Nouveau Formulaire
require_once('./includes/functions_wysiwyg.php');
$message= convert_wysiwyg_html_to_bbcode($vbulletin->GPC['message']);
$message = $vbulletin->db->escape_string($message);et bien sûr n'oublier pas d'inclure le champ du message dans votre code d'Insertion
c] Dans votre Procédure Modification du Formulaire
require_once(DIR . '/includes/functions_editor.php');
$show['wysiwyg'] = ($setting['allow_bbcode'] ? is_wysiwyg_compatible() : 0);
$istyles_js = construct_editor_styles_js();
$show['qr_require_click'] = 0;
$editorid = construct_edit_toolbar($article[message], 0, 'Le_Nom_de_votre_Module', ($setting['allow_smilies'] ? 1 : 0), 1, false, 'qr');
$messagearea = "
<script type=\"text/javascript\">
<!--
var require_click = false;
var threaded_mode = 1;
var is_last_page = false;
// -->
</script>
$messagearea
";
$article[message] est le nom du champ de la variable. Faites attention en remplaçant par le bon nom.
d] Dans votre Procédure Sauvegarder Formulaire Modifié:
require_once('./includes/functions_wysiwyg.php');
$message= convert_wysiwyg_html_to_bbcode($vbulletin->GPC['message']);
$message = $vbulletin->db->escape_string($message);Aussi ici, n'oubliez pas d'ajouter le champ message dans votre Mise à jour
3.- Encore dans votre fichier product-nom.xml dans la section templates, dans n'importe quel formulaire où vous voulez utiliser l'Editeur, vous devez ajouter:
<form enctype="multipart/form-data" action="Votre_Fichier_PHP" name="vbform" method="post" <if condition="!is_browser('webtv')"> onsubmit="return vB_Editor['$editorid'].prepare_submit(0, $vboptions[postminchars])"</if>>et dans la partie template où vous voulez afficher l'Editeur, ajoutez:
$messagearea
__________________
Par Maria (Microhellas)
http://www.vbulletin.org/forum/showthread.php?t=135708
merci de vérifier que ça marche ;)
Instructions Etape par Etape:
1.- Dans votre fichier product-nom.xml
a) Dans la structure de la table ajouter un champ:
`message` mediumtext,b) Dans la section Modules (Plugins) (en-dessous des templates et avant les phrases) ajouter:
<plugin active="1">
<title>Obtenir Editeur</title>
<hookname>editor_toolbar_start</hookname>
<phpcode><![CDATA[if ($forumid == 'Le_Nom_de_votre_Module')
{
global $setting;
$setting['allow_bbcode'] = '1';
$show['img_bbcode'] = $setting['allow_imgcode'];
$toolbartype = $setting['allow_bbcode'] ? is_wysiwyg_compatible(-1, $editor_type) : 0;
$show['wysiwyg_compatible'] = (is_wysiwyg_compatible(2, $editor_type) == 2);
$show['editor_toolbar'] = ($toolbartype > 0);
$editor_template_name = ($toolbartype ? 'editor_toolbar_on' : 'editor_toolbar_off');
}]]></phpcode>
</plugin>2.- Dans votre fichier PHP
a] Dans votre Procédure Ajouter un Nouveau Formulaire ajoutez:
require_once(DIR . '/includes/functions_editor.php');
$show['wysiwyg'] = ($setting['allow_bbcode'] ? is_wysiwyg_compatible() : 0);
$istyles_js = construct_editor_styles_js();
$show['qr_require_click'] = 0;
$editorid = construct_edit_toolbar('', 0, 'Le_Nom_de_votre_Module', ($setting['allow_smilies'] ? 1 : 0), 1, false, 'qr');
$messagearea = "
<script type=\"text/javascript\">
<!--
var require_click = false;
var threaded_mode = 1;
var is_last_page = false;
// -->
</script>
$messagearea
";b] Dans votre Procédure Sauvegarder le Nouveau Formulaire
require_once('./includes/functions_wysiwyg.php');
$message= convert_wysiwyg_html_to_bbcode($vbulletin->GPC['message']);
$message = $vbulletin->db->escape_string($message);et bien sûr n'oublier pas d'inclure le champ du message dans votre code d'Insertion
c] Dans votre Procédure Modification du Formulaire
require_once(DIR . '/includes/functions_editor.php');
$show['wysiwyg'] = ($setting['allow_bbcode'] ? is_wysiwyg_compatible() : 0);
$istyles_js = construct_editor_styles_js();
$show['qr_require_click'] = 0;
$editorid = construct_edit_toolbar($article[message], 0, 'Le_Nom_de_votre_Module', ($setting['allow_smilies'] ? 1 : 0), 1, false, 'qr');
$messagearea = "
<script type=\"text/javascript\">
<!--
var require_click = false;
var threaded_mode = 1;
var is_last_page = false;
// -->
</script>
$messagearea
";
$article[message] est le nom du champ de la variable. Faites attention en remplaçant par le bon nom.
d] Dans votre Procédure Sauvegarder Formulaire Modifié:
require_once('./includes/functions_wysiwyg.php');
$message= convert_wysiwyg_html_to_bbcode($vbulletin->GPC['message']);
$message = $vbulletin->db->escape_string($message);Aussi ici, n'oubliez pas d'ajouter le champ message dans votre Mise à jour
3.- Encore dans votre fichier product-nom.xml dans la section templates, dans n'importe quel formulaire où vous voulez utiliser l'Editeur, vous devez ajouter:
<form enctype="multipart/form-data" action="Votre_Fichier_PHP" name="vbform" method="post" <if condition="!is_browser('webtv')"> onsubmit="return vB_Editor['$editorid'].prepare_submit(0, $vboptions[postminchars])"</if>>et dans la partie template où vous voulez afficher l'Editeur, ajoutez:
$messagearea