36 public $element =
'events';
41 public $table_element =
'events';
98 public $prefix_session;
103 public $authentication_method;
107 public $eventstolog = array(
108 array(
'id'=>
'USER_LOGIN',
'test'=>1),
109 array(
'id'=>
'USER_LOGIN_FAILED',
'test'=>1),
110 array(
'id'=>
'USER_LOGOUT',
'test'=>1),
111 array(
'id'=>
'USER_CREATE',
'test'=>1),
112 array(
'id'=>
'USER_MODIFY',
'test'=>1),
113 array(
'id'=>
'USER_NEW_PASSWORD',
'test'=>1),
114 array(
'id'=>
'USER_ENABLEDISABLE',
'test'=>1),
115 array(
'id'=>
'USER_DELETE',
'test'=>1),
116 array(
'id'=>
'USERGROUP_CREATE',
'test'=>1),
117 array(
'id'=>
'USERGROUP_MODIFY',
'test'=>1),
118 array(
'id'=>
'USERGROUP_DELETE',
'test'=>1),
126 public $fields = array(
127 'rowid' =>array(
'type'=>
'integer',
'label'=>
'TechnicalID',
'enabled'=>1,
'visible'=>-2,
'noteditable'=>1,
'notnull'=> 1,
'index'=>1,
'position'=>1,
'comment'=>
'Id'),
128 'entity' =>array(
'type'=>
'integer',
'label'=>
'Entity',
'enabled'=>1,
'visible'=>0,
'notnull'=> 1,
'default'=>1,
'index'=>1,
'position'=>20),
129 'prefix_session'=>array(
'type'=>
'varchar(255)',
'label'=>
'PrefixSession',
'enabled'=>1,
'visible'=>-1,
'notnull'=>-1,
'index'=>0,
'position'=>1000),
130 'user_agent' =>array(
'type'=>
'varchar(255)',
'label'=>
'UserAgent',
'enabled'=>1,
'visible'=>-1,
'notnull'=> 1,
'default'=>0,
'index'=>1,
'position'=>1000),
157 if (empty($this->user_agent)) {
158 $this->user_agent = (empty($_SERVER[
'HTTP_USER_AGENT']) ?
'' : $_SERVER[
'HTTP_USER_AGENT']);
163 $this->error =
'ErrorBadValueForParameterCreateEventDesc';
168 $sql =
"INSERT INTO ".$this->db->prefix().
"events(";
172 $sql .=
"user_agent,";
173 $sql .=
"dateevent,";
175 $sql .=
"description,";
176 $sql .=
"prefix_session";
177 $sql .=
") VALUES (";
178 $sql .=
" '".$this->db->escape($this->
type).
"',";
179 $sql .=
" ".((int) $conf->entity).
",";
181 $sql .=
" ".($this->user_agent ?
"'".$this->db->escape(
dol_trunc($this->user_agent, 250)).
"'" :
'NULL').
",";
182 $sql .=
" '".$this->db->idate($this->dateevent).
"',";
183 $sql .=
" ".($user->id > 0 ? ((int) $user->id) :
'NULL').
",";
185 $sql .=
" '".$this->db->escape(dol_getprefix()).
"'";
188 dol_syslog(get_class($this).
"::create", LOG_DEBUG);
189 $resql = $this->db->query($sql);
191 $this->
id = $this->db->last_insert_id($this->db->prefix().
"events");
194 $this->error =
"Error ".$this->db->lasterror();
207 public function update($user =
null, $notrigger = 0)
210 $this->
id = (int) $this->
id;
218 $sql =
"UPDATE ".$this->db->prefix().
"events SET";
219 $sql .=
" type='".$this->db->escape($this->
type).
"',";
220 $sql .=
" dateevent='".$this->db->idate($this->dateevent).
"',";
221 $sql .=
" description='".$this->db->escape($this->
description).
"'";
222 $sql .=
" WHERE rowid=".((int) $this->
id);
224 dol_syslog(get_class($this).
"::update", LOG_DEBUG);
225 $resql = $this->db->query($sql);
227 $this->error =
"Error ".$this->db->lasterror();
241 public function fetch($id, $user =
null)
247 $sql .=
" t.entity,";
248 $sql .=
" t.dateevent,";
249 $sql .=
" t.description,";
251 $sql .=
" t.user_agent,";
252 $sql .=
" t.prefix_session";
253 $sql .=
" FROM ".$this->db->prefix().
"events as t";
254 $sql .=
" WHERE t.rowid = ".((int) $id);
256 dol_syslog(get_class($this).
"::fetch", LOG_DEBUG);
257 $resql = $this->db->query($sql);
259 if ($this->db->num_rows($resql)) {
260 $obj = $this->db->fetch_object($resql);
262 $this->
id = $obj->rowid;
263 $this->tms = $this->db->jdate($obj->tms);
264 $this->
type = $obj->type;
265 $this->entity = $obj->entity;
266 $this->dateevent = $this->db->jdate($obj->dateevent);
268 $this->ip = $obj->ip;
269 $this->user_agent = $obj->user_agent;
270 $this->prefix_session = $obj->prefix_session;
272 $this->db->free($resql);
276 $this->error =
"Error ".$this->db->lasterror();
288 public function delete($user)
290 $sql =
"DELETE FROM ".$this->db->prefix().
"events";
291 $sql .=
" WHERE rowid=".((int) $this->
id);
293 dol_syslog(get_class($this).
"::delete", LOG_DEBUG);
294 $resql = $this->db->query($sql);
296 $this->error =
"Error ".$this->db->lasterror();
317 $this->dateevent = time();
319 $this->ip =
'1.2.3.4';
320 $this->user_agent =
'Mozilla specimen User Agent X.Y';
321 $this->prefix_session = dol_getprefix();
initAsSpecimen()
Initialise an instance with random values.
__construct($db)
Constructor.
create($user)
Create in database.
fetch($id, $user=null)
Load object in memory from database.
update($user=null, $notrigger=0)
Update database.
print $script_file $mode $langs defaultlang(is_numeric($duration_value) ? " delay=". $duration_value :"").(is_numeric($duration_value2) ? " after cd cd cd description as description
Only used if Module[ID]Desc translation string is not found.
dol_trunc($string, $size=40, $trunc='right', $stringencoding='UTF-8', $nodot=0, $display=0)
Truncate a string to a particular length adding '…' if string larger than length.
getUserRemoteIP()
Return the IP of remote user.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type