Résultats de la recherche (55 résultats)


01 Mai 2006, 1:39
c'est bon , j'ai trouvé la soluce!

merci à ceux qui y auront réfléchi tout de même! :)
 

01 Mai 2006, 0:48
bonjour,

j'essaie de faire parvenir une page html tpl à plusieurs destinataires avec le class mail mais je n'y arrive pô!... un seul (en dur avec mon adresse par exemple) c'est bon, 2 niet.... :$


       $chaine_mail="";
		$total_abonnes =0;
		$compteur=1;
		
		// récupération de la liste des abonnés avec gm_listmail=1
		$sql='SELECT ' . MEMBRES_TABLE . '.`membre_email` FROM (' . GROUPES_DROITS_TABLE . ' INNER JOIN ' . GROUPES_MEMBRES_TABLE . ' ON ' . GROUPES_DROITS_TABLE . '.`g_id` = ' . GROUPES_MEMBRES_TABLE . '.`g_id`) INNER JOIN ' . MEMBRES_TABLE . ' ON ' . GROUPES_MEMBRES_TABLE . '.`u_id` = ' . MEMBRES_TABLE . '.`membre_id` WHERE (' . GROUPES_DROITS_TABLE . '.`f_id`= ' . $forum_id . ' AND ' . GROUPES_MEMBRES_TABLE . '.`gm_listmail`=1);';
			
		$result = mysql_query($sql);
			
		$total_abonnes = mysql_num_rows($result);
		
		// création de la chaîne d'adresses @mail pour les abonnés
		while ($R=mysql_fetch_array($result)){		
		
		    if($compteur == 1){
			
			    $chaine_mail=$R['membre_email'].",";
				$compteur++;
				
			}elseif ($compteur > 1 && $compteur < $total_abonnes){
			
 			    $chaine_mail=$chaine_mail.$R['membre_email'].",";
				$compteur++;
				
			}elseif ($compteur == $total_abonnes){
				
			    $chaine_mail=$chaine_mail.$R['membre_email'];
			}			
		}



include($racine . 'includes/class/class_mail.php');
		   
	       $mail = new Mail($langue['charset']);
	       $mail->set_langue($membre['membre_langue']);
	       $mail->set_mail('mail_reponse.html');
	       $mail->formate_date($config['date_format']);
	       $mail->expediteur($config['forum_mail'], $config['nom_site']);
		   
		   $mail->destinataire($chaine_mail, $config['nom_site']);
		   
	       $mail->sujet("\"".$forum_a['forum_nom']."\" - Post de ".$pseudo_posteur." : ".$sujet_nom. " ".$info_post);	       
	       $message_mail = $HTTP_POST_VARS['message'];
	       $message_mail = anti_html($message_mail);
	       $message_mail = fscode_parse($message_mail);
		   $message_mail = smileys_listmail($message_mail, $smiley, true);
		  
    	  	$tpl = array(
		        'NOM_FORUM' => $forum_a['forum_nom'],
		        'NOM_SUJET' => $sujet_nom,
		        'NOM_POSTEUR' => $pseudo_posteur,
		        'INFO_POST'	=> $info_post,
		        'MESSAGE'	=> $message_mail,
	        );
		   
		    $mail->message($tpl);		    
		        
	        $mail->envoie();


c'est une histoire de tableau (alors que moi j'ai mis une chaîne...) mais je ne sais pas comment gérer ça... :froid:

merci! :)
 

30 Avril 2006, 23:26
voilà, j'ai réussi... bah... il existe plein de méthode et je dois dire que ça m'a fait cherché un petit peu ! x)

/
// modif ListMail 
//
/****************************************************************************************
* Parse les symboles smileys en leurs équivalent HTML, à utiliser lors de l' ENVOI d'un mail par ListMail *
****************************************************************************************/
function smileys_listmail($texte, $smiley)
{

    $adresse_PHP_SELF =$_SERVER["PHP_SELF"];
    $adresse_rep_smileys = str_replace("poster.php", "images/smileys/",$adresse_PHP_SELF);
    $adresse_finale= "http://" . $_SERVER['HTTP_HOST'] . "/" . $adresse_rep_smileys;
	
	global $theme;
	static $origine = array(), $remplacement = array(), $passed = 0;

	if (!$passed)
	{
		for ( $s = 0; $s < count($smiley); $s++ )
		{
			$origine[] = "/(?<=.\W|\W.|^\W)" . preg_quote($smiley[$s]['smiley_code'], "/") . "(?=.\W|\W.|\W$)/";
			
			$remplacement[] = sprintf($theme['img'], $adresse_finale . $smiley[$s]['smiley_nom'], $smiley[$s]['smiley_nom'], $smiley[$s]['smiley_nom']);

		}
		$passed = 1;
	}
	
	$texte = preg_replace($origine, $remplacement, ' ' . $texte . ' ');
	
	$texte = substr($texte, 1, -1);

	return $texte;
}
//
// Fin modif ListMail 
//


ça fonctionne correctement et les seules variables en dur sont les rép et ils ne seront jamais changé de place dans la config du forum!

