Пример #1
0
 /**
  * Converts tag identified by $tagId to a synonym of tag identified by $mainTagData.
  *
  * @throws \RuntimeException
  *
  * @param mixed $tagId
  * @param array $mainTagData
  */
 public function convertToSynonym($tagId, $mainTagData)
 {
     try {
         return $this->innerGateway->convertToSynonym($tagId, $mainTagData);
     } catch (DBALException $e) {
         throw new RuntimeException('Database error', 0, $e);
     } catch (PDOException $e) {
         throw new RuntimeException('Database error', 0, $e);
     }
 }
Пример #2
0
 /**
  * Converts tag identified by $tagId to a synonym of tag identified by $mainTagId.
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException If $tagId or $mainTagId are invalid
  *
  * @param mixed $tagId
  * @param mixed $mainTagId
  *
  * @return \Netgen\TagsBundle\SPI\Persistence\Tags\Tag The converted synonym
  */
 public function convertToSynonym($tagId, $mainTagId)
 {
     $tagInfo = $this->loadTagInfo($tagId);
     $mainTagData = $this->gateway->getBasicTagData($mainTagId);
     foreach ($this->loadSynonyms($tagId) as $synonym) {
         $this->gateway->moveSynonym($synonym->id, $mainTagData);
     }
     $this->gateway->convertToSynonym($tagInfo->id, $mainTagData);
     $timestamp = time();
     $this->updateSubtreeModificationTime($tagInfo->parentTagId, $timestamp);
     $this->updateSubtreeModificationTime($tagInfo->id, $timestamp);
     return $this->load($tagId);
 }