Re: [article] envoyer un mel lors d'une publication

Slt,

Le coder y'en à pas pour longtemps :p

Suffit de pomper le code dans le poster des news :s

Mais moi perso je suis de l'avis de lboubou, aucun interêt de recevoir ce style d'info par mail.. J'ai vite fait de partir quand je reçoit plus d'un mail par trimestre..

Réponse ci-dessus posté le jeudi 14 mai 2009 : 21:53



Re,

T'y connais rien en codage mais j'espère t'y connais quelque chose en bdd car il va falloir que tu y aille et que tu rajoute un truc dans la table paramètres

Donc soit tu sais rajouter un paramètre comme un grand et tu rajoute mailarticle comme nom et en valeur tu pompe celle de mailnews soit tu exécute cette requête :


Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php  
  2. #####!!!#####
  3.  
  4. INSERT INTO `parametres` ( `id` , `nom` , `valeur` )
  5. VALUES (
  6. NULL , 'mailarticle', 'un article à été posté'
  7. );
  8.  
  9. #####!!!#####
  10. ?>


Je te laisse le soin de pomper la valeur de mailnews..

Ensuiet fichier poster.php du module article tu efface et tu remplace par le code ci dessous normalement ça devrait fonctionner

Code PHP :
Pour copier le contenu exact du code,
Veuillez citer le message
  1. <?php
  2.  
  3. // ---------------------------------------------------------------
  4. // KwsPHP kOoGar Web System
  5. // $Id: poster.php 810 2008-10-22 19:27:52Z mike007.devpwsphp $
  6. // ---------------------------------------------------------------
  7. // Mise a jour : 30/06/06 par Jack
  8. // Mise à jour : 06/12/07 par Otocinclus
  9. // ---------------------------------------------------------------
  10.  
  11. if (!(defined('__KWS__'))) {die ('Erreur d\'appel de fichier.');}
  12.  
  13. if (get_grade() >= $articles_gr_admin)
  14. {
  15.     $req_art = reqmysql('
  16.         SELECT        `titre`,
  17.                     `id`
  18.         FROM `rubriques`
  19.         WHERE        (`rubriques`.`module` LIKE "%articles%" OR `rubriques`.`module`="")
  20.         ORDER BY    `rubriques`.`titre` ASC
  21.     ');
  22.     $nb = mysql_num_rows($req_art);
  23.  
  24.     // Aucune rubrique créée
  25.     if ($nb ==0)
  26.     {
  27.         bloc_head('Erreur') ;
  28.         echo '
  29.         <div style="text-align:center"><br />Vous devez cr&eacute;er des rubriques avant de pouvoir poster !<br /><br />
  30.         <a href="index.php?mod=rubriques&amp;ac=gestion"><strong>Cr&eacute;er une rubrique</strong></a><br /><br /></div>' ;
  31.         close_table() ;
  32.         return ;
  33.     }
  34.  
  35.     if(isset($_POST['action']) && $_POST['action']=='envoyer')
  36.     {
  37.         $temps = time();
  38.  
  39.         // Modification : On insère 0 à la valeur de validation pour que l'article soit validé directement
  40.         if ($_POST['sql_titrearticle']!='' && $_POST['texte']!='')
  41.         {
  42.             $req = reqmysql('
  43.                 INSERT INTO `articles`
  44.                 SET            `titre`        = "'.$_POST['sql_titrearticle'].'",
  45.                             `date`        = "'.$temps.'",
  46.                             `auteur`    = "'.(empty($pseudo) ? 'Visiteur' : $pseudo).'",
  47.                             `ref`        = "'.$_POST['int_ref'].'",
  48.                             `img`        = "'.$_POST['sql_img'].'",
  49.                             `accroche`    = "'.$_POST['sql_accroche'].'",
  50.                             `texte`        = "'.sp($_POST['texte']).'",
  51.                             `mots_cles`    = "'.$_POST['sql_mots_cles'].'",
  52.                             `type`        = "'.$_POST['int_type'].'",
  53.                             `attribut`    = "'.intval($_POST['smileys']).'",
  54.                             `validation`= "0"
  55.             ') or die ('<br /><center>Une erreur est survenue !</center>');
  56.  
  57.             $id_art  = mysql_insert_id();// ON RECUPERE L'ID DE L'ARTICLE AJOUTE
  58.  
  59.             if($news_validation==0 and is_module('newsletter'))
  60.             {
  61.                 $req_mls = reqmysql('
  62.                     SELECT        `newsletter`.`email`
  63.                     FROM `newsletter`
  64.                     LEFT JOIN `droit` ON `droit`.`module`="rubriques" AND `droit`.`page`="id_'.$_POST['ref'].'"
  65.                     WHERE        `news`=1
  66.                         AND        (    (`droit`.`grade`="-1" AND `droit`.`condition`="or") 
  67.                             OR        (`droit`.`grade`="-1" AND `droit`.`condition`="and" AND `droit`.`groupe`="0")
  68.                             OR        (`droit`.`condition`="or" AND `droit`.`groupe`="0")
  69.                                 )
  70.                 ');
  71.  
  72.                 $message = $mailarticle;
  73.                 if ($email_encod == 0)
  74.                 {
  75.                     $message = bbcode($mailarticle,0,1) ;
  76.                 }
  77.                 $sujet        = "Un article a été postée" ;
  78.                 $message      = str_replace ('%url_site%',$K_url_site,$message) ;
  79.                 $message      = str_replace ('%auteur%',$K_pseudo,$message) ;
  80.                 $message      = str_replace ('%titre%',$titrenews,$message) ;
  81.  
  82.                 if($_POST['type'] == 1)
  83.                 {
  84.                     $texte = bbcode($texte,0,1);
  85.                 }
  86.                 if (strpos($texte,'|{}|') != FALSE) // Coupure de page
  87.                 {
  88.                     $texte = substr($texte,0,strpos($texte,'|{}|')).'<br />
  89.                     <a href="'.$url_site .'index.php?mod=article" title="Suite de l\'article">Suite...</a><br /><br />';
  90.                 }
  91.                 $message = str_replace ('%contenu%',$texte,$message) ;
  92.                 $message = bbcode($message,0,0,1,1);
  93.  
  94.                 if (mysql_num_rows($req_mls)>0)
  95.                 {
  96.                     $Bcc_dest = '';
  97.                     $destinataire = 'News' ;
  98.                     while ($rep_mls = mysql_fetch_object($req_mls))
  99.                     {
  100.                         $Bcc_dest   .= $rep_mls->email.', ' ;
  101.                     }
  102.                     $envoie=envoi_mail(
  103.                     $K_expediteur,
  104.                     $K_email_expediteur,
  105.                     'News de '.$K_nom_page,
  106.                     'News_de_'.str_replace(' ','_',$K_nom_page),
  107.                     $sujet,
  108.                     $message,
  109.                     $K_email_type,
  110.                     1,
  111.                     $Bcc_dest
  112.                     ) ;
  113.                 }
  114.             }
  115.             
  116.             bloc_head("Information");            
  117.             if($envoie && mysql_num_rows($req_mls)>0)
  118.             {
  119.                 if($envoie)
  120.                         echo '<p style="text-align:center;">Envoi des mails aux abonn&eacute;s termin&eacute; !</p>';
  121.                 else
  122.                         echo '<p style="text-align:center;">Une erreur est survenue lors de l\'envoi du mail aux abonn&eacute;s !</p>';
  123.             }
  124.             echo '
  125.             <p align="center">Merci de votre participation !</p>
  126.             <form method="get" action="./index.php">
  127.                 <p style="text-align:center">
  128.                     <input type="hidden" name="mod" value="'.$K_mod.'" />
  129.                     <input type="hidden" name="ac" value="gestion" />
  130.                     <input type="submit" id="submit" value=" Retour " />
  131.                 </p>
  132.             </form>';
  133.             close_table();
  134.         }
  135.         else
  136.         {
  137.             bloc_head('Information');
  138.             echo '
  139.             <p style="text-align:center;">Vous n\'avez pas rempli tous les champs</p>
  140.             <p style="text-align:center;font-weight:bold;">
  141.                 <a href="index.php?mod='.$K_mod.'&amp;ac=poster">Retour</a>
  142.             </p>';
  143.             close_table();
  144.         }
  145.     }
  146.     else
  147.     {
  148.         bloc_head('Poster un article :');
  149.         echo '
  150.         <script type="text/javascript" src="includes/bbcode.js"></script>
  151.         <script type="text/javascript" src="./includes/bjs.js"></script>
  152.         <script type="text/javascript">
  153.         // <![CDATA[
  154.         function envoyer()
  155.         {
  156.             if (document.formulaire.sql_titrearticle.value=="")
  157.             {
  158.                 alert("Veuillez indiquer un titre pour votre article.");
  159.                 document.formulaire.sql_titrearticle.focus();
  160.                 return false;
  161.             }
  162.             else if (document.formulaire.texte.value=="")
  163.             {
  164.                 alert("Veuillez indiquer un contenu pour votre article.");
  165.                 document.formulaire.texte.focus();
  166.                 return false;
  167.             }
  168.             else if (document.formulaire.sql_mots_cles.value=="")
  169.             {
  170.                 if (confirm("Êtes-vous sur de vouloir poster l\'article sans mettre de mots clés ?"))
  171.                     return true;
  172.                 else
  173.                     return false;
  174.             }
  175.             else return true;
  176.         }
  177.         // ]]>
  178.         </script>
  179.  
  180.         <form style="text-align:center" name="formulaire" method="post" action="index.php?mod='.$K_mod.'" onsubmit="return envoyer()">
  181.             <input type="hidden" name="ac" value="poster" />
  182.             <input type="hidden" name="action" value="envoyer" />
  183.             <p style="text-align:center;">
  184.                 Titre :    <input type="text" name="sql_titrearticle" size="30" /><br /><br />
  185.                 Rubrique :    <select name="int_ref">';
  186.                     while ($article = mysql_fetch_object($req_art))
  187.                     {
  188.                         echo '
  189.                         <option value="'.$article->id.'">'.ax($article->titre).'</option>';
  190.                     }
  191.                     echo '
  192.                 </select>
  193. <!-- HA Ajout des champs Image-aperçu et Accroche -->
  194.                 <br />
  195.                 Image-aperçu : <input type="text" size="30" name="sql_img" id="sql_img" />
  196.             </p>
  197.             <p style="text-align:center;">
  198.                 Accroche (limité à 250 caractères, BBcode uniquement):
  199.                 <br />
  200.                 <textarea rows="10" cols="80" name="sql_accroche" id="sql_accroche" onkeyup="this.value = this.value.slice(0, 250)"></textarea>
  201.                 <br />
  202.             </p>
  203. <!-- HA -->';
  204.  
  205.             include './includes/balises.php';
  206.             afficher_smileys();
  207.  
  208.             echo '
  209.             Format du texte :
  210.             <input type="radio" value="0" name="int_type" />html&nbsp;&nbsp;
  211.             <input type="radio" value="1" name="int_type" checked="checked" />Balises BBcode&nbsp;&nbsp;
  212.             <input type="radio" value="2" name="int_type" />Lien vers une page<br />
  213.             <br />
  214.             Contenu :<br />
  215.             ';
  216.  
  217.  
  218.             echo'
  219.             <textarea rows="15" cols="80" name="texte" id="postzone" onkeyup="bjs(this.value,\'apercu\')" onchange="bjs(this.value,\'apercu\')"></textarea>
  220.             <br />
  221.             <input type="checkbox" onclick="pr_act(this);" /> Pr&eacute;visu bbcode activ&eacute;e
  222.             <input type="button" value="Actualiser" style="visibility:hidden" id="prev" name="prev" onclick="finalprev(\'./includes/xml_prev.php\',document.getElementById(\'postzone\').value,\'apercu\')" />
  223.             &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  224.             <input type="button" value="Pr&eacute;visualiser HTML" onclick="javascript:popupcentre(\'includes/prevhtml.php?sql_name_form=\'+this.form.name+\''.(is_module('tiny_mce') ? '&amp;tiny='.$is_tiny_mce.'&amp;confType='.$tiny_mce_confType.'&amp;download='.$tiny_mce_download.'&amp;theme='.$K_theme.'&amp;url='.$K_url_site.'':'').'\',\'Article\',\'800\',\'600\',\'yes\')" />
  225.             <br />
  226.             <div id="apercu" style="display:none"></div>
  227.             <br />
  228.             Facultatif : Mots cl&eacute;s (s&eacute;par&eacute;s par des virgules) de l\'article :<br />
  229.             <input type="text" name="sql_mots_cles" size="90" /><br /><br />
  230.             <input type="submit" id="submit" name="submit" value="Poster" />&nbsp;&nbsp;&nbsp;
  231.             <input type="button" id="annuler" name="annuler" value="Annuler" onclick="history.go(-1)" />
  232.         </form><br style="clear:both" />
  233.         ' ;
  234.         close_table();
  235.     }
  236. }
  237. else
  238. {
  239.     ZoneReserve();
  240. }
  241. $aff_drt=1;
  242. ?>
  243.  


Sujet écrit par Ancien membre le jeudi 14 mai 2009 à 22:06

[ Imprimer ] - [ Fermer la fenêtre ]