Bref, donc , ça marche! :lol:

merci encore Shekral, sympa! 8)
 

30 Avril 2006, 21:21
ce qui me paraîtrait le mieux serait ça mais rien n'y fait :

$remplacement[] = sprintf($theme['img'], str_replace("www", "http://".$SERVER_NAME, stristr(realpath ($racine . 'images/smileys/' . $smiley[$s]['smiley_nom']), 'www')), $smiley[$s]['smiley_nom'], $smiley[$s]['smiley_nom']);
 

30 Avril 2006, 21:10
je viens de me rendre compte que je ne devrais peut-être pas passer $real_path_smiley en tableau, j'ai donc fait la modif suivante :

function smileys_listmail($texte, $smiley)
{
	//global $racine, $theme;
	global $theme;

	//static $origine = array(), $remplacement = array(), $real_path_smiley = array(), $passed = 0;
	static $origine = array(), $remplacement = array(), $passed = 0;

	if (!$passed)
	{
		for ( $s = 0; $s < count($smiley); $s++ )
		{
			$origine[] = "/(?<=.\W|\W.|^\W)" . preg_quote($smiley[$s]['smiley_code'], "/") . "(?=.\W|\W.|\W$)/";
			//$remplacement[] = sprintf($theme['img'], $racine . 'images/smileys/' . $smiley[$s]['smiley_nom'], $smiley[$s]['smiley_nom'], $smiley[$s]['smiley_nom']);
			
			$real_path_smiley = realpath ($smiley[$s]['smiley_nom']);
			$remplacement[] = str_replace("www", "http://".$SERVER_NAME, stristr($real_path_smiley, 'www'));

		}
		$passed = 1;
	}
	
	$texte = preg_replace($origine, $remplacement, ' ' . $texte . ' ');
	$texte = substr($texte, 1, -1);
   
 
	
	return $texte;
}
//
// Fin modif ListMail 
//


mais ça ne va pas mieux ! x)
 

30 Avril 2006, 21:03
merci Shekral de ton coup de pouce! :)

je suis passé sur une autre astuce du coup, qui doit permettre de parser les smileys en url complète.

Pour ça j'ai ajouté une fonction dans /includes/functions/fonctions_messages.php appelée depuis le fichier poster.php

Ca devrait tourner autour de ça mais rien ne sort en mail! :mad:

fichier /includes/functions/fonctions_messages.php modifié :

//
// modif ListMail 
//
/****************************************************************************************
* Parse les symboles smileys en leurs équivalent HTML, à utiliser lors de l' ENVOI d'un mail par ListMail *
****************************************************************************************/
function smileys_listmail($texte, $smiley)
{
	//global $racine, $theme;
	global $theme;

	static $origine = array(), $remplacement = array(), $real_path_smiley = array(), $passed = 0;

	if (!$passed)
	{
		for ( $s = 0; $s < count($smiley); $s++ )
		{
			$origine[] = "/(?<=.\W|\W.|^\W)" . preg_quote($smiley[$s]['smiley_code'], "/") . "(?=.\W|\W.|\W$)/";
			//$remplacement[] = sprintf($theme['img'], $racine . 'images/smileys/' . $smiley[$s]['smiley_nom'], $smiley[$s]['smiley_nom'], $smiley[$s]['smiley_nom']);
			
			$real_path_smiley[] = realpath ($smiley[$s]['smiley_nom']);
			$remplacement[] = str_replace("www", "http://".$SERVER_NAME, stristr($real_path_smiley, 'www'));

		}
		$passed = 1;
	}
	
	$texte = preg_replace($origine, $remplacement, ' ' . $texte . ' ');
	$texte = substr($texte, 1, -1);
   
 
	
	return $texte;
}
//
// Fin modif ListMail 
//


appelé depuis poster.php :

include($racine . 'includes/class/class_mail.php');
		   
	       $mail = new Mail($langue['charset']);
	       $mail->set_langue($membre['membre_langue']);
	       $mail->set_mail('mail_reponse.html');
	       $mail->formate_date($config['date_format']);
	       $mail->expediteur($config['forum_mail'], $config['nom_site']);
	       $mail->destinataire("doum2@free.fr", $config['nom_site']);
	       $mail->sujet("\"".$forum_a['forum_nom']."\" - Post de ".$pseudo_posteur." : ".$sujet_nom. " ".$info_post);
	       
	       $message_mail = $HTTP_POST_VARS['message'];
	       $message_mail = anti_html($message_mail);
	       $message_mail = fscode_parse($message_mail);
	       //$message_mail = smileys($message_mail, $smiley, true);
		   $message_mail = smileys_listmail($message_mail, $smiley, true);
		  
    	  	$tpl = array(
		        'NOM_FORUM' => $forum_a['forum_nom'],
		        'NOM_SUJET' => $sujet_nom,
		        'NOM_POSTEUR' => $pseudo_posteur,
		        'INFO_POST'	=> $info_post,
		        'MESSAGE'	=> $message_mail,
				'TESTDOUM'	=> $racine,
		        'STYLECSS'	=> $config['dommaine_site'] . '/themes/' . $config['theme_defaut'] . substr($config['theme_defaut'], 0, -1)
	        );
		   
		   $mail->message($tpl);
		   
	       $mail->envoie();


