mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-05-24 11:48:11 +03:00
Доработка тегов #725
This commit is contained in:
parent
06eec61ca7
commit
285fca189f
|
@ -80,6 +80,29 @@ class ModuleFavourite_EntityFavourite extends Entity
|
|||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает массив тегов в виде объектов
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTagsObjects()
|
||||
{
|
||||
$aReturn = array();
|
||||
if ($aTags = $this->getTagsArray()) {
|
||||
foreach ($aTags as $sTag) {
|
||||
if ($sTag) {
|
||||
$aReturn[] = Engine::GetEntity('ModuleFavourite_EntityTag', array(
|
||||
'target_type' => $this->getTargetType(),
|
||||
'target_id' => $this->getTargetId(),
|
||||
'user_id' => $this->getUserId(),
|
||||
'text' => $sTag,
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
return $aReturn;
|
||||
}
|
||||
|
||||
/**
|
||||
* Устанавливает ID владельца
|
||||
*
|
||||
|
|
|
@ -29,6 +29,7 @@ class ModuleFavourite_EntityTag extends Entity
|
|||
{
|
||||
/**
|
||||
* Возвращает URL страницы тега
|
||||
* todo: на странице списка топиков получение пользователя может стать узким местом
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
|
@ -506,6 +506,7 @@ class ModuleFavourite_MapperFavourite extends Mapper
|
|||
{
|
||||
$sql = "SELECT
|
||||
text,
|
||||
user_id,
|
||||
count(text) as count
|
||||
FROM
|
||||
" . Config::Get('db.table.favourite_tag') . "
|
||||
|
|
|
@ -613,6 +613,29 @@ class ModuleTopic_EntityTopic extends Entity
|
|||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает массив тегов в виде объектов
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTagsObjects()
|
||||
{
|
||||
$aReturn = array();
|
||||
if ($aTags = $this->getTagsArray()) {
|
||||
foreach ($aTags as $sTag) {
|
||||
if ($sTag) {
|
||||
$aReturn[] = Engine::GetEntity('ModuleTopic_EntityTopicTag', array(
|
||||
'topic_id' => $this->getId(),
|
||||
'user_id' => $this->getUserId(),
|
||||
'blog_id' => $this->getBlogId(),
|
||||
'topic_tag_text' => $sTag,
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
return $aReturn;
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает количество новых комментариев в топике для текущего пользователя
|
||||
*
|
||||
|
|
|
@ -140,13 +140,13 @@
|
|||
{$favourite = $topic->getFavourite()}
|
||||
|
||||
{if ! $isPreview}
|
||||
{*component 'tags-personal'
|
||||
{component 'tags-personal'
|
||||
classes = 'js-tags-favourite'
|
||||
tags = $topic->getTags()
|
||||
tagsPersonal = ( $favourite ) ? $favourite->getTags() : []
|
||||
tags = $topic->getTagsObjects()
|
||||
tagsPersonal = ( $favourite ) ? $favourite->getTagsObjects() : []
|
||||
isEditable = ! $favourite
|
||||
targetType = 'topic'
|
||||
targetId = $topic->getId()*}
|
||||
targetId = $topic->getId()}
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 30d7b8fa02e20c4869dce81be41117ddd1333ce2
|
||||
Subproject commit 09ee27d08208a2cb80ac95b70db1115178e17d73
|
Loading…
Reference in a new issue