public function edit(array $data, $idGallery, $oldLang) { if ($data['translate'] != null) { $data['idGallery'] = $data['translate']; } $lang = $data['language']; $data['lang'] = $lang; unset($data['language']); unset($data['translate']); $images = $data['images']; unset($data['images']); try { $result = parent::update($data, ['idGallery' => $idGallery, 'lang' => $oldLang]); } catch (UniqueConstraintViolationException $ex) { throw new EntityExistsException('Galerie již existuje'); } if ($idGallery != $data['idGallery'] || $oldLang != $data['lang']) { $this->onChangePrimary($idGallery, $data['idGallery'], $oldLang, $data['lang']); } if (!empty($images)) { $this->onGallerySave($data['idGallery'], $data['lang'], $images); } return $result; }
public function edit(array $data, $idArticle, $lang) { if ($data['image']->name != null) { $article = $this->find($idArticle, $lang); $this->imageMapper->delete($article->image); $name = $this->imageName($data['image']); $this->insertImage($data['image'], $name); $data['image'] = $name; } else { unset($data['image']); } if ($data['language'] != null) { $data['lang'] = $data['language']; unset($data['language']); } if ($data['translate'] != null) { $data['idArticle'] = $data['translate']; } unset($data['translate']); try { $result = parent::update($data, ['idArticle' => $idArticle, 'lang' => $lang]); } catch (UniqueConstraintViolationException $ex) { if ($ex->getCode() == 23000) { throw new EntityExistsException('Článek s tímto nadpisem už existuje'); } } }
/** * @param array $data * @param array $by * @return bool */ public function update(array $data, array $by = []) { if ($data['image']->name != null) { $offer = $this->find($by['idOffer'], $by['lang']); $this->imageMapper->delete(offerImagesPath . $offer->image); $name = $this->imageName($data['image']); $this->insertImage($data['image'], $name); $data['image'] = $name; } else { unset($data['image']); } if ($data['translate'] != null) { $data['idOffer'] = $data['translate']; } unset($data['translate']); try { return parent::update($data, $by); } catch (UniqueConstraintViolationException $ex) { if ($ex->getCode() == 23000) { throw new EntityExistsException('Nabídka s tímto nadpisem už existuje'); } l($ex->getMessage()); } }