Easy-Design.Net forum




Aide générale [Réglé] Messages privés, être averti(e) par mail Est-ce possible?

Harper Membre non connecté

EDN Concerné(e)

Rang

Avatar

Inscrit le : 06/10/2010 à 08h26

Messages: 152

Le 16/03/2012 à 10h02

Reprise du message précédent

saturnin:
pour les cache tpl j'ai fait un pack de maj pour ajouter le bouton dans l'admin. Voir le détail du fichier .
Merci à vous tout plein je mets en place de suite


Cordialement, Harper

Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront.
René Char, Les Matinaux
   
Harper Membre non connecté

EDN Concerné(e)

Rang

Avatar

Inscrit le : 06/10/2010 à 08h26

Messages: 152

Le 20/03/2012 à 09h04
Bonjour, Je me demandais où poster cette requête, je n'ai pas osé ouvrir un nouveau topic.
Maintenant que l'avis par mail est en place sur mon forum et fonctionne à merveille, qui saurait me dire ce qu'il faudra modifier et où, pour que dans le mail adressé au destinataire du message privé n'apparaissent que les deux ou trois première lignes, avec un lien vers la suite du message, exactement comme les avis de nouveaux messages sur les topics, quand on a coché "suivre par mail"?
Simplement parce que victime de son succès, cette modification entraîne la suite par échange de mails, du fait que l'intégralité du message est donnée et qu'ensuite on perd le fil de l'échange quand on veut y revenir.
Dans le cas où ce serait un peu long ou trop difficile à modifier, serait-il possible de dire dans le mail, simplement au destinataire du mp qu'un mp l'attend à l'adresse du site, et dans le meilleur des cas pointer vers ce message?
Merci beaucoup par avance pour vos réponses et bonne journée


Cordialement, Harper

Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront.
René Char, Les Matinaux
   
saturnin Membre non connecté

Administrateur

Rang

Avatar

Administrateur

Inscrit le : 08/08/2009 à 22h19

Messages: 3963

Le 20/03/2012 à 10h42
il faut compter les caractères, et limité. puis faire un liens vers le topic. mp
ou reprendre le message du mp qui il me semble fait le lien non ?
il faudrait que je regarde ou est fait le truc des mp pour le suivi des message du forum qui a cette fonction.

je regarderais :)



note pour pas oublier avec ma cervelle ce coincoin :p :
Code PHP :
$preview_contents = substr($contents, 0, 300);





un liens vers le mp n'est pas tres utile et ne serais pas une bonne idée.
les menu connexion on tous le liens vers le profil, ou meme les mp.


signaturesaturnin


Accroche toi au clavier, je retire le shell...
Site web    
Harper Membre non connecté

EDN Concerné(e)

Rang

Avatar

Inscrit le : 06/10/2010 à 08h26

Messages: 152

Le 20/03/2012 à 13h56
C'est comme tu juges que c'est le mieux, merci en tout cas! Ah si seulement j'y pigeais un minimum quelque chose...
Tu veux les accès ftp du site de test ou bien tu veux que je l'envoie et teste comme pour le hack?


Cordialement, Harper

Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront.
René Char, Les Matinaux
   
saturnin Membre non connecté

Administrateur

Rang

Avatar

Administrateur

Inscrit le : 08/08/2009 à 22h19

Messages: 3963

Le 20/03/2012 à 16h23
J'ai pas eu le temps de regarder j'ai du faire le taxi pour le grand :(


signaturesaturnin


Accroche toi au clavier, je retire le shell...
Site web    
Harper Membre non connecté

EDN Concerné(e)

Rang

Avatar

Inscrit le : 06/10/2010 à 08h26

Messages: 152

Le 20/03/2012 à 22h09
Cela n'urge pas c'est déjà tellement bien d'être averti!


Cordialement, Harper

Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront.
René Char, Les Matinaux
   
saturnin Membre non connecté

Administrateur

Rang

Avatar

Administrateur

Inscrit le : 08/08/2009 à 22h19

Messages: 3963

Le 20/03/2012 à 22h27
il faut que fasse 2 - 3 test, mais le plus gros est dans le message au dessu.
il faut intégrer la ligne au dessu et modifier le $content en $preview_contents

je te donnerais les n° de ligne exacte demain :)


