| Server IP : 172.173.179.141 / Your IP : 216.73.216.196 Web Server : Apache System : Linux mail.lomejor.cr 6.8.0-1059-azure #65~22.04.1-Ubuntu SMP Thu May 28 16:59:19 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.2.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/dev/htdocs/custom/gestionhrm/class/ |
Upload File : |
<?php
require_once DOL_DOCUMENT_ROOT . '/core/class/commonobject.class.php';
dol_include_once('/gestionhrm/class/hrm_presence.class.php');
class hrm_complain extends Commonobject{
public $errors = array();
public $rowid;
public $label;
public $complainby;
public $against;
public $date;
public $description;
public $element='hrm_complain';
public $table_element='hrm_complain';
public function __construct($db){
$this->db = $db;
return 1;
}
public function create($echo_sql=0,$insert)
{
$sql = "INSERT INTO " . MAIN_DB_PREFIX .get_class($this)." ( ";
foreach ($insert as $column => $value) {
$alias = (is_numeric($value)) ? "" : "'";
if($value != ""){
$sql_column .= " , `".$column."`";
$sql_value .= " , ".$alias.$value.$alias;
}
}
$sql .= substr($sql_column, 2)." ) VALUES ( ".substr($sql_value, 2)." )";
$resql = $this->db->query($sql);
if (!$resql) {
$this->db->rollback();
$this->errors[] = 'Error '.get_class($this).' '. $this->db->lasterror();
print_r($this->errors);die();
return 0;
}
// return $this->db->db->insert_id;
return $this->db->last_insert_id(MAIN_DB_PREFIX.'events');
}
public function update($id, array $data,$echo_sql=0)
{
dol_syslog(__METHOD__, LOG_DEBUG);
if (!$id || $id <= 0)
return false;
$sql = 'UPDATE ' . MAIN_DB_PREFIX .get_class($this). ' SET ';
if (count($data) && is_array($data))
foreach ($data as $key => $val) {
$val = is_numeric($val) ? $val : '"'. $val .'"';
$val = ($val == '') ? 'NULL' : $val;
$sql .= '`'. $key. '` = '. $val .',';
}
$sql = substr($sql, 0, -1);
$sql .= ' WHERE rowid = ' . $id;
// $sql .= ' AND entity='.$conf->entity.' OR entity=0 OR entity IN NULL';
$resql = $this->db->query($sql);
if (!$resql) {
$this->db->rollback();
$this->errors[] = 'Error '.get_class($this).' : '. $this->db->lasterror();
return -1;
}
return 1;
}
public function delete($echo_sql=0)
{
dol_syslog(__METHOD__, LOG_DEBUG);
$sql = 'DELETE FROM ' . MAIN_DB_PREFIX .get_class($this).' WHERE rowid = ' . $this->rowid;
$resql = $this->db->query($sql);
if (!$resql) {
$this->db->rollback();
$this->errors[] = 'Error '.get_class($this).' : '.$this->db->lasterror();
return -1;
}
return 1;
}
public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, $filter = '', $filtermode = 'AND')
{
global $conf;
dol_syslog(__METHOD__, LOG_DEBUG);
$sql = "SELECT * FROM ";
$sql .= MAIN_DB_PREFIX .get_class($this);
$sql .= ' WHERE entity='.$conf->entity;
if (!empty($filter)) {
$sql .= " ".$filter;
}
if (!empty($sortfield)) {
$sql .= $this->db->order($sortfield, $sortorder);
}
if (!empty($limit)) {
if($offset==1)
$sql .= " limit ".$limit;
else
$sql .= " limit ".$offset.",".$limit;
}
$this->rows = array();
$resql = $this->db->query($sql);
if ($resql) {
$num = $this->db->num_rows($resql);
while ($obj = $this->db->fetch_object($resql)) {
$line = new stdClass;
$line->id = $obj->rowid;
$line->rowid = $obj->rowid;
$line->label = $obj->label;
$line->complainby = $obj->complainby;
$line->against = $obj->against;
$line->date = $obj->date;
$line->entity = $obj->entity;
$line->description = $obj->description;
$this->rows[] = $line;
}
$this->db->free($resql);
return $num;
} else {
$this->errors[] = 'Error ' . $this->db->lasterror();
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
return -1;
}
}
public function fetch($id)
{
global $conf;
dol_syslog(__METHOD__, LOG_DEBUG);
$sql = 'SELECT * FROM ' . MAIN_DB_PREFIX .get_class($this). ' WHERE rowid = ' . $id;
$sql .= ' AND entity='.$conf->entity;
$resql = $this->db->query($sql);
if ($resql) {
$numrows = $this->db->num_rows($resql);
if ($numrows) {
$obj = $this->db->fetch_object($resql);
$this->id = $obj->rowid;
$this->rowid = $obj->rowid;
$this->label = $obj->label;
$this->complainby = $obj->complainby;
$this->against = $obj->against;
$this->date = $obj->date;
$this->entity = $obj->entity;
$this->description = $obj->description;
}
$this->db->free($resql);
if ($numrows) {
return 1 ;
} else {
return 0;
}
} else {
$this->errors[] = 'Error ' . $this->db->lasterror();
dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
return -1;
}
}
public function select_with_filter($selected=0,$name='select_',$showempty=1,$val="rowid",$id='',$attr=''){
global $conf;
$moreforfilter = '';
$nodatarole = '';
$id = (!empty($id)) ? $id : $name;
$moreforfilter.='<select width="100%" '.$attr.' class="flat" id="select_'.$id.'" name="'.$name.'">';
if ($showempty) $moreforfilter.='<option value="0"> </option>';
$sql = "SELECT * FROM ".MAIN_DB_PREFIX.get_class($this);
$sql .= ' WHERE entity='.$conf->entity;
//echo $sql."<br>";
$resql = $this->db->query($sql);
if ($resql) {
$num = $this->db->num_rows($resql);
while ($obj = $this->db->fetch_object($resql)) {
$moreforfilter.='<option value="'.$obj->rowid.'"';
if ($obj->$val == $selected) $moreforfilter.=' selected';
$moreforfilter.='>'.$obj->$rowid.'</option>';
}
$this->db->free($resql);
}
$moreforfilter.='</select>';
$moreforfilter.='<style>#s2id_select_'.$name.'{ width: 100% !important;}</style>';
return $moreforfilter;
}
function getNomUrl($withpicto=0, $option='', $get_params='', $notooltip=0, $save_lastsearch_value=-1)
{
global $langs, $conf, $user;
if (! empty($conf->dol_no_mouse_hover)) $notooltip=1; // Force disable tooltips
$result='';
$label='';
$url = dol_buildpath('/gestionhrm/hrm_complain/card.php?id='.$this->id,2);
// if ($user->rights->propal->lire){}
$linkclose='';
if (empty($notooltip))
{
$linkclose.= ' title="'.dol_escape_htmltag($label, 1).'"';
$linkclose.=' class="classfortooltip"';
}
$linkstart = "";
$linkend = "";
$result = "";
$ref=$this->rowid;
if ($ref) {
$linkstart = '<a href="'.$url.'"';
$linkstart.=$linkclose.'>';
$linkend='</a>';
$result .= $linkstart;
if ($withpicto)
$result.= '<img height="16" src="'.dol_buildpath('/gestionhrm/img/icon_hrm_complain.png',2).'" > ';
if ($withpicto != 2) $result.= $ref;
}
$result .= $linkend;
return $result;
}
public function select_user($selected=0,$name='select_',$multiple=0,$showempty=1,$val="rowid",$id=''){
global $conf;
$moreforfilter = '';
$nodatarole = '';
$id = (!empty($id)) ? $id : $name;
$multi= '';
$objet = "label";
if($multiple){
$multi = 'multiple';
$name = $name.'[]';
}
$moreforfilter.='<select class="flat" id="'.$id.'" name="'.$name.'" '.$nodatarole.' '.$multi.'>';
if ($showempty) $moreforfilter.='<option value="0"> </option>';
$sql= "SELECT * FROM ".MAIN_DB_PREFIX."user";
$sql .= ' WHERE employee = 1 and ( entity = '.$conf->entity.' OR entity=0 OR entity IS NULL) ';
$resql = $this->db->query($sql);
if ($resql) {
$num = $this->db->num_rows($resql);
while ($obj = $this->db->fetch_object($resql)) {
$moreforfilter.='<option value="'.$obj->$val.'" ';
if((is_array($selected) && in_array($obj->rowid, $selected)) || $obj->$val == $selected)
$moreforfilter.=' selected';
$moreforfilter.='>'.$obj->lastname.' '.$obj->firstname.'</option>';
}
$this->db->free($resql);
}
$moreforfilter.='</select>';
$moreforfilter.='<style>#s2id_select_'.$name.'{ width: 100% !important;}</style>';
return $moreforfilter;
}
}
?>