05/12/2012, 11:53:35
Tu peux t'inspirer de cette udt qui sert à envoyer des mails lors de la déconnexion d'un utilisateur :
Cette udt s'appelle "connexion" et est raccordée à l'événement "LogoutPost"
Code :
[== Indéfini ==]
global $smarty;
$db = cmsms()->GetDb();
$dateformat = '%x %X';
$limit = 5;// nombre de lignes à afficher
$username = "admin"; // nom d'utilisateur à éviter
$destinataire = "dest@domaine.fr";
$expediteur = "exp@domaine.fr";
$result = $db->Execute("SELECT * FROM ".cms_db_prefix()."adminlog ORDER BY timestamp DESC LIMIT $limit");
if ($result && $result->fields["username"] != $username){
$output = "<html><head></head><body>";
$output .= "<table border>";
$output .= "<thead>";
$output .= "<tr>";
$output .= "<th>Utilisateur</th>";
$output .= "<th>id de l'item </th>";
$output .= "<th>nom de l'item</th>";
$output .= "<th>action</th>";
$output .= "<th>date</th>";
$output .= "</tr>";
$output .= "</thead>";
$output .= "<tbody>";
$currow = "row1";
while ($row = $result->FetchRow()) {
$output .= "<tr class=\"$currow\">";
$output .= "<td>".$row["username"]."</td>";
$output .= "<td>".($row["item_id"]!=-1?$row["item_id"]:" ")."</td>";
$output .= "<td>".$row["item_name"]."</td>";
$output .= "<td>".$row["action"]."</td>";
$output .= "<td>".strftime($dateformat,$row['timestamp'])."</td>";
$output .= "</tr>";
($currow == "row1"?$currow="row2":$currow="row1");
}
$output .= '</tbody>';
$output .= '</table>';
$output .= '</body></html>';
$cmsmailer = cms_utils::get_module('CMSMailer');
$cmsmailer->AddAddress($destinataire);
$cmsmailer->SetFrom($expediteur);
$cmsmailer->SetBody($output);
$cmsmailer->IsHTML(true);
$cmsmailer->SetSubject('Compte-rendu après connexion d\'un utilisateur sur le site');
$cmsmailer->Send();
}