signaturesaturnin


Accroche toi au clavier, je retire le shell...
Site web    
saturnin Membre non connecté

Administrateur

Rang

Avatar

Administrateur

Inscrit le : 08/08/2009 à 22h19

Messages: 3963

Le 21/03/2012 à 12h42
bon j'ai fait mes 2 - 3 test sur free sa fonctionne :p
si j'avais commencer par la bonne archive sa aurais été mieux mais bon ... (osef)

j'ai modifier la ligne 292 de pm.php de la sorte :
Code PHP :
//if ($mail->send_from_properties($mail_receip, 'Vous avez reçu un nouveau message privé', $contents, $CONFIG['mail'], 'From: Messagerie <'.$CONFIG['mail'] .'>' , 'Messagerie automatique')) { //Succès mail
$preview_contents = substr($contents, 0, 300);
$preview_contents = 'Vous avez un message privé de : ' . $User->get_attribute('login') . "rn" . 'sur : ' . $CONFIG['site_name']  . "rn" . 'Préview : ' . "rn" . $preview_contents ;
if ($mail->send_from_properties($mail_receip, 'Vous avez reçu un nouveau message privé', $preview_contents, $CONFIG['mail'], 'From: Messagerie <'.$CONFIG['mail'] .'>' , 'Messagerie automatique')) { //Succès mail


j'ai ajouter a la première ligne un // au debut pour la commenter et que elle servent de repere.

il y a deux ligne en plus qui permette :
1) de limites le nombre de caractères du mp proprement dit.
2) mettre un peu en forme le bouzza.

resultat un truc comme sa :
Subject: Vous avez reçu un nouveau message privé
From: Messagerie <MAil de la config du site>
To: mail du profil

Vous avez un message privé de : pseudo du posteur
sur : nom d site dans la config
Préview :
Message de test limites a 600 caractères.

voila :)


signaturesaturnin


Accroche toi au clavier, je retire le shell...
Site web    
Harper Membre non connecté

EDN Concerné(e)

Rang

Avatar

Inscrit le : 06/10/2010 à 08h26

Messages: 152

Le 21/03/2012 à 22h19
Merci Saturnin je vais faire les modifs de suite, j'espère ne pas me tromper dans les inserts. j'ai vraiment hâte de voir le résultat :lovely


Cordialement, Harper

Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront.
René Char, Les Matinaux
   
Harper Membre non connecté

EDN Concerné(e)

Rang

Avatar

Inscrit le : 06/10/2010 à 08h26

Messages: 152

Le 23/03/2012 à 00h09
J'y vois plus rien, je n'ai pas dû bien comprendre les instructions car j'ai plusieurs messages d'erreur qui apparaissent, dont à la fin dw annonce:
erreur à la ligne 924 au niveau du
Code PHP :
?>
et c'est confirmé sur ff ensuite. Je veux bien de l'aide pour récapituler les modifs à effectuer sur le fichier pm.php
Merci d'avance =)


Cordialement, Harper

Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront.
René Char, Les Matinaux
   
saturnin Membre non connecté

Administrateur

Rang

Avatar

Administrateur

Inscrit le : 08/08/2009 à 22h19

Messages: 3963

Le 23/03/2012 à 09h16
alors j'ai repris depuis là ou on en etais.

j'ai commenter la première ligne. (placer // en début de ligne)
Qui correspond a celle en vert dans ce bout de code ici car elle commence par un //

ensuite j'ai ajouter le reste qui suit.

Code PHP :
//if ($mail->send_from_properties($mail_receip, 'Vous avez reçu un nouveau message privé', $contents, $CONFIG['mail'], 'From: Messagerie <'.$CONFIG['mail'] .'>' , 'Messagerie automatique')) { //Succès mail
$preview_contents = substr($contents, 0, 300);
$preview_contents = 'Vous avez un message privé de : ' . $User->get_attribute('login') . "rn" . 'sur : ' . $CONFIG['site_name']  . "rn" . 'Préview : ' . "rn" . $preview_contents ;
if ($mail->send_from_properties($mail_receip, 'Vous avez reçu un nouveau message privé', $preview_contents, $CONFIG['mail'], 'From: Messagerie <'.$CONFIG['mail'] .'>' , 'Messagerie automatique')) { //Succès mail


Normalement tu a du voir que la ligne qu l'on a commenter a été modifier par une nouvelle qui y ressemble fortement, mais en quelques point est différente.

Maintenant j'ai pas les code d'erreurs, et je peut donc pas me pronocer sur le souci exactement.
cela peut simplement provenir du fait que tu ai fait un copier coller des ' ou " ou je ne sait quel autres caractères. Il peut y avoir des erreur simplement due a cela, le copier coller.

Si tu ne parviens pas a résoudre la chose mp moi une archive je la regarderais :)


