/** * Load an object from its id and create a new one in database * * @param int $fromid Id of object to clone * @return int New id of clone */ function createFromClone($fromid) { global $user, $langs; $error = 0; $object = new Immocompteurlocal($this->db); $this->db->begin(); // Load source object $object->fetch($fromid); $object->id = 0; $object->statut = 0; // Clear fields // ... // Create clone $result = $object->create($user); // Other options if ($result < 0) { $this->error = $object->error; $error++; } if (!$error) { } // End if (!$error) { $this->db->commit(); return $object->id; } else { $this->db->rollback(); return -1; } }
if ($action == 'addcompteur') { $nom_compteur = GETPOST('nom_compteur', 'alpha'); $type_compteur = GETPOST('type_compteur', 'int'); //Create Compteur $compteur = new Immocompteur($db); $compteur->label = $nom_compteur; $compteur->type = $type_compteur; $result = $compteur->create($user); if ($result < 0) { setEventMessage($compteur->error, 'errors'); } //Link compteur to local $compteur_local = new Immocompteurlocal($db); $compteur_local->fk_local = $id; $compteur_local->fk_compteur = $compteur->id; $result = $compteur_local->create($user); if ($result < 0) { setEventMessage($compteur_local->error, 'errors'); } } elseif ($action == 'addrelever') { $dt_relever = dol_mktime(0, 0, 0, GETPOST('dtrelevmonth', 'int'), GETPOST('dtrelevday', 'int'), GETPOST('dtrelevyear', 'int')); $id_compteur = GETPOST('compteur', 'int'); $indexcompteur = GETPOST('indexcompteur'); $consocompteur = GETPOST('consocompteur'); $commentcompteur = GETPOST('commentcompteur', 'alpha'); $relever = new Immorelever($db); $relever->date_reveler = $dt_relever; $relever->index_reveler = $indexcompteur; $relever->consomation_relever = $consocompteur; $relever->comment_relever = $commentcompteur; $relever->fk_compteur_local = $id_compteur;