function addToDB()
{
global $DB;
//unset($this->fields["id"]);
$nb_fields = count($this->fields);
if ($nb_fields > 0) {
// Build query
$query = "INSERT\n INTO `" . $this->getTable() . "` (";
$i = 0;
foreach ($this->fields as $key => $val) {
$fields[$i] = $key;
$values[$i] = $val;
$i++;
}
for ($i = 0; $i < $nb_fields; $i++) {
$query .= "`" . $fields[$i] . "`";
if ($i != $nb_fields - 1) {
$query .= ",";
}
}
$query .= ") VALUES (";
for ($i = 0; $i < $nb_fields; $i++) {
if ($values[$i] == 'NULL') {
$query .= $values[$i];
} else {
if ($this->getType() == 'ProfileRight' && $values[$i] == '') {
$values[$i] = 0;
}
$query .= "'" . $values[$i] . "'";
}
if ($i != $nb_fields - 1) {
$query .= ",";
}
}
$query .= ")";
if ($result = $DB->query($query)) {
// Already define for entity / insert_id does not work
if (!isset($this->fields['id']) || is_null($this->fields['id']) || $this->fields['id'] == 0) {
$this->fields['id'] = $DB->insert_id();
}
return $this->fields['id'];
}
}
return false;
}