signaturesaturnin


Accroche toi au clavier, je retire le shell...
Site web    
Harper Membre non connecté

EDN Concerné(e)

Rang

Avatar

Inscrit le : 06/10/2010 à 08h26

Messages: 152

Le 23/03/2012 à 12h23
Merci beaucoup pour les précisions je vais regarder de plus près, pour les codes d'erreur je ne me souviens plus, merci pour ta proposition je n'exclue pas de te le faire parvenir si je ne trouve pas où se situe mon erreur. Bon appétit


Cordialement, Harper

Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s'habitueront.
René Char, Les Matinaux
   
saturnin Membre non connecté

Administrateur

Rang

Avatar

Administrateur

Inscrit le : 08/08/2009 à 22h19

Messages: 3963

Le 23/03/2012 à 14h21
pas de souci :)


signaturesaturnin


Accroche toi au clavier, je retire le shell...
Site web    
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 11/08/2012 à 22h21
Salut..

Lors je tape dans sql pour la table phpboost_member :

"Field : user_notif_mail
Type : TINYINT
Length/Values : 1
Default : As defined : 0"

J'ai une erreur de syntax .. ça ne prend pas en compte pourquoi? Où est mon erreur svp?

Merci. Edité par m-ickael Le 11/08/2012 à 22h21
saturnin Membre non connecté

Administrateur

Rang

Avatar

Administrateur

Inscrit le : 08/08/2009 à 22h19

Messages: 3963

Le 12/08/2012 à 11h46
j'ai pas parler de faire des injection directe mais de créer des chan :saturnin:
Solution a Tester
Il est plus que risquer de faire ces modifs en l'état.
Faires des sauvegardes avants tout de la base de donnée et des fichiers.


base de donnée : ajouter un chan avec phpmyadmin dans la table _member

Field :user_notif_mail
Type : TINYINT
Length/Values : 1
Default :As defined : 0

(forcer la valeur de défaut a 0 )


Modification des fichiers :



/member/pm.php ligne 282 ajouter :

Code PHP :
//Envoi du message privé.
$Privatemsg->send($user_id_dest, $pm_id_get, $contents, $User->get_attribute('user_id'), $status);
// ici include pour l'envoi du mail si c'est voulu par la conf!
$mp_send_mail = $Sql->query("SELECT user_notif_mail FROM " . DB_TABLE_MEMBER . "  WHERE user_id = '" . $user_id_dest . "'", __LINE__, __FILE__);
if($mp_send_mail == 1) { // 1 => envoie du mail pour prévenir que on a un mp!
global $CONFIG ;
$mail_receip = $Sql->query("SELECT user_mail FROM " . DB_TABLE_MEMBER . "  WHERE user_id = '" . $user_id_dest . "'", __LINE__, __FILE__);
import('io/mail');
$mail = new Mail();
if ($mail->send_from_properties($mail_receip, 'Nouveau message privé', $contents, $CONFIG['mail'], 'From: Messagerie <'.$CONFIG['mail'] .'>' , 'Messagerie automatique')) { //Succès mail
$get_error = 'success'; }else{ //Erreur mail
$get_error = 'error'; } // on passe par une mise en variable pour eviter les erreurs !! c'est pas tres ... mais sa fonctionne :)
}
 


/member/templates/member.tpl ligne 236
remplacer :
Code TPL :
 
</fieldset>

par :
Code TPL :
 
 
<dl>
<dt><label for="mp_mail">Recevoir un avis de message privé par mail ?</label><br /><span>Permet de recevoir des avis de nouveau message a l'adresse mail que vous avez indiquez</span></dt>
<dd><label><input type="checkbox" {MP_MAIL_CHECKED} name="mp_mail" id="mp_mail" /></label></dd>
</dl>
</fieldset>



