mirror of
https://github.com/wallabag/wallabag.git
synced 2025-02-07 15:18:48 +01:00
Refactored code
This commit is contained in:
parent
9102851f59
commit
e682a70f88
@ -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)) {
|
if (empty($tags)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -312,6 +311,17 @@ class ConfigController extends Controller
|
|||||||
$em->flush();
|
$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.
|
* Remove all tags for a given user and cleanup orphan tags.
|
||||||
*
|
*
|
||||||
@ -320,25 +330,7 @@ class ConfigController extends Controller
|
|||||||
private function removeTagsForArchivedByUserId($userId)
|
private function removeTagsForArchivedByUserId($userId)
|
||||||
{
|
{
|
||||||
$tags = $this->getDoctrine()->getRepository('WallabagCoreBundle:Tag')->findTagsForArchivedArticles($userId);
|
$tags = $this->getDoctrine()->getRepository('WallabagCoreBundle:Tag')->findTagsForArchivedArticles($userId);
|
||||||
|
$this->removeAllTagsByStatusAndUserId($tags, $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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function removeAnnotationsForArchivedByUserId($userId)
|
private function removeAnnotationsForArchivedByUserId($userId)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user