public static function save(\Rebond\Core\ModelInterface $model) { $db = new Util\Data(); if ($model->getId() === 0) { $query = 'INSERT INTO core_user (`username`, `email`, `password`, `firstname`, `lastname`, avatar_id, `is_admin`, `is_dev`, `status`, `created_date`, `modified_date`) VALUES (?,?,?,?,?,?,?,?,?,?,?)'; $params = [$model->getUsername(), $model->getEmail(), $model->getPassword(), $model->getFirstname(), $model->getLastname(), $model->getAvatarId(), $model->getIsAdmin(), $model->getIsDev(), $model->getStatus(), $model->getCreatedDate('sqlDatetime'), Util\Format::date(time(), 'sqlDatetime')]; $id = $db->execute($query, $params); $model->setId($id); return $id; } else { $query = 'UPDATE core_user SET '; $params = []; if ($model->getUsername() !== null) { $query .= '`username` = ?, '; $params[] = $model->getUsername(); } if ($model->getEmail() !== null) { $query .= '`email` = ?, '; $params[] = $model->getEmail(); } if ($model->getPassword() !== null) { $query .= '`password` = ?, '; $params[] = $model->getPassword(); } if ($model->getFirstname() !== null) { $query .= '`firstname` = ?, '; $params[] = $model->getFirstname(); } if ($model->getLastname() !== null) { $query .= '`lastname` = ?, '; $params[] = $model->getLastname(); } if ($model->getAvatarId() !== null) { $query .= 'avatar_id = ?, '; $params[] = $model->getAvatarId(); } if ($model->getIsAdmin() !== null) { $query .= '`is_admin` = ?, '; $params[] = $model->getIsAdmin(); } if ($model->getIsDev() !== null) { $query .= '`is_dev` = ?, '; $params[] = $model->getIsDev(); } if ($model->getStatus() !== null) { $query .= '`status` = ?, '; $params[] = $model->getStatus(); } $query .= '`modified_date` = ?, '; $params[] = Util\Format::date(time(), 'sqlDatetime'); $query = rtrim(trim($query), ','); $query .= ' WHERE id = ?'; $params[] = $model->getId(); return $db->execute($query, $params); } }