id) { return false; } $b = $this->getProperty("building"); $address = $b->street; if($this->name) { $address .= " ".$this->name; } $address .= "\n".$b->zip." ".$b->city; if($singelLine) { $address = str_replace("\n", " ", $address); } return $address; } public function getNewObjectCode() { if(!$this->building_id) { return false; } $bcode = $this->getProperty("building")->code; if(!$bcode) { return false; } $codes = []; // get existing codes $res = $this->db->select("Termination", "code", "code like '$bcode.%'"); if($this->db->num_rows($res)) { while($data = $this->db->fetch_object($res)) { $codes[] = $data->code; } } if(count($codes)) { sort($codes); } $last_code = end($codes); $m = []; if(preg_match('/\.(\d+)$/', $last_code, $m)) { if($m[1]) { $last_num = $m[1]; } } else { return false; } $new_num = ++$last_num; $code = $bcode.".".sprintf("%03d", $new_num); return $code; } public function getProperty($name) { if($this->$name == null) { if($name == "status") { $this->status = TerminationstatusModel::getOne($this->status_id); return $this->status; } $classname = ucfirst($name); $idfield = $name."_id"; $this->$name = new $classname($this->$idfield); if($this->$name->id) { return $this->$name; } else { return null; } } return $this->$name; } }