[Résolu] Développement module : ajout ligne dans le log admin -
fabienfs - 20/05/2013
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.6
#~ Url du site :
#~ Hébergeur / Soft : IIS7
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour,
Je viens de me lancer dans le dev de module CMSMS, et j'aimerais ajouter des lignes dans le log admin de CMSMS.
Pour ca, j'utilise la fonction suivante :
Code :
[== PHP ==]
$this->Audit( 0, $this->Lang('friendlyname'), 'Description du log');
Ca fonctionne parfaitement, mais j'aimerais maintenant envoyer un log depuis une fonction PHP. Exemple :
Code :
[== PHP ==]
function EnvoiCaDansLeLog($text) {
$this->Audit( 0, $this->Lang('friendlyname'), $text);
}
Mais ca ne fonctionne pas. Probablement à cause du $this qui n'est plus interpreté correctement dans dans une fonction ?
Comment puis-je faire depuis une fonction ?
Merci pour votre aide
Fabien
[Résolu] Développement module : ajout ligne dans le log admin -
exacore - 20/05/2013
Salut,
Est-ce que ça, ça fonctionne ?
Code :
[== PHP ==]
function EnvoiCaDansLeLog($text) {
cmsms()->Audit( 0, $this->Lang('friendlyname'), $text);
}
[Résolu] Développement module : ajout ligne dans le log admin -
fabienfs - 20/05/2013
Bonsoir,
Non ça ne fonctionne pas non plus. Page blanche
[Résolu] Développement module : ajout ligne dans le log admin -
jissey - 21/05/2013
Bonjour,
pour que $this soit connu, il faut être dans la classe de ton module.
Donc, soit ta fonction est dans ta classe de module (directement ou par include), soit tu récupères ta classe par
Code :
[== PHP ==]
$modops = cmsms()->GetModuleOperations();
$mod = $modops->get_module_instance('monModule');
$mod->Audit( 0, $this->Lang('friendlyname'), $text);
[Résolu] Développement module : ajout ligne dans le log admin -
fabienfs - 21/05/2013
Hello jissey,
Voici l'erreur que j'ai :
Code :
[== Indéfini ==]
Fatal error: Call to a member function Audit() on a non-object in D:\Web\test\www\modules\FAQ\action.defaultadmin.php on line 26
Call Stack:
0,0006 162472 1. {main}() D:\Web\test\www\admin\moduleinterface.php:0
0,1104 4019296 2. CMSModule->DoActionBase() D:\Web\test\www\admin\moduleinterface.php:116
0,1105 4020744 3. CMSModule->DoAction() D:\Web\test\www\lib\classes\class.CMSModule.php:1799
0,1109 4038912 4. include('D:\Web\test\www\modules\FAQ\action.defaultadmin.php') D:\Web\test\www\lib\classes\class.CMSModule.php:1731
0,1151 4168672 5. EnvoiCaDansLeLog() D:\Web\test\www\modules\FAQ\action.defaultadmin.php:53
[Résolu] Développement module : ajout ligne dans le log admin -
bess - 21/05/2013
quel est le code que tu as mis exactement à la ligne 24-25 et 26 du fichier action.defaultadmin.php ? et quel est le nom donné à ton module (function GetName() dans le même fichier)
[Résolu] Développement module : ajout ligne dans le log admin -
fabienfs - 21/05/2013
Voici mon code :
Code :
[== PHP ==]
[20] function EnvoiCaDansLeLog($text) {
[21] echo '<script>alert("'.$text.'");</script>';
[22]
[23] // Ajout dans le log admin de CMSMS
[24] $modops = cmsms()->GetModuleOperations();
[25] $mod = $modops->get_module_instance('FAQ');
[26] $mod->Audit( 0, $this->Lang('friendlyname'), $text);
[27] }
et
Code :
[== PHP ==]
function GetName()
{
return 'FAQ';
}
merci pour ton aide
[Résolu] Développement module : ajout ligne dans le log admin -
jissey - 21/05/2013
RE:
met ta fonction dans faq.module.php et appelle là depuis action.defaultadmin.php
Code :
[== Indéfini ==]
function EnvoiCaDansLeLog($text) {
echo '<script>alert("'.$text.'");</script>';
// Ajout dans le log admin de CMSMS
$this->Audit( 0, $this->Lang('friendlyname'), $text);
[Résolu] Développement module : ajout ligne dans le log admin -
fabienfs - 21/05/2013
Hello jissey,
Merci, c'est parfait !
bonne soirée
Fabien