Forum CMS Made Simple FR
[Résolu] Développement module : ajout ligne dans le log admin - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Général (https://forum.cmsmadesimple.fr/forum-10.html)
+--- Sujet : [Résolu] Développement module : ajout ligne dans le log admin (/thread-2752.html)



[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 Smile

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 Smile


[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