Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Résolu] UDT (balise utilisateurs) avec include().
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.13
#~ Url du site : http://www.dell-arte.fr/veloclub/
#~ Hébergeur / Soft : ovh
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.13
#~ Installed Modules:
#~ CMSMailer: 5.2.2
#~ CMSPrinting: 1.0.5
#~ FileManager: 1.4.5
#~ MenuManager: 1.8.6
#~ MicroTiny: 1.2.9
#~ ModuleManager: 1.5.8
#~ News: 2.14.1
#~ Search: 1.7.12
#~ ThemeManager: 1.1.8
#~ TemplateExternalizer: 2.1.6
#~ TinyMCE: 2.9.12
#~ Album: 1.10.3
#~ Gallery: 2.0.1
#~ CGExtensions: 1.45
#~ CGSimpleSmarty: 1.7.4
#~ CGCalendar: 1.14.6
#~ FormBuilder: 0.8.1.1
#~ FrontEndUsers: 1.26
#~ CustomContent: 1.10
#~ CGSmartImage: 1.17.2
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ max_upload_size: 64000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale: fr_FR.utf-8
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.4.38
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 2048
#~ E_DEPRECATED: 8192
#~ memory_limit: 512M
#~ max_execution_time: 300
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 64M
#~ upload_max_filesize: 64M
#~ session_save_path: /tmp (0700)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: fpm-fcgi
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.1.73
#~ Server Db Grants: Impossible de trouver un privilège "GRANT ALL". Cela peut signifier que vous pourriez avoir des problèmes pour installer ou retirer des modules, ou encore l 'ajout et la suppression d'éléments, y compris les pages.
#~ Server Time Diff: Aucune différence de date du système de fichiers trouvées
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour,

Pour le site d'un club de cyclistes, j'essaye de faire en sorte qu'à chaque nouvel article posté (que ce soit via l'admin ou via FEU), un mail de notification soit envoyé à chaque adhérent.

J'utilise pour ça deux UDT (l'une pour l'ajout, l'autre pour la modification d'un article) et le gestionnaire d'évènements - NewsArticleAdded et NewsArticleEdited - et ça marche très bien (merci jissey).

Ca marche si on écrit en dur les adresses mail dans les udt. Peu pratique. J'essaye alors de passer par un fichier externe au moyen d'un include, et là, ça ne marche plus.

J'ai pensé à une erreur de chemin, et j'ai donc créé une udt test avec un echo sur une variable pêchée au moyen d'un include dans un fichier extérieur, et ça marche. Cette udt est incluse dans une page du site, et le chemin se fait au départ de la racine du site.

Lorsque j'utilise le même chemin pour l'include des udt qui envoient les mails, ça ne marche pas.
Je me dis que si la page du site qui appelle l'udt test sert de référence pour trouver le chemin vers le fichier à inclure, c'est le gestionnaire d'évènements qui sert de référence pour établir ce chemin dans l'udt de notification.
Et là je ne sais plus quoi faire. Au moyen d'un __DIR__ inséré dans l'udt test et dans l'udt notification, le même chemin m'est renvoyé, mais ça ne m'aide pas :

/home/dellartedu/www/veloclub/lib/classes

le répertoire veloclub renfermant cms Made Simple.

Comment trouver le bon chemin ?

Ci-dessous, le script de l'udt appelé dans une page du site, qui renvoie les résultats attendus :

Code :
[== PHP ==]
include('uploads/soumission/date_heure.php');
include('uploads/soumission/liste_mail.php');

// Affiche le chemin /home/dellartedu/www/veloclub/lib/classes
echo __DIR__ . '<br />';

// Donne la date et l'heure trouvée dans date_heure.php
echo'Nous sommes le ' . $date_w . ' et il est ' . $heure_w . ' !<br />';

// Donne la liste de toutes les adresses mail présentes dans liste_mail.php
echo $to;

Ci-dessous, le script de l'udt de notification appelé par le gestionnaire d'évènements, qui marche (adresses mail en dur) :

Code :
[== PHP ==]
// Plusieurs destinataires
    $to  = 'gxxx@axxx.fr' . ', ';
    $to .= 'txxx@oxxx.fr' . ', ';
    $to .= 'gxxx@yxxx.fr' . ', ';
    $to .= 'gxxx@lxxx.com' . ', ';
    $to .= 'gxxx@axxx.com';
$subject = 'Essai envoi';
$message = "Envoi mail lors de la publication d'un nouveau message backend. R&eacute;pertoire : " . __DIR__;

// fonction
mail($to, $subject, $message);

Ci-dessous, le même script avec include pour les adresses mail, qui ne marche pas :

Code :
[== PHP ==]
include('uploads/soumission/liste_mail.php');

$subject = 'Essai envoi';
$message = "Envoi mail lors de la publication d'un nouveau message backend. R&eacute;pertoire : " . __DIR__;

// fonction
mail($to, $subject, $message);');

Pour ce script, j'ai aussi essayé à tout hasard le chemin - ../../uploads/soumission/liste_mail.php - en référence à ce que me renvoie __DIR__, sans succès.

Si quelqu'un a une idée...

Un grand merci !
Sujet fermé


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)