mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-23 17:41:01 +00:00
Refactored code
This commit is contained in:
parent
9102851f59
commit
e682a70f88
1 changed files with 16 additions and 24 deletions
|
@ -284,14 +284,13 @@ class ConfigController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Remove all tags for a given user and cleanup orphan tags.
|
||||
* Remove all tags for given tags and a given user and cleanup orphan tags.
|
||||
*
|
||||
* @param int $userId
|
||||
* @param array $tags
|
||||
* @param int $userId
|
||||
*/
|
||||
private function removeAllTagsByUserId($userId)
|
||||
private function removeAllTagsByStatusAndUserId($tags, $userId)
|
||||
{
|
||||
$tags = $this->getDoctrine()->getRepository('WallabagCoreBundle:Tag')->findAllTags($userId);
|
||||
|
||||
if (empty($tags)) {
|
||||
return;
|
||||
}
|
||||
|
@ -312,6 +311,17 @@ class ConfigController extends Controller
|
|||
$em->flush();
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove all tags for a given user and cleanup orphan tags.
|
||||
*
|
||||
* @param int $userId
|
||||
*/
|
||||
private function removeAllTagsByUserId($userId)
|
||||
{
|
||||
$tags = $this->getDoctrine()->getRepository('WallabagCoreBundle:Tag')->findAllTags($userId);
|
||||
$this->removeAllTagsByStatusAndUserId($tags, $userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove all tags for a given user and cleanup orphan tags.
|
||||
*
|
||||
|
@ -320,25 +330,7 @@ class ConfigController extends Controller
|
|||
private function removeTagsForArchivedByUserId($userId)
|
||||
{
|
||||
$tags = $this->getDoctrine()->getRepository('WallabagCoreBundle:Tag')->findTagsForArchivedArticles($userId);
|
||||
|
||||
if (empty($tags)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->getDoctrine()
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->removeTags($userId, $tags);
|
||||
|
||||
// cleanup orphan tags
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
foreach ($tags as $tag) {
|
||||
if (count($tag->getEntries()) === 0) {
|
||||
$em->remove($tag);
|
||||
}
|
||||
}
|
||||
|
||||
$em->flush();
|
||||
$this->removeAllTagsByStatusAndUserId($tags, $userId);
|
||||
}
|
||||
|
||||
private function removeAnnotationsForArchivedByUserId($userId)
|
||||
|
|
Loading…
Reference in a new issue