Table of Contents
- Bienvenue dans le Wiki
- Documentation en français
- Par où commencer
- Le panneau d'administration
- CMS
- Contenu
- Disposition
- Utilisateurs & Groupes
- Extensions
- Modules
- Balises (tags)
- Gestion des événements
- Balises utilisateurs
- Partager ses balises personalisées
- Administration du site
- Mes Préférences
- Tutoriel Création d'un module
- Trucs et astuces
- Glossaire CMSMS
- Guide du développeur
- Module Tutorial
- Création de modules
- Glossaire Wiki
This page in: English - Deutsch - Español - Français - Italiano - Lietuvių - Nederlands - Norsk - Polski - Русский - Svenska - Tiếng Việt - عربي - 日本語 简体中文
La section en anglais contient de nombreuses contributions qui ne seront probablement jamais traduites. En général, ce sont des exemples de codes que la plupart des développeurs pourront comprendre sans qu'elles ne soient traduites
dix_derniers
Affiche la liste des dix dernières pages mises-à-jour
$output = '<div class="nav"><div class="heading">Dernières modifications</div>'; $output .= '<ul class="links">'; global $gCms; $hm =& $gCms->GetHierarchyManager(); $db = &$gCms->db; // Affiche la liste des 10 plus récentes pages modifiées à l'exception de la home page $q = "SELECT * FROM ".cms_db_prefix()."content WHERE (type='content' OR type='link') AND default_content != 1 AND active = 1 AND show_in_menu = 1 ORDER BY modified_date DESC LIMIT 10"; $dbresult = $db->Execute( $q ); if( !$dbresult ) { echo 'DB error: '. $db->ErrorMsg()."<br/>"; } while ($dbresult && $updated_page = $dbresult->FetchRow()) { $curnode =& $hm->getNodeById($updated_page['content_id']); $curcontent =& $curnode->GetContent(); $output .= '<li class="updated">'; $output .= '<a href="'.$curcontent->GetURL().'"><strong>'.$updated_page['content_name'].'</strong></a> '; $output .= $updated_page['titleattribute']; $output .= '<br />'; $output .= 'page modifiée le : ' .$updated_page['modified_date']; $output .= '</li>'; } $output .= '</ul></div>'; echo $output;
Auteur : Elijah Lofgren
Affiche le texte du menu du parent
global $gCms; $contentops =& $gCms->GetContentOperations(); $smarty =& $gCms->GetSmarty(); $alias = $smarty->get_template_vars('page_alias'); $content =& $contentops->LoadContentFromAlias($alias); $parentid = $content->ParentId(); if( $parentid <= 0 ) { echo "il n'y a pas de parent"; break; } $alias = $contentops->GetPageAliasFromId($parentid); $content =& $contentops->LoadContentFromAlias($alias); if( !is_object($content) ) { echo "";//erreur break; } echo $content->MenuText();
Auteur : Jean le Chauve
Email compte-rendu après déconnexion
Recevoir un mail donnant un compte-rendu des actions faites par un utilisateur après qu'il se soit déconnecté.
Créer cette udt et l'associer à l'événement LogoutPost.
Le nombre d'actions reçues est paramétrable en modifiant $limit; (à la ligne 4).
J'ai également ajouté une condition sur le nom d'utilisateur afin de ne pas recevoir de mail si c'est nous-même qui nous connectons (admin) ; à modifier suivant vos paramètres ($username, ligne 5).
N'oubliez pas de modifier les adresses mail du destinataire et celle de l'expéditeur (lignes 6 et 7).
global $smarty; $db = cmsms()->GetDb(); $dateformat = '%x %X'; $limit = 5;// nombre de lignes à afficher $username = "admin"; // nom d'utilisateur à éviter $destinataire = "destinataire@domaine.com"; $expediteur = "expediteur@domaine.com"; $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 déconnexion d\'un utilisateur'); $cmsmailer->Send(); }
Auteur : Jean le Chauve
Mis à jour pour cmsms 1.10