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

EventsManager + NMS + (CMSMS)events
#2

Tu peux t'inspirer de cette udt qui sert à envoyer des mails lors de la déconnexion d'un utilisateur :
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();
}
Cette udt s'appelle "connexion" et est raccordée à l'événement "LogoutPost"
Répondre


Messages dans ce sujet

Atteindre :


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