Пример #1
0
 public static function save(\Rebond\Core\ModelInterface $model)
 {
     $db = new Util\Data();
     if ($model->getId() === 0) {
         $query = 'INSERT INTO cms_content (module_id, `app_id`, `content_group`, filter_id, author_id, publisher_id, `title`, `url_friendly_title`, `use_expiration`, `go_live_date`, `expiry_date`, `published_date`, `version`, `created_date`, `modified_date`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)';
         $params = [$model->getModuleId(), $model->getAppId(), $model->getContentGroup(), $model->getFilterId(), $model->getAuthorId(), $model->getPublisherId(), $model->getTitle(), $model->getUrlFriendlyTitle(), $model->getUseExpiration(), $model->getGoLiveDate('sqlDatetime'), $model->getExpiryDate('sqlDatetime'), $model->getPublishedDate('sqlDatetime'), $model->getVersion(), $model->getCreatedDate('sqlDatetime'), Util\Format::date(time(), 'sqlDatetime')];
         $id = $db->execute($query, $params);
         $model->setId($id);
         return $id;
     } else {
         $query = 'UPDATE cms_content SET ';
         $params = [];
         if ($model->getModuleId() !== null) {
             $query .= 'module_id = ?, ';
             $params[] = $model->getModuleId();
         }
         if ($model->getAppId() !== null) {
             $query .= '`app_id` = ?, ';
             $params[] = $model->getAppId();
         }
         if ($model->getContentGroup() !== null) {
             $query .= '`content_group` = ?, ';
             $params[] = $model->getContentGroup();
         }
         if ($model->getFilterId() !== null) {
             $query .= 'filter_id = ?, ';
             $params[] = $model->getFilterId();
         }
         if ($model->getAuthorId() !== null) {
             $query .= 'author_id = ?, ';
             $params[] = $model->getAuthorId();
         }
         if ($model->getPublisherId() !== null) {
             $query .= 'publisher_id = ?, ';
             $params[] = $model->getPublisherId();
         }
         if ($model->getTitle() !== null) {
             $query .= '`title` = ?, ';
             $params[] = $model->getTitle();
         }
         if ($model->getUrlFriendlyTitle() !== null) {
             $query .= '`url_friendly_title` = ?, ';
             $params[] = $model->getUrlFriendlyTitle();
         }
         if ($model->getUseExpiration() !== null) {
             $query .= '`use_expiration` = ?, ';
             $params[] = $model->getUseExpiration();
         }
         if ($model->getGoLiveDate() !== null) {
             $query .= '`go_live_date` = ?, ';
             $params[] = $model->getGoLiveDate('sqlDatetime');
         }
         if ($model->getExpiryDate() !== null) {
             $query .= '`expiry_date` = ?, ';
             $params[] = $model->getExpiryDate('sqlDatetime');
         }
         if ($model->getPublishedDate() !== null) {
             $query .= '`published_date` = ?, ';
             $params[] = $model->getPublishedDate('sqlDatetime');
         }
         if ($model->getVersion() !== null) {
             $query .= '`version` = ?, ';
             $params[] = $model->getVersion();
         }
         $query .= '`modified_date` = ?, ';
         $params[] = Util\Format::date(time(), 'sqlDatetime');
         $query = rtrim(trim($query), ',');
         $query .= ' WHERE id = ?';
         $params[] = $model->getId();
         return $db->execute($query, $params);
     }
 }