Alternc  latest
Alternc logiel libre pour l'hébergement
m_err Class Reference

Classe de gestion des erreurs apparaissant lors d'appels API. More...

Public Member Functions

 raise ($clsid, $error, $param="")
 Leve une erreur, signale celle-ci dans les logs et stocke le code erreur. More...
 
 errstr ()
 Retourne la chaine d'erreur correspondant à la dernière erreur rencontrée. More...
 
 logerr ()
 Envoi un log d'erreur dans /var/log/alternc/bureau.log. More...
 
 log ($clsid, $function, $param="")
 Envoi un log d'appel d'API dans /var/log/alternc/bureau.log. More...
 
 deprecated ()
 This method is present in order to allow slow deprecation. More...
 

Public Attributes

 $clsid =0
 Numero de classe d'erreur actuelle. More...
 
 $error =0
 Dernière erreur enregistrée par la classe. More...
 
 $param =""
 Paramètre chaine eventuellement associé à la dernière erreur. More...
 
 $logfile ="/var/log/alternc/bureau.log"
 Emplacement du fichier de logs d'AlternC. More...
 

Detailed Description

Classe de gestion des erreurs apparaissant lors d'appels API.


DEPRECATION WARNING: DON'T USE THIS CLASS, USE M_MESSAGES INSTEAD

Cette classe gère les erreurs qui peuvent apparaitre lors d'appels à l'API d'AlternC. Ces erreurs sont stockées sous la forme de 2 nombres (Classe ID et Numéro d'erreur) ainsi qu'un texte facultatif associé. Des textes d'erreurs localisés sont aussi disponibles.

Cette classe se charge aussi d'insérer les appels à l'API d'AlternC dans les logs du système dans /var/log/alternc/bureau.log

Copyleft AlternC Team

Definition at line 38 of file m_err.php.

Member Function Documentation

◆ deprecated()

m_err::deprecated ( )

This method is present in order to allow slow deprecation.

Definition at line 149 of file m_err.php.

149  {
150  global $msg;
151  $trace = debug_backtrace();
152  if (isset($trace[2])) {
153  $caller = $trace[2];
154  } else {
155  $caller = "UNKNOWN CALLER";
156  }
157  $msg->raise("info", "err", "Deprecation warning: The old messaging class is still used by ".json_encode($caller));
158  }
$msg
Definition: bootstrap.php:75

References $msg.

Referenced by log(), and raise().

◆ errstr()

m_err::errstr ( )

Retourne la chaine d'erreur correspondant à la dernière erreur rencontrée.

Si la dernière erreur rencontrée est connue, retourne l'erreur en toute lettre dans la langue actuellement sélectionnée, ou en anglais par défaut. Si l'erreur n'est pas connue, retourne son numéro de classe et d'ereur.

Returns
string Chaine d'erreur.

Definition at line 97 of file m_err.php.

97  {
98  if (is_string($this->error)) {
99  // new way of handling errors: message directly in the class
100  $str = $this->error."\n";
101  } else {
102  // old way: message in the locales files (ugly)
103  $str = _("err_".$this->clsid."_".$this->error)."\n";
104  }
105  $args = $this->param;
106  if (is_array($args)) {
107  array_unshift($args, $str);
108  $msg = call_user_func_array("sprintf", $args);
109  return $msg;
110  } else {
111  return $args;
112  }
113  }
$param
Paramètre chaine eventuellement associé à la dernière erreur.
Definition: m_err.php:47

References $msg, and $param.

◆ log()

m_err::log (   $clsid,
  $function,
  $param = "" 
)

Envoi un log d'appel d'API dans /var/log/alternc/bureau.log.

Cette fonction loggue dans /var/log l'appel à la fonction de l'API d'AlternC.

Parameters
integer$clsidNuméro de la classe dont on a appelé une fonction
string$functionNom de la fonction appelée
string$paramParamètre (facultatif) passés à la fonction de l'API.
Returns
boolean TRUE si le log a été ajouté, FALSE sinon

