Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
? PLEASE
Hors ligne
Salut,tu as bien envoyer les fichiers voulus sur ton ftp mais comme dit fanf73, tu dois suivre les indications dans le fichier " lisezmoi.txt " 
Dernière modification par Guims (06-01-2011 19:20:33)
Hors ligne
J'abandonne
Toujours des erreur
Hors ligne
Est-ce que le fichier install_mod.php est bien dans le même dossier que viewforum.php, viewtopic.php, delete.php, ... ?
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Non Pourquoi, on ma dit de mettre tous a la racine
Hors ligne
A la racine de TON FORUM, pas de ton site
. Vu que tu es sous FluxBB 1.4.2, merci d'utiliser l'autre version de la mod, où tu as déjà posté : http://fluxbb.fr/forums/viewtopic.php?pid=96286#p96286
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Bonjour tout le monde moi aussi j'ai quelque problème d'installation !! Je suis en version 1.2.23 de fluxxbb !!
Mais depuis que j'ai essayer d'installer Another Private Messaging System 1.2.1, je ne peux plus accédez a mon forum et cela me marque :
Parse error: syntax error, unexpected $end in /home/a6243412/public_html/Forum/include/functions.php on line 1127
Comment faire pour remédiez a cette erreur ?
Merci Nero
Hors ligne
Bonjour,
Vérifie les modifications que tu as apportées sont correctes, que tu n'as rien oublié ni fait d'erreur 
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Merci, de toute façon je vais passer a la nouvelle version de FluxBB est tout recommencer !! Merci encore Fan !! 
Hors ligne
Je l'ai sur mon forum elle fonctionne très bien ...
Hors ligne
Merci Guims !! Je viens de l'installer c'est nikel !! 
Hors ligne
Cool alors, je commençais à trouver cela dommage de passer en 1.4 parce que tu n'arrive pas à installer une mod 
Perso jsuis fan de la 1.2.*
Hors ligne
Je tiens à vous signaler que cette mod contient 3/4 failles corrigées dans ma version 1.4.
Perso jsuis fan de la 1.2.*
Une raison à celà? 
Hors ligne
Salut adaur,
La raison c'est que je suis habituer à cette version
, j'imagine bien qu'en gardant cette version je vais me retrouver avec beaucoup de failles ... Je n'ai pas les connaissances pour reprendre cette Mod (ou même d'autres), sinon je pense que je l'aurait fait
.
Hors ligne
merci
Hors ligne
Merci 
Mais moi quand j'essaye de l'installer, j'obtient tout le temps une erreur sur les fichiers Index et function . Normal ? Non mais comment faire,
Jokerz,
Dernière modification par jokerz (16-05-2011 21:42:44)
Hors ligne
Bonjour.
Dans chaque Mod, tu as un "readme" ou "lisez-moi", c'est ce petit fichier qui te dit quoi faire comme modification et où, pour que la mod fonctionne...As-tu suivis cela ?
Hors ligne
Oui, c'est bon. En fait, je modifiais une mauvaise ligne 
Hors ligne
Dès que tu installe plusieurs Mods sur ton fofo, il faut bien faire attention à ce qu'on modifie, suivre le readme bêtement n'est pas l'idéal mais c'est cool, tu as vite compris 
Hors ligne
Bonjour,
Je viens de finir l'installation (enfin depuis 20h00) mais depuis j'ai une erreur embêtante : Si je laisse tel quel les fichiers j'ai un petit losange bleu avec un point d'interrogation à la place des é ê è ou à ! Si je mets mon ancien fichier template/common.php les caractères redeviennent bien mais là j'ai l'option MP dans le profil qui n'apparaît plus du coup ! comment faire ? le bug vient-il du fichier lang ?
ma version 1.2.22
Version mod : 1.2.1 Pour PunBB : 1.2.x
<?php
/***********************************************************************Copyright (C) 2002-2005 Rickard Andersson (rickard@punbb.org)
This file is part of PunBB.
PunBB is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.PunBB is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA************************************************************************/
// Activez le mode DEBUG en enlevant // du début de la ligne ci-dessous
//define('PUN_DEBUG', 1);// Ceci permettra d'afficher en bas de page toutes les requêtes exécutées
// N'ACTIVEZ PAS cela sur un environnement de production !
//define('PUN_SHOW_QUERIES', 1);if (!defined('PUN_ROOT'))
exit('La constante PUN_ROOT doit être définie est doit pointer le repertoire racine d\'une installation fonctionnelle de FluxBB.');// Load the functions script
require PUN_ROOT.'include/functions.php';// Reverse the effect of register_globals
unregister_globals();@include PUN_ROOT.'config.php';
// If PUN isn't defined, config.php is missing or corrupt
if (!defined('PUN'))
exit('Le fichier "config.php" n\'existe pas ou est endommagé. Veuillez lancer <a href="install.php">install.php</a> pour installer FluxBB.');// Record the start time (will be used to calculate the generation time for the page)
list($usec, $sec) = explode(' ', microtime());
$pun_start = ((float)$usec + (float)$sec);// Make sure PHP reports all errors except E_NOTICE. FluxBB supports E_ALL, but a lot of scripts it may interact with, do not.
error_reporting(E_ALL ^ E_NOTICE);// Turn off magic_quotes_runtime
if (get_magic_quotes_runtime())
set_magic_quotes_runtime(0);// Strip slashes from GET/POST/COOKIE (if magic_quotes_gpc is enabled)
if (get_magic_quotes_gpc())
{
function stripslashes_array($array)
{
return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
}$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
$_COOKIE = stripslashes_array($_COOKIE);
}// Seed the random number generator (PHP <4.2.0 only)
if (version_compare(PHP_VERSION, '4.2.0', '<'))
mt_srand((double)microtime()*1000000);// If a cookie name is not specified in config.php, we use the default (forum_cookie)
if (empty($cookie_name))
$cookie_name = 'forum_cookie';// Define a few commonly used constants
define('PUN_UNVERIFIED', 32000);
define('PUN_ADMIN', 1);
define('PUN_MOD', 2);
define('PUN_GUEST', 3);
define('PUN_MEMBER', 4);// Load DB abstraction layer and connect
require PUN_ROOT.'include/dblayer/common_db.php';// Start a transaction
$db->start_transaction();// Load cached config
@include PUN_ROOT.'cache/cache_config.php';
if (!defined('PUN_CONFIG_LOADED'))
{
require PUN_ROOT.'include/cache.php';
generate_config_cache();
require PUN_ROOT.'cache/cache_config.php';
}// Enable output buffering
if (!defined('PUN_DISABLE_BUFFERING'))
{
// For some very odd reason, "Norton Internet Security" unsets this
$_SERVER['HTTP_ACCEPT_ENCODING'] = isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : '';// Should we use gzip output compression?
if ($pun_config['o_gzip'] && extension_loaded('zlib') && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false || strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate') !== false))
ob_start('ob_gzhandler');
else
ob_start();
}// Check/update/set cookie and fetch user info
$pun_user = array();
check_cookie($pun_user);// Attempt to load the common language file
@include PUN_ROOT.'lang/'.$pun_user['language'].'/common.php';
if (!isset($lang_common))
exit('Il n\'y a pas de pack de langue \''.pun_htmlspecialchars($pun_user['language']).'\' d\'installé. Veuillez ré-installer une langue de ce nom.');/* Start MOD PM */
require PUN_ROOT.'lang/'.$pun_user['language'].'/pms.php';
/* End MOD PM */// Check if we are to display a maintenance message
if ($pun_config['o_maintenance'] && $pun_user['g_id'] > PUN_ADMIN && !defined('PUN_TURN_OFF_MAINT'))
maintenance_message();// Load cached bans
@include PUN_ROOT.'cache/cache_bans.php';
if (!defined('PUN_BANS_LOADED'))
{
require_once PUN_ROOT.'include/cache.php';
generate_bans_cache();
require PUN_ROOT.'cache/cache_bans.php';
}// Check if current user is banned
check_bans();// Update online list
update_users_online();
#---------[ 4. OUVRIR ]---------------------------------------------------------
#
include/common.php
#
#---------[ 5. TROUVER ]---------------------------------------------------------
#
// Check if we are to display a maintenance message
if ($pun_config['o_maintenance'] && $pun_user['g_id'] > PUN_ADMIN && !defined('PUN_TURN_OFF_MAINT'))
maintenance_message();
#
#---------[ 6. REMPLACER PAR ]---------------------------------------------------
#
/* Start MOD PM */
require PUN_ROOT.'lang/'.$pun_user['language'].'/pms.php';
/* End MOD PM */
// Check if we are to display a maintenance message
if ($pun_config['o_maintenance'] && $pun_user['g_id'] > PUN_ADMIN && !defined('PUN_TURN_OFF_MAINT'))
maintenance_message();
fichier lang.php
<?php
// Language definitions used by the Private Message System-mod
$lang_pms = array(
// Common
'Login required' => 'Vous devez vous identifier pour utiliser les messages privés',
'Disabled PM' => 'Vous avez désactivé la messagerie privée',
'Private Messages' => 'Messages privés',
'PM' => '<acronym title="Messages Privés">MP</acronym>',
'Quick message' => 'Envoyer un message privé',
'Write message' => 'Nouveau message',
'Inbox' => 'Boîte de réception',
'Outbox' => 'Messages envoyés',
'Contacts' => 'Contacts',
'Delete' => 'Supprimer',
'Please confirm' => 'Veuillez confirmer',
'New message' => 'Vous avez un message privé non lu !',
'New messages' => 'Vous avez %s messages privés non lus !',
'See new' => 'Voir le nouveau message',
'See news' => 'Voir les nouveaux messages',
'No new' => 'Pas de nouveau message',
'Full boxes' => 'Vos boîtes de messages privés sont pleines !',
'Empty boxes' => 'Vos boîtes de messages privés sont vides.',
'Full to' => 'Boîtes de messages privés pleines à %s',
'Select' => 'Sélection',
'For select' => 'Pour la sélection :',
// List a box
'Date' => 'Date',
'Subject' => 'Sujet',
'Sender' => 'Expéditeur',
'Receiver' => 'Destinataire',
'Mark as read select' => 'Marquer comme lus',
'Read redirect' => 'Les messages ont été marqués comme lus. Redirection...',
'Mark as unread select' => 'Marquer comme non lus',
'Unread redirect' => 'Les messages ont été marqués comme non lus. Redirection...',
'Mark all' => 'Marquer tous les messages comme lus',
'Read all redirect' => 'Tous les messages ont été marqués comme lus. Redirection...',
'Must select' => 'Vous devez sélectionner des messages',
'No messages' => 'Aucun message',
// View a message
'Reply' => 'Répondre',
'Quote' => 'Citer',
'Deleted User' => 'Utilisateur supprimé',
// Send a message
'Send a message' => 'Envoyer un message',
'Send to' => 'Envoyer à',
'Send multiple' => 'Vous pouvez envoyer le message à plusieurs destinataires en les séparant par des virgules.',
'Save message' => 'Enregistrer le message dans la boîte "Messages envoyés"',
'Send' => 'Envoyer',
'Sent redirect' => 'Message envoyé au membre. Redirection...',
'No user' => 'Il n\'y a pas de membre avec le nom d\'utilisateur "%s".',
'Dest full' => 'La boîte de réception à %s est pleine, vous ne pouvez pas envoyer de message à cet utilisateur.',
'Sender full' => 'Impossible d\'enregistrer le message, vos boîtes sont pleines !',
'Flood' => 'Patientez au moins %s secondes entre deux message. Merci d\'essayer à nouveau un peu plus tard.',
'Must receiver' => 'Vous devez indiquer au moins un destinataire',
'Too many receiver' => 'Vous ne pouvez envoyer un message qu\'à %s destinataires maximum à la fois.',
'User blocked' => '%s refuse les messages privés.',
'User disable PM' => '%s a désactivé les messages privés.',
// Multidelete
'Multidelete' => 'Supprimer plusieurs messages',
'Delete messages comply' => 'Etes-vous sûr de vouloir supprimer les messages sélectionnés ?',
'Deleted redirect' => 'Messages supprimés. Redirection...',
// Delete
'Delete message' => 'Supprimer message',
'Delete message comply' => 'Etes-vous sûr de vouloir supprimer le message ?',
'Del redirect' => 'Message supprimé. Redirection...',
// Contacts
'Contacts list' => 'Liste des contacts',
'Rights contact' => 'Droits du contact',
'Authorized messages' => 'Messages autorisés',
'Authorize' => 'Autoriser',
'Authorize from' => 'Autoriser %s à vous envoyer des messages privés',
'Refused messages' => 'Messages refusés',
'Refuse' => 'Refuser',
'Refuse from' => 'Refuser les messages privés de %s',
'Refuse user' => 'Refuser les messages privés provenants de ce contact',
'Add to contacts' => 'Ajouter aux contacts',
'Add contact' => 'Ajouter un contact',
'Contact name' => 'Nom du contact',
'User already contact' => 'Cet utilisateur est déjà dans votre liste de contact',
'User cannot use' => 'L\'utilisateur ne peut pas utiliser la messagerie',
'User not exists' => 'L\'utilisateur ne semble pas exister.',
'Added contact redirect' => 'Contact ajouté. Redirection...',
'Add' => 'Ajouter',
'Quick message x' => 'Envoyer un message privé à %s',
'Status redirect' => 'Statut contact modifié. Redirection...',
'Multiples status redirect' => 'Statuts contacts modifiés. Redirection...',
'No contacts' => 'Aucun contact',
'Must select contacts' => 'Vous devez sélectionner des contacts',
// Multidelete contacts
'Multidelete contacts' => 'Supprimer plusieurs contacts',
'Delete contacts comply' => 'Etes-vous sûr de vouloir supprimer les contacts sélectionnés ?',
'Deleted contacts redirect' => 'Contacts supprimés. Redirection...',
// Delete contact
'Delete x' => 'Supprimer contact "%s"',
'Delete contact confirm' => 'Etes-vous sûr de vouloir supprimer ce contact ?',
'Deleted contact redirect' => 'Contact supprimé. Redirection...',
// profil.php
'use_pm_option' => 'Activer la messagerie privée',
'email_option_infos' => 'En activant cette option, un courriel sera envoyé pour tout nouveau message privé.',
'email_option' => 'Notification des messages privés par courriel',
'popup_option_infos' => 'En activant cette option, une fenêtre pop-up s\'ouvrira sur les forums pour tout nouveau message privé.',
'popup_option' => 'Notification des messages privés par pop-up',
);Merci de votre aide, ça fait maintenant 6 heures que je cherche, il est 2 heures du mat et je ne trouve pas !
Dernière modification par ziris (18-08-2011 02:03:41)
Hors ligne
je ne sais pas comment j'ai fais mais ça marche là donc je ne touche plus à rien !
Hors ligne
bonjour,
Ce qui me gène le plus dans les plugins de messages privés quels qu'ils soient:
l'inscription en clair, comme dans tous les forums d'ailleurs qui ont ça, des MP en base de données!
je trouverais normal qu'on les crypte un minimum.
si il y a une zone privées à respecter par toute personne administrant un forum,
c'est bien celle là!
donc ma question, double, avec option:
pourquoi n'est-ce pas en natif, obligatoire?
et comment y remédier le plus facilement possible?
sans alourdir non seulement le code mais aussi les requêtes!
merci par avance.
oui donc il suffit d'une sauvegarde ou d'une importation partielle,
pour se retrouver avec tout le contenu lisible facilement...
sans avoir besoin de chercher en BDD et se ruiner les yeux!
ce qui signifie qu'il faudrait également que ça reste compatible lors d'une conversion!
Dernière modification par fakrys (18-05-2013 15:26:05)
Fab'
Hors ligne
J'ai un petit soucis avec cette mod, et ce, malgré des installations différentes et répétées.
Je développe :
Dans Mon profil, la case ACTIVER LA MESSAGERIE PRIVEE reste toujours décochée.
Malgré la mise à jour du profil, elle reste décochée. (pourtant, ca l'active ou la desactive bien).
Quand je clique sur la case, j'ai une petite erreur qui s'affiche d'ailleurs :
"Null" a la valeur Null ou n'est pas un objet. ligne 126 dans profil.php
Quand je vais voir cette ligne sur le fichier, je n'ai rien si ce n'est un appel de header.php
Dernière modification par Atheus (28-10-2013 16:15:01)
Hors ligne
Bonjour à tous,
J'ai la version Private Messaging - v1.1.2 qui fonctionne très bien sur mon forum.
Une seule petite chose manque : le fait de pouvoir lire le message sur lequel on répond... Lorsque l'on est sur pms_send.php
J'aimerai obtenir comme sur post.php: un bloc pour répondre, puis en dessous les précédent messages...
Répondre serait alors beaucoup plus facile!
Voici mon fichier pms_send.php (qui doit êetre l'original) :
<?php
/***********************************************************************
Copyright (C) 2002, 2003, 2004 Rickard Andersson (rickard@punbb.org)
This file is part of PunBB.
PunBB is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
PunBB is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
************************************************************************/
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
// No guest here !
if ($pun_user['is_guest'])
redirect('login.php', $lang_pms['Login required']);
// User enable PM ?
if (!$pun_user['use_pm'] == '1')
redirect('profile.php?section=privacy&id='.$pun_user['id'], $lang_pms['Disabled PM']);
// Are we allowed to use this ?
if (!$pun_config['o_pms_enabled'] == '1' || $pun_user['g_pm'] == 0)
message($lang_common['No permission']);
// Load the additionals language files
require PUN_ROOT.'lang/'.$pun_user['language'].'/post.php';
$p_destinataire = '';
$p_contact = '';
$p_subject = '';
$p_message = '';
$smilies = 1;
$save = 1;
$r = (isset($_REQUEST['reply']) ? intval($_REQUEST['reply']) : 0);
$q = (isset($_REQUEST['quote']) ? intval($_REQUEST['quote']) : 0);
$from_profile = isset($_REQUEST['from_profile']) ? intval($_REQUEST['from_profile']) : '';
$tid = isset($_REQUEST['tid']) ? intval($_REQUEST['tid']) : '';
$errors = array();
if (isset($_POST['form_sent']))
{
// Make sure form_user is correct
if ($_POST['form_user'] != $pun_user['username'])
message($lang_common['Bad request']);
// Smileys
$smilies = isset($_POST['hide_smilies']) ? 0 : 1;
$save = isset($_POST['savemessage']) ? 1 : 0;
// Flood protection
if ($pun_user['g_id'] > PUN_GUEST)
{
$result = $db->query('SELECT posted FROM '.$db->prefix.'messages ORDER BY id DESC LIMIT 1') or error('Impossible de trouver la durée de protection contre le flood', __FILE__, __LINE__, $db->error());
$last = $db->result($result);
if ((time() - $last) < $pun_user['g_post_flood'])
$errors[] = sprintf($lang_pms['Flood'],$pun_user['g_post_flood']);
}
// Check users boxes
if ($pun_user['g_pm_limit'] != 0 && $pun_user['g_id'] > PUN_GUEST && $pun_user['total_pm'] >= $pun_user['g_pm_limit'] && $save)
$errors[] = $lang_pms['Sender full'];
// Build receivers list
$p_destinataire = pun_trim($_POST['p_username']);
$p_contact = isset($_POST['p_contact']) ? pun_trim($_POST['p_contact']) : '';
$dest_list = explode(',', $p_destinataire);
if ($p_contact != '0')
$dest_list[] = $p_contact;
$dest_list = array_map('pun_trim', $dest_list);
$dest_list = array_unique($dest_list);
foreach ($dest_list as $k=>$v)
{
if ($v == '') unset($dest_list[$k]);
}
if (count($dest_list) < 1)
$errors[] = $lang_pms['Must receiver'];
elseif (count($dest_list) > $pun_config['o_pms_max_receiver'])
$errors[] = sprintf($lang_pms['Too many receiver'], $pun_config['o_pms_max_receiver']);
$destinataires = array(); $i = 0;
foreach ($dest_list as $destinataire)
{
// Get receiver infos
$result = $db->query('SELECT u.id, u.username, u.email, u.notify_mp, u.use_pm, g.g_id, g.g_pm_limit, COUNT(pm.id) AS total_pm, c.allow_msg FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON u.group_id=g.g_id LEFT JOIN '.$db->prefix.'messages AS pm ON pm.owner=u.id LEFT JOIN '.$db->prefix.'contacts AS c ON (c.user_id=u.id AND c.contact_id='.$pun_user['id'].') WHERE u.id!=1 AND u.username=\''.$db->escape($destinataire).'\' GROUP BY u.username') or error('Impossible de récupérer l\'identifiant de l\'utilisateur.', __FILE__, __LINE__, $db->error());
// List users infos
if ($destinataires[$i] = $db->fetch_assoc($result))
{
// Receivers enable PM ?
if (!$destinataires[$i]['use_pm'] == '1')
$errors[] = sprintf($lang_pms['User disable PM'], pun_htmlspecialchars($destinataire));
// Check receivers boxes
elseif ($destinataires[$i]['g_id'] > PUN_GUEST && $destinataires[$i]['g_pm_limit'] != 0 && $destinataires[$i]['total_pm'] >= $destinataires[$i]['g_pm_limit'])
$errors[] = sprintf($lang_pms['Dest full'], pun_htmlspecialchars($destinataire));
// Are we authorized?
elseif ($pun_user['g_id'] > PUN_GUEST && $destinataires[$i]['allow_msg'] !== null && $destinataires[$i]['allow_msg'] == 0)
$errors[] = sprintf($lang_pms['User blocked'], pun_htmlspecialchars($destinataire));
}
else
$errors[] = sprintf($lang_pms['No user'], pun_htmlspecialchars($destinataire));
$i++;
}
// Check subject
$p_subject = pun_trim($_POST['req_subject']);
if ($p_subject == '')
$errors[] = $lang_post['No subject'];
elseif (pun_strlen($p_subject) > 70)
$errors[] = $lang_post['Too long subject'];
elseif ($pun_config['p_subject_all_caps'] == '0' && strtoupper($p_subject) == $p_subject && $pun_user['g_id'] > PUN_GUEST)
$p_subject = ucwords(strtolower($p_subject));
// Clean up message from POST
$p_message = pun_linebreaks(pun_trim($_POST['req_message']));
// Check message
if ($p_message == '')
$errors[] = $lang_post['No message'];
else if (strlen($p_message) > 65535)
$errors[] = $lang_post['Too long message'];
else if ($pun_config['p_message_all_caps'] == '0' && strtoupper($p_message) == $p_message && $pun_user['g_id'] > PUN_GUEST)
$p_message = ucwords(strtolower($p_message));
// Validate BBCode syntax
if ($pun_config['p_message_bbcode'] == '1' && strpos($p_message, '[') !== false && strpos($p_message, ']') !== false)
{
require PUN_ROOT.'include/parser.php';
$p_message = preparse_bbcode($p_message, $errors);
}
// Send message(s)
if (empty($errors) && !isset($_POST['preview']))
{
if ($pun_config['o_pms_notification'] == '1')
{
require_once PUN_ROOT.'include/email.php';
// Load the "new_pm" template
$mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$pun_user['language'].'/mail_templates/new_pm.tpl'));
// The first row contains the subject
$first_crlf = strpos($mail_tpl, "\n");
$mail_subject = trim(substr($mail_tpl, 8, $first_crlf-8));
$mail_message = trim(substr($mail_tpl, $first_crlf));
$mail_subject = str_replace('<board_title>', $pun_config['o_board_title'], $mail_subject);
$mail_message = str_replace('<sender>', $pun_user['username'], $mail_message);
$mail_message = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message);
}
foreach ($destinataires as $dest)
{
$db->query('INSERT INTO '.$db->prefix.'messages (owner, subject, message, sender, sender_id, sender_ip, smileys, showed, status, posted) VALUES(\''.$dest['id'].'\', \''.$db->escape($p_subject).'\', \''.$db->escape($p_message).'\', \''.$db->escape($pun_user['username']).'\', \''.$pun_user['id'].'\', \''.get_remote_address().'\', \''.$smilies.'\', \'0\', \'0\', \''.time().'\' )') or error('Impossible d\'envoyer le message.', __FILE__, __LINE__, $db->error());
$new_mp = $db->insert_id();
// Save an own copy of the message
if ($save == 1)
{
$db->query('INSERT INTO '.$db->prefix.'messages (owner, subject, message, sender, sender_id, sender_ip, smileys, showed, status, posted) VALUES(\''.$pun_user['id'].'\', \''.$db->escape($p_subject).'\', \''.$db->escape($p_message).'\', \''.$db->escape($dest['username']).'\', \''.$dest['id'].'\', \''.get_remote_address().'\', \''.$smilies.'\', \'1\', \'1\', \''.time().'\' )') or error('Impossible de sauvegarder le message dans le dossier des messages envoyés', __FILE__, __LINE__, $db->error());
}
// E-mail notification
if ($pun_config['o_pms_notification'] == '1' && $dest['notify_mp'] == 1)
{
$mail_message = str_replace('<pm_url>', $pun_config['o_base_url'].'/pms_list.php?mid='.$new_mp, $mail_message);
pun_mail($dest['email'], $mail_subject, $mail_message);
}
}
if ($from_profile != '')
redirect('profile.php?id='.$from_profile, $lang_pms['Sent redirect']);
elseif ($tid != '')
redirect('viewtopic.php?id='.$tid, $lang_pms['Sent redirect']);
else
redirect('pms_list.php', $lang_pms['Sent redirect']);
}
}
else {
// To user(s)
if (isset($_GET['uid']))
{
$users_id = explode('-', $_GET['uid']);
$users_id = array_map('intval', $users_id);
foreach ($users_id as $k=>$v)
if ($v <= 0) unset($users_id[$k]);
$arry_dests = array();
foreach ($users_id as $user_id)
{
$result = $db->query('SELECT username FROM '.$db->prefix.'users WHERE id='.$user_id) or error('Impossible de trouver les informations du message', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
message($lang_common['Bad request']);
$arry_dests[] = $db->result($result);
}
$p_destinataire = implode(',', $arry_dests);
}
// Reply or quote ?
if ($r != 0 || $q != 0)
{
// Get message info
$mid = ($r<1 ? $q : $r);
$result = $db->query('SELECT * FROM '.$db->prefix.'messages WHERE id='.$mid.' AND owner='.$pun_user['id']) or error('Impossible de trouver les informations du message', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
message($lang_common['Bad request']);
$re_message = $db->fetch_assoc($result);
// Quote the message
if ($q > 0)
$p_message = '[quote='.$re_message['sender'].']'.$re_message['message'].'[/quote]';
// Add subject
$p_subject = ((strpos($re_message['subject'], 'RE:') !== false) ? $re_message['subject'] : 'RE: '.$re_message['subject']);
}
}
$page_title = $lang_pms['Send a message'].' / '.$lang_pms['Private Messages'].' / '.pun_htmlspecialchars($pun_config['o_board_title']);
$required_fields = array('req_message' => $lang_common['Message']);
$focus_element = array('post');
$focus_element[] = 'req_message';
if ($r == 0 && $q == 0)
{
$required_fields['req_subject'] = $lang_common['Subject'];
$focus_element[] = 'req_subject';
}
require PUN_ROOT.'header666.php';
?>
<div class="block">
<h2><span><?php echo $lang_pms['Private Messages'] ?></span></h2>
<div class="box">
<div class="inbox">
<ul class="conl">
<li id="pms_inbox"><a href="pms_list.php?box=0"><?php echo $lang_pms['Inbox']; ?></a></li>
<li id="pms_sentbox"><a href="pms_list.php?box=1"><?php echo $lang_pms['Outbox']; ?></a></li>
<li id="pms_contacts"><a href="pms_contacts.php"><?php echo $lang_pms['Contacts']; ?></a></li>
</ul>
<?php
// Boxes status
if ($pun_user['g_pm_limit'] != 0 && $pun_user['g_id'] > PUN_GUEST)
{
if ($mp_boxes_empty)
echo '<p class="conr">'.$lang_pms['Empty boxes'].'</p>';
elseif ($mp_boxes_full)
echo '<p class="conr"><strong>'.$lang_pms['Full boxes'].'</strong></p>';
else
echo '<p class="conr">'.sprintf($lang_pms['Full to'],$per_cent_box.'%').'</p>'.
'<div id="mp_bar_ext" class="conr"><div id="mp_bar_int" style="width:'.$per_cent_box.'px;"><!-- --></div></div>';
}
?>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="linkst">
<div class="inbox">
<ul><li><a href="pms_list.php"><?php echo $lang_pms['Private Messages'] ?></a> </li><li>» <?php echo $lang_pms['Send a message'] ?></li></ul>
<div class="clearer"></div>
</div>
</div>
<?php
// If there are errors, we display them
if (!empty($errors))
{
?>
<div id="posterror" class="block">
<h2><span><?php echo $lang_post['Post errors'] ?></span></h2>
<div class="box">
<div class="inbox">
<p><?php echo $lang_post['Post errors info'] ?></p>
<ul>
<?php
while (list(, $cur_error) = each($errors))
echo "\t\t\t\t".'<li><strong>'.$cur_error.'</strong></li>'."\n";
?>
</ul>
</div>
</div>
</div>
<?php
}
else if (isset($_POST['preview']))
{
require_once PUN_ROOT.'include/parser.php';
$preview_message = parse_message($p_message, !$smilies);
?>
<div id="postpreview" class="blockpost">
<h2><span><?php echo $lang_post['Post preview'] ?></span></h2>
<div class="box">
<div class="inbox">
<div class="postright">
<div class="postmsg">
<?php echo $preview_message."\n" ?>
</div>
</div>
</div>
</div>
</div>
<?php
}
$cur_index = 1;
?>
<div class="blockform">
<h2><span><?php echo $lang_pms['Send a message'] ?></span></h2>
<div class="box">
<form method="post" id="post" action="pms_send.php" onsubmit="return process_form(this)">
<div class="inform">
<fieldset>
<legend><?php echo $lang_common['Write message legend'] ?></legend>
<div class="infldset txtarea">
<input type="hidden" name="form_sent" value="1" />
<input type="hidden" name="form_user" value="<?php echo pun_htmlspecialchars($pun_user['username']) ?>" />
<?php echo (($r != 0) ? '<input type="hidden" name="reply" value="1" />' : '') ?>
<?php echo (($q != 0) ? '<input type="hidden" name="quote" value="1" />' : '') ?>
<?php echo (($tid != '') ? '<input type="hidden" name="tid" value="'.$tid.'" />' : '') ?>
<?php echo (($from_profile != '') ? '<input type="hidden" name="from_profile" value="'.$from_profile.'" />' : '') ?>
<?php if ($r == 0 && $q == 0) : ?>
<div class="conl">
<label><strong><?php echo $lang_pms['Send to'] ?></strong><br />
<input type="text" name="p_username" size="30" value="<?php echo pun_htmlspecialchars($p_destinataire); ?>" tabindex="<?php echo $cur_index++ ?>" /><br /></label>
</div>
<div class="conr">
<?php
// Fetch contacts
$result = $db->query('SELECT contact_name FROM '.$db->prefix.'contacts WHERE user_id='.$pun_user['id'].' ORDER BY contact_name ASC') or error('Impossible de trouver la liste des contacts', __FILE__, __LINE__, $db->error());
if ($db->num_rows($result))
{
?>
<label><?php echo $lang_pms['Contacts'] ?><br />
<select name="p_contact">
<option value="0">Autres</option>
<?php
while ($cur_contact = $db->fetch_assoc($result))
echo "\t\t\t\t\t".'<option value="'.$cur_contact['contact_name'].'"'.($p_contact == $cur_contact['contact_name'] ? ' selected="selected"' : '').'>'.pun_htmlspecialchars($cur_contact['contact_name']).'</option>'."\n";
?>
</select>
<br /></label>
<?php
}
else
echo '<p>'.$lang_pms['No contacts'].'</p>';
?>
</div>
<div class="clearer"></div>
<p><?php echo $lang_pms['Send multiple'] ?></p>
<label><strong><?php echo $lang_common['Subject'] ?></strong><br />
<input class="longinput" type="text" name="req_subject" value="<?php echo ($p_subject != '' ? pun_htmlspecialchars($p_subject) : ''); ?>" size="80" maxlength="255" tabindex="<?php echo $cur_index++ ?>" /><br /></label>
<?php else : ?>
<input type="hidden" name="p_username" value="<?php echo pun_htmlspecialchars($p_destinataire) ?>" />
<input type="hidden" name="req_subject" value="<?php echo $p_subject ?>" />
<?php endif; ?>
<label for="req_message"><strong><?php echo $lang_common['Message'] ?></strong> <a href="#" onclick="window.open('http://www.forex-tribe.com/forum/smilies.php','_blank','toolbar=0, location=1, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=484, height=245, left=0, top=0');return(false)" onmouseout="MM_swapImgRestore()"><img title="Smileys" src="http://www.forex-tribe.com/forum/img/puntoolbar/smooth/bt_smilies.png" alt="Smileys" width="16" height="16" border="0" /></a></label>
<textarea name="req_message" id="req_message" rows="20" cols="95" tabindex="<?php echo $cur_index++ ?>"><?php echo ($p_message != '' ? pun_htmlspecialchars($p_message) : ''); ?></textarea>
<?php
/* Si vous utilisez la PunToolbar, décomentez la ligne suivante : */
//require PUN_ROOT.'include/puntoolbar.php';
?>
<ul class="bblinks">
<li><a href="help.php#bbcode" onclick="window.open(this.href); return false;"><?php echo $lang_common['BBCode'] ?></a>: <?php echo ($pun_config['p_message_bbcode'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li>
<li><a href="help.php#img" onclick="window.open(this.href); return false;"><?php echo $lang_common['img tag'] ?></a>: <?php echo ($pun_config['p_message_img_tag'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li>
<li><a href="help.php#smilies" onclick="window.open(this.href); return false;"><?php echo $lang_common['Smilies'] ?></a>: <?php echo ($pun_config['o_smilies'] == '1') ? $lang_common['on'] : $lang_common['off']; ?></li>
</ul>
</div>
</fieldset>
<?php
$checkboxes = array();
if ($pun_config['o_smilies'] == '1')
$checkboxes[] = '<label><input type="checkbox" name="hide_smilies" value="1" tabindex="'.$cur_index++.'"'.($smilies == 0 ? ' checked="checked"' : '').' />'.$lang_post['Hide smilies'];
$checkboxes[] = '<label><input type="checkbox" name="savemessage" value="1" tabindex="'.$cur_index++.'"'.($save == 1 ? ' checked="checked"' : '').' />'.$lang_pms['Save message'];
if (!empty($checkboxes))
{
?>
</div>
<div class="inform">
<fieldset>
<legend><?php echo $lang_common['Options'] ?></legend>
<div class="infldset">
<div class="rbox">
<?php echo implode('<br /></label>'."\n\t\t\t\t", $checkboxes).'<br /></label>'."\n" ?>
</div>
</div>
</fieldset>
<?php
}
?>
</div>
<p><input type="submit" name="submit" value="<?php echo $lang_pms['Send'] ?>" tabindex="<?php echo $cur_index++ ?>" accesskey="s" /><input type="submit" name="preview" value="<?php echo $lang_post['Preview'] ?>" tabindex="<?php echo $cur_index++ ?>" accesskey="p" /><a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
</form>
</div>
</div>
<?php
require PUN_ROOT.'footer.php';
?>Merci d'avance!
NB : j'ai passé plusieurs heures à essayer des choses / à bidouiller... Mon seul résultat à chaque fois a été une erreur MYSQL...
Hors ligne