Example #1
0
 public function removeItem(Item $item)
 {
     foreach ($this->items as $key => $it) {
         if ($it->id() == $item->id()) {
             unset($items[$key]);
         }
     }
 }
Example #2
0
 /**
  * Méthode permettant d'enregistrer une item.
  * @param $item Item la item à enregistrer
  * @see self::add()
  * @see self::modify()
  * @return void
  */
 public function save(Item $item)
 {
     if ($item->isValid()) {
         if ($item->isNew()) {
             return $this->add($item);
         }
         $this->modify($item);
     } else {
         throw new \RuntimeException('L\'item doit être valide pour être enregistré');
     }
 }
Example #3
0
 protected function modify(Item $item)
 {
     $requete = $this->dao->prepare('UPDATE items SET name = :name, slug = :slug, href = :href, minAuth = :minAuth, maxAuth = :maxAuth, itemOrder = :itemOrder, menuId = :menuId, className = :className WHERE id = :id');
     $requete->bindValue(':name', ucFirst($item->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($item->name() . $item->menuId(), ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-')), \PDO::PARAM_STR);
     $requete->bindValue(':href', $item->href(), \PDO::PARAM_STR);
     $requete->bindValue(':minAuth', $item->minAuth(), \PDO::PARAM_INT);
     $requete->bindValue(':maxAuth', $item->maxAuth(), \PDO::PARAM_INT);
     $requete->bindValue(':itemOrder', $item->itemOrder(), \PDO::PARAM_INT);
     $requete->bindValue(':menuId', $item->menuId(), \PDO::PARAM_INT);
     $requete->bindValue(':className', $item->className(), \PDO::PARAM_STR);
     $requete->bindValue(':id', $item->id(), \PDO::PARAM_INT);
     $requete->execute();
 }