/member/member.php
lignes 62 modifier :
Code PHP :
 
$row = $Sql->query_array(DB_TABLE_MEMBER, 'user_lang', 'user_theme', 'user_mail', 'user_local', 'user_web', 'user_occupation', 'user_hobbies', 'user_avatar', 'user_show_mail', 'user_editor', 'user_timezone', 'user_sex', 'user_born', 'user_sign', 'user_desc', 'user_msn', 'user_yahoo', "WHERE user_id = '" . $User->get_attribute('user_id') . "'", __LINE__, __FILE__);

par :
Code PHP :
 
$row = $Sql->query_array(DB_TABLE_MEMBER, 'user_lang', 'user_theme', 'user_mail', 'user_local', 'user_web', 'user_occupation', 'user_hobbies', 'user_avatar', 'user_show_mail', 'user_editor', 'user_timezone', 'user_sex', 'user_born', 'user_sign', 'user_desc', 'user_msn', 'user_yahoo', 'user_notif_mail', "WHERE user_id = '" . $User->get_attribute('user_id') . "'", __LINE__, __FILE__);


Apres la ligne 91 ajouter :
Code PHP :
'MP_MAIL_CHECKED' => ($row['user_notif_mail'] == 1) ? 'checked="checked"' : '', // ici on est en inverse attention 1 = oui 0 = non


Apres la ligne 441 :
Code PHP :
$user_timezone = retrieve(POST, 'user_timezone', '');

ajouter :
Code PHP :
$user_mp_mail = !empty($_POST['mp_mail']) ? '1' : '0'; // on est inverser !! 


Ligne 553 modifier :
Code PHP :
 
$Sql->query_inject("UPDATE " . DB_TABLE_MEMBER . " SET user_lang = '" . $user_lang . "', user_theme = '" . $user_theme . "',
" . $user_mail . "user_show_mail = '" . $user_show_mail . "', user_editor = '" . $user_editor . "', user_timezone = '" . $user_timezone . "', user_local = '" . $user_local . "',
" . $user_avatar . "user_msn = '" . $user_msn . "', user_yahoo = '" . $user_yahoo . "',
user_web = '" . $user_web . "', user_occupation = '" . $user_occupation . "', user_hobbies = '" . $user_hobbies . "',
user_desc = '" . $user_desc . "', user_sex = '" . $user_sex . "', user_born = '" . $user_born . "',
user_sign = '" . $user_sign . "' WHERE user_id = '" . numeric($User->get_attribute('user_id')) . "'", __LINE__, __FILE__); 


par :
Code PHP :
$Sql->query_inject("UPDATE " . DB_TABLE_MEMBER . " SET user_lang = '" . $user_lang . "', user_theme = '" . $user_theme . "',
" . $user_mail . "user_show_mail = '" . $user_show_mail . "', user_editor = '" . $user_editor . "', user_timezone = '" . $user_timezone . "', user_local = '" . $user_local . "',
" . $user_avatar . "user_msn = '" . $user_msn . "', user_yahoo = '" . $user_yahoo . "',
user_web = '" . $user_web . "', user_occupation = '" . $user_occupation . "', user_hobbies = '" . $user_hobbies . "',
user_desc = '" . $user_desc . "', user_sex = '" . $user_sex . "', user_born = '" . $user_born . "',user_notif_mail = '".$user_mp_mail."',
user_sign = '" . $user_sign . "' WHERE user_id = '" . numeric($User->get_attribute('user_id')) . "'", __LINE__, __FILE__);
 



Les n° des lignes peuvent être une peu différente (-3) c'est pour cela que j'ai mis les avant modifs pour repérage.


field, type, lenght/value, default sont des indication, le nom des imput, la ou dois etre mis la valeur quoi.
et ce par phpmyadmin.


signaturesaturnin


Accroche toi au clavier, je retire le shell...
Site web    
m-ickael Membre non connecté

EDN Maitre-Sage

Rang

Avatar

Inscrit le : 23/02/2010 à 09h15

Messages: 2296

Le 12/08/2012 à 11h59
Salut Saturnin .. Comment on créé des chan dans ce cas ? Je n'ai jamais fais ceci ..

Merci.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie