Alternc  latest
Alternc logiel libre pour l'hébergement
 All Classes Namespaces Files Functions Variables Pages
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...
 

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.

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

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 94 of file m_err.php.

References $param.

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

References $mem, and get_remote_ip().

137  {
138  global $mem;
139  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);
140  }
get_remote_ip()
Return the remote IP.
Definition: functions.php:133
$mem
Definition: bootstrap.php:71
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 private

Definition at line 120 of file m_err.php.

References $mem, and get_remote_ip().

Referenced by raise().

120  {
121  global $mem;
122  @file_put_contents($this->logfile, date("d/m/Y H:i:s") . " - " . get_remote_ip() . " - ERROR - " . $mem->user["login"] . " - " . $this->errstr(), FILE_APPEND);
123  }
get_remote_ip()
Return the remote IP.
Definition: functions.php:133
$mem
Definition: bootstrap.php:71
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.

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

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

Member Data Documentation

m_err::$clsid = 0

Numero de classe d'erreur actuelle.

Definition at line 41 of file m_err.php.

Referenced by raise().

m_err::$error = 0

Dernière erreur enregistrée par la classe.

Definition at line 44 of file m_err.php.

Referenced by raise().

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

Emplacement du fichier de logs d'AlternC.

Definition at line 50 of file m_err.php.

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: