Ejemplo n.º 1
0
 public static function save(\Rebond\Core\ModelInterface $model)
 {
     $db = new Util\Data();
     if ($model->getId() === 0) {
         $query = 'INSERT INTO cms_page (parent_id, template_id, layout_id, `title`, `css`, `js`, `in_nav_header`, `in_nav_side`, `in_sitemap`, `in_breadcrumb`, `in_nav_footer`, `friendly_url_path`, `friendly_url`, `redirect`, `class`, `permission`, `display_order`, `status`, `created_date`, `modified_date`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)';
         $params = [$model->getParentId(), $model->getTemplateId(), $model->getLayoutId(), $model->getTitle(), $model->getCss(), $model->getJs(), $model->getInNavHeader(), $model->getInNavSide(), $model->getInSitemap(), $model->getInBreadcrumb(), $model->getInNavFooter(), $model->getFriendlyUrlPath(), $model->getFriendlyUrl(), $model->getRedirect(), $model->getClass(), $model->getPermission(), $model->getDisplayOrder(), $model->getStatus(), $model->getCreatedDate('sqlDatetime'), Util\Format::date(time(), 'sqlDatetime')];
         $id = $db->execute($query, $params);
         $model->setId($id);
         return $id;
     } else {
         $query = 'UPDATE cms_page SET ';
         $params = [];
         if ($model->getParentId() !== null) {
             $query .= 'parent_id = ?, ';
             $params[] = $model->getParentId();
         }
         if ($model->getTemplateId() !== null) {
             $query .= 'template_id = ?, ';
             $params[] = $model->getTemplateId();
         }
         if ($model->getLayoutId() !== null) {
             $query .= 'layout_id = ?, ';
             $params[] = $model->getLayoutId();
         }
         if ($model->getTitle() !== null) {
             $query .= '`title` = ?, ';
             $params[] = $model->getTitle();
         }
         if ($model->getCss() !== null) {
             $query .= '`css` = ?, ';
             $params[] = $model->getCss();
         }
         if ($model->getJs() !== null) {
             $query .= '`js` = ?, ';
             $params[] = $model->getJs();
         }
         if ($model->getInNavHeader() !== null) {
             $query .= '`in_nav_header` = ?, ';
             $params[] = $model->getInNavHeader();
         }
         if ($model->getInNavSide() !== null) {
             $query .= '`in_nav_side` = ?, ';
             $params[] = $model->getInNavSide();
         }
         if ($model->getInSitemap() !== null) {
             $query .= '`in_sitemap` = ?, ';
             $params[] = $model->getInSitemap();
         }
         if ($model->getInBreadcrumb() !== null) {
             $query .= '`in_breadcrumb` = ?, ';
             $params[] = $model->getInBreadcrumb();
         }
         if ($model->getInNavFooter() !== null) {
             $query .= '`in_nav_footer` = ?, ';
             $params[] = $model->getInNavFooter();
         }
         if ($model->getFriendlyUrlPath() !== null) {
             $query .= '`friendly_url_path` = ?, ';
             $params[] = $model->getFriendlyUrlPath();
         }
         if ($model->getFriendlyUrl() !== null) {
             $query .= '`friendly_url` = ?, ';
             $params[] = $model->getFriendlyUrl();
         }
         if ($model->getRedirect() !== null) {
             $query .= '`redirect` = ?, ';
             $params[] = $model->getRedirect();
         }
         if ($model->getClass() !== null) {
             $query .= '`class` = ?, ';
             $params[] = $model->getClass();
         }
         if ($model->getPermission() !== null) {
             $query .= '`permission` = ?, ';
             $params[] = $model->getPermission();
         }
         if ($model->getDisplayOrder() !== null) {
             $query .= '`display_order` = ?, ';
             $params[] = $model->getDisplayOrder();
         }
         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);
     }
 }