aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle/Controller/EntryController.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag/CoreBundle/Controller/EntryController.php')
-rw-r--r--src/Wallabag/CoreBundle/Controller/EntryController.php42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php
index ba5bfbe2..9b2954e7 100644
--- a/src/Wallabag/CoreBundle/Controller/EntryController.php
+++ b/src/Wallabag/CoreBundle/Controller/EntryController.php
@@ -21,6 +21,48 @@ use Wallabag\CoreBundle\Form\Type\SearchEntryType;
21class EntryController extends Controller 21class EntryController extends Controller
22{ 22{
23 /** 23 /**
24 * @Route("/mass", name="mass_action")
25 *
26 * @return \Symfony\Component\HttpFoundation\Response
27 */
28 public function massAction(Request $request)
29 {
30 $em = $this->getDoctrine()->getManager();
31 $values = $request->request->all();
32
33 $action = 'toggle-read';
34 if (isset($values['toggle-star'])) {
35 $action = 'toggle-star';
36 } elseif (isset($values['delete'])) {
37 $action = 'delete';
38 }
39
40 if (isset($values['entry-checkbox'])) {
41 foreach ($values['entry-checkbox'] as $id) {
42 /** @var Entry * */
43 $entry = $this->get('wallabag_core.entry_repository')->findById((int) $id)[0];
44
45 $this->checkUserAction($entry);
46
47 if ('toggle-read' === $action) {
48 $entry->toggleArchive();
49 } elseif ('toggle-star' === $action) {
50 $entry->toggleStar();
51 } elseif ('delete' === $action) {
52 $this->get('event_dispatcher')->dispatch(EntryDeletedEvent::NAME, new EntryDeletedEvent($entry));
53 $em->remove($entry);
54 }
55 }
56
57 $em->flush();
58 }
59
60 $redirectUrl = $this->get('wallabag_core.helper.redirect')->to($request->headers->get('referer'));
61
62 return $this->redirect($redirectUrl);
63 }
64
65 /**
24 * @param int $page 66 * @param int $page
25 * 67 *
26 * @Route("/search/{page}", name="search", defaults={"page" = 1}) 68 * @Route("/search/{page}", name="search", defaults={"page" = 1})