si quelqu'un peut voir où je me gourre ! :$

merci! :)
 

30 Avril 2006, 19:12
arf, je ne trouve pas l'adresse url du forum dans $config... il n' y a que le nom de domaine .... :'(
 

30 Avril 2006, 18:55
Merci Shekral , j'va voir ça de ce pas ! :)
 

30 Avril 2006, 17:14
Bonjour,

dans le cadre d'un petit développement de MOD sans prétention, sur le transfert de corps de messages par mail, j'ai un souci avec la transformation des smileys en images sue le message mail.

En fait, il envoit des smileys "croix rouge" :mdr: , et comme url de ces derniers il y , par exemple le fichier reçu, exporté de ma messagerie au format html donne :
<IMG title=beer.gif alt=beer.gif src="./images/smileys/beer.gif" border=0>

au lieu d'avoir :
<IMG title=beer.gif alt=beer.gif src="http://www.monsite/fsb/images/smileys/beer.gif" border=0>
... c'est gênant!

Pour info, j'utilise la class mail (j'y suis arrivé non sans mal d'ailleurs!!!) en générant, un peu comme la newsletter, une page "mail_reponse.html" (sous les conseils avisés de Grummfy) et c'est cette page html que je transmets.

Je pense que c'est la fonction smyleys de /includes/functions/fonctions_message.php qui coince car c'est prévu pour un accès serveur et non en "distant" (en lien image). D'ailleurs, le parse des images fonctionne très bien.


/************************************
* Parse les symboles smileys en leurs équivalent HTML, à utiliser lors de la lecture d'un texte
************************************/
function smileys($texte, $smiley)
{
	global $racine, $theme;
	static $origine = array(), $remplacement = array(), $passed = 0;

	if (!$passed)
	{
		for ( $s = 0; $s < count($smiley); $s++ )
		{
			$origine[] = "/(?<=.\W|\W.|^\W)" . preg_quote($smiley[$s]['smiley_code'], "/") . "(?=.\W|\W.|\W$)/";
			$remplacement[] = sprintf($theme['img'], $racine . 'images/smileys/' . $smiley[$s]['smiley_nom'], $smiley[$s]['smiley_nom'], $smiley[$s]['smiley_nom']);
		}
		$passed = 1;
	}

	$texte = preg_replace($origine, $remplacement, ' ' . $texte . ' ');
	$texte = substr($texte, 1, -1);

	return $texte;
}


Quelu'un peut-il m'apporter une astuce svp ? :)

merci !
 

30 Avril 2006, 13:38
oui, j'ai fait cette modif et c'est bon... :)
 

30 Avril 2006, 13:35
Remplacer :

Ce MOD permet de rajouter des forum de type "Liens".


Par :

Ce MOD permet de rajouter des forum de type \"Liens\".


???
 

30 Avril 2006, 13:31
Hello!

Voilà, Grummfy , j'ai un sac! :)

Install sur FSB 1.05 vierge, j'ai ça :

Parse error: parse error, unexpected T_STRING in /var/www/sdb/a/e/hervemichel1/ForumDoum/install/premods_schema/requetes_cache.php on line 7


la ligne 7 est celle-ci :

$R_CACHE[] = "INSERT ac_mods FIELDS mod_name mod_version mod_description mod_auteur mod_email mod_actif VALUES 'liens' '1.0.3' 'Ce MOD permet de rajouter des forum de type "Liens". Il permettent de rediriger la personne qui clique dessus vers le lien défini. Ce forum peut aussi etre placé en sous forum. Le MOD inclu un compteur de nombre de clics, ainsi que le nom du membre qui a cliqué sur le lien en dernier.' 'Edouard' 'edouard.jaouen@free.fr' '1'";
 

28 Avril 2006, 22:48
ben non Grummfy c'est le même code que j'ai et ça me chuinte le #xxxx ... :-(

je ne comprends pas .... x)
 

28 Avril 2006, 22:33
je sais ce qu'il se passe mais je ne comprends pas le problème!

en fait pour l'édition ça marche et nous renvoit exactement au message avec ça :

redir(ajout_sid('sujet.php?message=' . $message_id) . '#' . $message_id);


mais en nouveau message avec ça :
redir(ajout_sid('sujet.php?message=' . $derniere_id_message) . '#' . $derniere_id_message);
, ça ne fonctionne pas car dans l'adresse url du navigateur, il n'y a pas le #xxxx !

il n' y a que ça : http://monsite/monforum/sujet.php?message=7041
au lieu de ça : http://monsite/monforum/sujet.php?message=7041#7041

c'est grave docteur? x)
 

28 Avril 2006, 22:07
oui, dans l'url il nous renvoit sur le n°de message mais sur la page html, on arrive en haut de la page .

voir si on peut ou pas pointer juste au début du message?
 


.