Exemple #1
0
 public function add()
 {
     $this->authorize();
     $input = $this->app['request']->input;
     $page = new Page();
     $page->name = $input['name'];
     $page->slug = $input['slug'];
     $page->content = $input['content'];
     $page->draft = isset($input['draft']);
     $validator = $page->validator();
     if ($validator->fails()) {
         $this->setFlash('errors', $validator->getErrors());
         $this->setFlash('input', serialize($this->app['request']->input));
         return $this->redirect('newPage');
     } else {
         $this->dataMapper->save($page);
         $this->setFlash('message', 'Page has been added successful.');
         return $this->redirect('pages');
     }
 }
Exemple #2
0
 /**
  * Save the page.
  *
  * @param \Basalt\Database\Page $page Page.
  * @return void
  */
 public function save(Page &$page)
 {
     $page->validate();
     if ($page->id) {
         $statement = $this->pdo->prepare('UPDATE `pages` SET `name` = :name, `slug` = :slug, `content` = :content, `draft` = :draft WHERE `id` = :id');
         $statement->bindValue(':id', $page->id, PDO::PARAM_INT);
         $statement->bindValue(':name', $page->name);
         $statement->bindValue(':slug', $page->slug);
         $statement->bindValue(':content', $page->content);
         $statement->bindValue(':draft', $page->draft, PDO::PARAM_BOOL);
         $statement->execute();
     } else {
         $statement = $this->pdo->prepare('INSERT INTO `pages` (`name`, `slug`, `content`, `draft`, `order`) SELECT :name, :slug, :content, :draft, MAX(`id`) + 1 FROM `pages`');
         $statement->bindValue(':name', $page->name);
         $statement->bindValue(':slug', $page->slug);
         $statement->bindValue(':content', $page->content);
         $statement->bindValue(':draft', $page->draft, PDO::PARAM_BOOL);
         $statement->execute();
         $page->id = $this->pdo->lastInsertId();
     }
 }