protected function modify(Menu $menu) { $requete = $this->dao->prepare('UPDATE menus SET name = :name, slug = :slug WHERE id = :id'); $requete->bindValue(':name', ucFirst($menu->name()), \PDO::PARAM_STR); $requete->bindValue(':slug', strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|copy|th|tilde|uml);~i', '$1', htmlentities($menu->name(), ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-')), \PDO::PARAM_STR); $requete->bindValue(':id', $menu->id(), \PDO::PARAM_INT); $requete->execute(); }
public function executeCreate(HTTPRequest $request) { $manager = $this->getManagerOf($this->module(), 'Menus'); $menu = new Menu(); $menu->setName($request->postData('name')); $id = $manager->save($menu); echo json_encode($id); exit; }
/** * Méthode permettant d'enregistrer une menu. * @param $Menu Menu la menu à enregistrer * @see self::add() * @see self::modify() * @return void */ public function save(Menu $Menu) { if ($Menu->isValid()) { if ($Menu->isNew()) { return $this->add($Menu); } $this->modify($Menu); } else { throw new \RuntimeException('Le menu doit être valide pour être enregistré'); } }