diff options
author | Nicolas LÅ“uillet <nicolas@loeuillet.org> | 2016-10-09 21:27:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-09 21:27:47 +0200 |
commit | 47508f004fe9a17a8012187f37032f4155d507f4 (patch) | |
tree | 69e089f1bafa49a553b28cf2aefc4f5c0192697d /src/Wallabag/CoreBundle/Helper | |
parent | e39aec3e38144f1a2ddb0027ec724e3dfd6f53f1 (diff) | |
parent | e08477803079d0097885e026797256da7fd30f6c (diff) | |
download | wallabag-47508f004fe9a17a8012187f37032f4155d507f4.tar.gz wallabag-47508f004fe9a17a8012187f37032f4155d507f4.tar.zst wallabag-47508f004fe9a17a8012187f37032f4155d507f4.zip |
Merge pull request #2410 from wallabag/tag-optim
Optimize tag list display
Diffstat (limited to 'src/Wallabag/CoreBundle/Helper')
-rw-r--r-- | src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php b/src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php index 239d09ae..b490e209 100644 --- a/src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php +++ b/src/Wallabag/CoreBundle/Helper/RuleBasedTagger.php | |||
@@ -55,6 +55,7 @@ class RuleBasedTagger | |||
55 | { | 55 | { |
56 | $rules = $this->getRulesForUser($user); | 56 | $rules = $this->getRulesForUser($user); |
57 | $entries = []; | 57 | $entries = []; |
58 | $tagsCache = []; | ||
58 | 59 | ||
59 | foreach ($rules as $rule) { | 60 | foreach ($rules as $rule) { |
60 | $qb = $this->entryRepository->getBuilderForAllByUser($user->getId()); | 61 | $qb = $this->entryRepository->getBuilderForAllByUser($user->getId()); |
@@ -62,7 +63,12 @@ class RuleBasedTagger | |||
62 | 63 | ||
63 | foreach ($entries as $entry) { | 64 | foreach ($entries as $entry) { |
64 | foreach ($rule->getTags() as $label) { | 65 | foreach ($rule->getTags() as $label) { |
65 | $tag = $this->getTag($label); | 66 | // avoid new tag duplicate by manually caching them |
67 | if (!isset($tagsCache[$label])) { | ||
68 | $tagsCache[$label] = $this->getTag($label); | ||
69 | } | ||
70 | |||
71 | $tag = $tagsCache[$label]; | ||
66 | 72 | ||
67 | $entry->addTag($tag); | 73 | $entry->addTag($tag); |
68 | } | 74 | } |