src/Sulu/Bundle/CategoryBundle/Category/KeywordManager.php
private function handleOverwrite(KeywordInterface $keyword, CategoryInterface $category)
    {
        if (null !== $synonym = $this->findSynonym($keyword)) {
            // reset entity and remove it from category
            if ($this->entityManager->contains($keyword)) {
                $this->entityManager->refresh($keyword);
            }
            $this->delete($keyword, $category);

            // link this synonym to the category
            $keyword = $synonym;
        }

        $categoryTranslation = $category->findTranslationByLocale($keyword->getLocale());
        if (!$categoryTranslation) {
            $categoryTranslation = $this->createTranslation($category, $keyword->getLocale());
        }

        // if keyword already exists in category
        if ($categoryTranslation->hasKeyword($keyword)) {
            return $keyword;
        }

        $keyword->addCategoryTranslation($categoryTranslation);
        $categoryTranslation->addKeyword($keyword);

        // FIXME category and meta will not be updated if only keyword was changed
        $category->setChanged(new \DateTime());
        $categoryTranslation->setChanged(new \DateTime());

        return $keyword;
    }
private function handleOverwrite(KeywordInterface $keyword, CategoryInterface $category)
    {
        if (null !== $synonym = $this->findSynonym($keyword)) {
            // reset entity and remove it from category
            if ($this->entityManager->contains($keyword)) {
                $this->entityManager->refresh($keyword);
            }
            $this->delete($keyword, $category);

            // link this synonym to the category
            $keyword = $synonym;
        }

        $categoryTranslation = $category->findTranslationByLocale($keyword->getLocale());
        if (!$categoryTranslation) {
            $categoryTranslation = $this->createTranslation($category, $keyword->getLocale());
        }

        // if keyword already exists in category
        if ($categoryTranslation->hasKeyword($keyword)) {
            return $keyword;
        }

        $keyword->addCategoryTranslation($categoryTranslation);
        $categoryTranslation->addKeyword($keyword);

        // FIXME category and meta will not be updated if only keyword was changed
        $category->setChanged(new \DateTime());
        $categoryTranslation->setChanged(new \DateTime());

        return $keyword;
    }
private function handleOverwrite ( KeywordInterface $ keyword , CategoryInterface $ category ) { if ( null !== $ synonym = $ this -> findSynonym ( $ keyword ) ) { // reset entity and remove it from category if ( $ this -> entityManager -> contains ( $ keyword ) ) { $ this -> entityManager -> refresh ( $ keyword ) ; } $ this -> delete ( $ keyword , $ category ) ; // link this synonym to the category $ keyword = $ synonym ; } $ categoryTranslation = $ category -> findTranslationByLocale ( $ keyword -> getLocale ( ) ) ; if ( ! $ categoryTranslation ) { $ categoryTranslation = $ this -> createTranslation ( $ category , $ keyword -> getLocale ( ) ) ; } // if keyword already exists in category if ( $ categoryTranslation -> hasKeyword ( $ keyword ) ) { return $ keyword ; } $ keyword -> addCategoryTranslation ( $ categoryTranslation ) ; $ categoryTranslation -> addKeyword ( $ keyword ) ; // FIXME category and meta will not be updated if only keyword was changed $ category -> setChanged ( new \ DateTime ( ) ) ; $ categoryTranslation -> setChanged ( new \ DateTime ( ) ) ; return $ keyword ; }
Overwrites given keyword.

@param CategoryInterface $category
@param KeywordInterface $keyword

@return KeywordInterface
Overwrites given keyword .