public static function save(\Rebond\Core\ModelInterface $model) { $db = new Util\Data(); if ($model->getId() === 0) { $query = 'INSERT INTO core_media (folder_id, `title`, `tags`, `upload`, `original_filename`, `path`, `extension`, `mime_type`, `file_size`, `width`, `height`, `alt`, `is_selectable`, `status`, `created_date`, `modified_date`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)'; $params = [$model->getFolderId(), $model->getTitle(), $model->getTags(), $model->getUpload(), $model->getOriginalFilename(), $model->getPath(), $model->getExtension(), $model->getMimeType(), $model->getFileSize(), $model->getWidth(), $model->getHeight(), $model->getAlt(), $model->getIsSelectable(), $model->getStatus(), $model->getCreatedDate('sqlDatetime'), Util\Format::date(time(), 'sqlDatetime')]; $id = $db->execute($query, $params); $model->setId($id); return $id; } else { $query = 'UPDATE core_media SET '; $params = []; if ($model->getFolderId() !== null) { $query .= 'folder_id = ?, '; $params[] = $model->getFolderId(); } if ($model->getTitle() !== null) { $query .= '`title` = ?, '; $params[] = $model->getTitle(); } if ($model->getTags() !== null) { $query .= '`tags` = ?, '; $params[] = $model->getTags(); } if ($model->getUpload() !== null) { $query .= '`upload` = ?, '; $params[] = $model->getUpload(); } if ($model->getOriginalFilename() !== null) { $query .= '`original_filename` = ?, '; $params[] = $model->getOriginalFilename(); } if ($model->getPath() !== null) { $query .= '`path` = ?, '; $params[] = $model->getPath(); } if ($model->getExtension() !== null) { $query .= '`extension` = ?, '; $params[] = $model->getExtension(); } if ($model->getMimeType() !== null) { $query .= '`mime_type` = ?, '; $params[] = $model->getMimeType(); } if ($model->getFileSize() !== null) { $query .= '`file_size` = ?, '; $params[] = $model->getFileSize(); } if ($model->getWidth() !== null) { $query .= '`width` = ?, '; $params[] = $model->getWidth(); } if ($model->getHeight() !== null) { $query .= '`height` = ?, '; $params[] = $model->getHeight(); } if ($model->getAlt() !== null) { $query .= '`alt` = ?, '; $params[] = $model->getAlt(); } if ($model->getIsSelectable() !== null) { $query .= '`is_selectable` = ?, '; $params[] = $model->getIsSelectable(); } 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); } }