Example #1
0
 /**
  * Устанавливает список тегов для избранного
  *
  * @param ModuleFavourite_EntityFavourite $oFavourite	Объект избранного
  * @param bool $bAddNew	Добавлять новые теги или нет
  */
 public function SetFavouriteTags($oFavourite, $bAddNew = true)
 {
     /**
      * Удаляем все теги
      */
     $this->oMapper->DeleteTags($oFavourite);
     /**
      * Добавляем новые
      */
     if ($bAddNew and $oFavourite->getTags()) {
         /**
          * Добавляем теги объекта избранного, если есть
          */
         if ($aTags = $this->GetTagsTarget($oFavourite->getTargetType(), $oFavourite->getTargetId())) {
             foreach ($aTags as $sTag) {
                 $oTag = Engine::GetEntity('ModuleFavourite_EntityTag', $oFavourite->_getData());
                 $oTag->setText(htmlspecialchars($sTag));
                 $oTag->setIsUser(0);
                 $this->oMapper->AddTag($oTag);
             }
         }
         /**
          * Добавляем пользовательские теги
          */
         foreach ($oFavourite->getTagsArray() as $sTag) {
             $oTag = Engine::GetEntity('ModuleFavourite_EntityTag', $oFavourite->_getData());
             $oTag->setText($sTag);
             // htmlspecialchars уже используется при установке тегов
             $oTag->setIsUser(1);
             $this->oMapper->AddTag($oTag);
         }
     }
 }
Example #2
0
 /**
  * Устанавливает список тегов для избранного
  *
  * @param ModuleFavourite_EntityFavourite $oFavourite    Объект избранного
  * @param bool                            $bAddNew       Добавлять новые теги или нет
  */
 public function SetFavouriteTags($oFavourite, $bAddNew = true)
 {
     /**
      * Удаляем все теги
      */
     $this->oMapper->DeleteTags($oFavourite);
     /**
      * Добавляем новые
      */
     //      issue 252, {@link https://github.com/altocms/altocms/issues/252} В избранном не отображаются теги
     //      Свойство $oFavourite->getTags() содержит только пользовательские теги, а не все теги избранного объекта,
     //      соответственно при отсутствии пользовательских тегов в условие не заходили и теги избранного
     //      объекта не добалялись.
     //      if ($bAddNew && $oFavourite->getTags()) {
     if ($bAddNew) {
         /**
          * Добавляем теги объекта избранного, если есть
          */
         if ($aTags = $this->GetTagsTarget($oFavourite->getTargetType(), $oFavourite->getTargetId())) {
             foreach ($aTags as $sTag) {
                 /** @var ModuleFavourite_EntityTag $oTag */
                 $oTag = E::GetEntity('ModuleFavourite_EntityTag', $oFavourite->getAllProps());
                 $oTag->setText(htmlspecialchars($sTag));
                 $oTag->setIsUser(0);
                 $this->oMapper->AddTag($oTag);
             }
         }
         /**
          * Добавляем пользовательские теги
          */
         foreach ($oFavourite->getTagsArray() as $sTag) {
             $oTag = E::GetEntity('ModuleFavourite_EntityTag', $oFavourite->getAllProps());
             $oTag->setText($sTag);
             // htmlspecialchars уже используется при установке тегов
             $oTag->setIsUser(1);
             $this->oMapper->AddTag($oTag);
         }
     }
 }