Definition at line 140 of file m_err.php.

140  {
141  global $mem,$cuid;
142  // This is the old method, deprecation warning
143  $this->deprecated();
144  return @file_put_contents($this->logfile,date("d/m/Y H:i:s")." - " .get_remote_ip(). " - CALL - ".$mem->user["login"]." - $clsid - $function - $param\n", FILE_APPEND );
145  }
$mem
Definition: bootstrap.php:71
$cuid
Definition: bootstrap.php:43
deprecated()
This method is present in order to allow slow deprecation.
Definition: m_err.php:149
get_remote_ip()
Return the remote IP.
Definition: functions.php:134

References $cuid, $mem, deprecated(), and get_remote_ip().

◆ logerr()

m_err::logerr ( )

Envoi un log d'erreur dans /var/log/alternc/bureau.log.

Cette fonction Loggue la dernière erreur dans /var/log sur la machine, permettant ainsi aux admins de savoir ce qu'il se passe... Elle est appelée automatiquement par error @access private

Definition at line 123 of file m_err.php.

123  {
124  global $mem;
125  @file_put_contents($this->logfile, date("d/m/Y H:i:s")." - ERROR - ".$mem->user["login"]." - ".$this->errstr(), FILE_APPEND );
126  }

References $mem.

Referenced by raise().

◆ raise()

m_err::raise (   $clsid,
  $error,
  $param = "" 
)

Leve une erreur, signale celle-ci dans les logs et stocke le code erreur.

Cette fonction lance une erreur, l'ajoute dans les logs d'AlternC, et la met à disposition pour le bureau virtuel pour affichage ultérieur.

Todo:
ne plus utiliser $error de façon numérique, nulle part
Parameters
integer$clsidClasse qui lève l'erreur
mixed$errorNuméro de l'erreur ou chaîne décrivant l'erreur
string$paramParamètre chaine associé à l'erreur (facultatif)
Returns
boolean TRUE si l'erreur est connue, FALSE sinon.

Definition at line 66 of file m_err.php.

66  {
67 
68  // This is the old method, deprecation warning
69  $this->deprecated();
70  /* Leve une exception. Si elle existe, sinon, stocke un message d'erreur sur erreur ...*/
71  if (_("err_".$clsid."_".$error)!="err_".$clsid."_".$error || is_string($error)) {
72  $this->clsid=$clsid;
73  $this->error=$error;
74  $args = func_get_args();
75  $this->param=array_slice($args, 2);
76  $this->logerr();
77  return true;
78  } else {
79  $this->clsid="err";
80  $this->error=1;
81  $this->param="Error # $error in Class $clsid, Value is $param. (sorry, no text for this error in your language at the moment)";
82  $this->logerr();
83  return false;
84  }
85  }
logerr()
Envoi un log d'erreur dans /var/log/alternc/bureau.log.
Definition: m_err.php:123
$clsid
Numero de classe d'erreur actuelle.
Definition: m_err.php:41
$error
Dernière erreur enregistrée par la classe.
Definition: m_err.php:44

References $clsid, $error, deprecated(), and logerr().

Member Data Documentation

◆ $clsid

m_err::$clsid =0

Numero de classe d'erreur actuelle.

Definition at line 41 of file m_err.php.

Referenced by raise().

◆ $error

m_err::$error =0

Dernière erreur enregistrée par la classe.

Definition at line 44 of file m_err.php.

Referenced by raise().

◆ $logfile

m_err::$logfile ="/var/log/alternc/bureau.log"

Emplacement du fichier de logs d'AlternC.

Definition at line 50 of file m_err.php.

◆ $param

m_err::$param =""

Paramètre chaine eventuellement associé à la dernière erreur.

Definition at line 47 of file m_err.php.

Referenced by errstr().


The documentation for this class was generated from the following file: