diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Controller')
-rw-r--r-- | src/Wallabag/CoreBundle/Controller/ConfigController.php | 24 | ||||
-rw-r--r-- | src/Wallabag/CoreBundle/Controller/FeedController.php (renamed from src/Wallabag/CoreBundle/Controller/RssController.php) | 56 |
2 files changed, 42 insertions, 38 deletions
diff --git a/src/Wallabag/CoreBundle/Controller/ConfigController.php b/src/Wallabag/CoreBundle/Controller/ConfigController.php index 7e39992d..48e0653d 100644 --- a/src/Wallabag/CoreBundle/Controller/ConfigController.php +++ b/src/Wallabag/CoreBundle/Controller/ConfigController.php | |||
@@ -12,7 +12,7 @@ use Wallabag\CoreBundle\Entity\Config; | |||
12 | use Wallabag\CoreBundle\Entity\TaggingRule; | 12 | use Wallabag\CoreBundle\Entity\TaggingRule; |
13 | use Wallabag\CoreBundle\Form\Type\ChangePasswordType; | 13 | use Wallabag\CoreBundle\Form\Type\ChangePasswordType; |
14 | use Wallabag\CoreBundle\Form\Type\ConfigType; | 14 | use Wallabag\CoreBundle\Form\Type\ConfigType; |
15 | use Wallabag\CoreBundle\Form\Type\RssType; | 15 | use Wallabag\CoreBundle\Form\Type\FeedType; |
16 | use Wallabag\CoreBundle\Form\Type\TaggingRuleType; | 16 | use Wallabag\CoreBundle\Form\Type\TaggingRuleType; |
17 | use Wallabag\CoreBundle\Form\Type\UserInformationType; | 17 | use Wallabag\CoreBundle\Form\Type\UserInformationType; |
18 | use Wallabag\CoreBundle\Tools\Utils; | 18 | use Wallabag\CoreBundle\Tools\Utils; |
@@ -90,17 +90,17 @@ class ConfigController extends Controller | |||
90 | return $this->redirect($this->generateUrl('config') . '#set3'); | 90 | return $this->redirect($this->generateUrl('config') . '#set3'); |
91 | } | 91 | } |
92 | 92 | ||
93 | // handle rss information | 93 | // handle feed information |
94 | $rssForm = $this->createForm(RssType::class, $config, ['action' => $this->generateUrl('config') . '#set2']); | 94 | $feedForm = $this->createForm(FeedType::class, $config, ['action' => $this->generateUrl('config') . '#set2']); |
95 | $rssForm->handleRequest($request); | 95 | $feedForm->handleRequest($request); |
96 | 96 | ||
97 | if ($rssForm->isSubmitted() && $rssForm->isValid()) { | 97 | if ($feedForm->isSubmitted() && $feedForm->isValid()) { |
98 | $em->persist($config); | 98 | $em->persist($config); |
99 | $em->flush(); | 99 | $em->flush(); |
100 | 100 | ||
101 | $this->get('session')->getFlashBag()->add( | 101 | $this->get('session')->getFlashBag()->add( |
102 | 'notice', | 102 | 'notice', |
103 | 'flashes.config.notice.rss_updated' | 103 | 'flashes.config.notice.feed_updated' |
104 | ); | 104 | ); |
105 | 105 | ||
106 | return $this->redirect($this->generateUrl('config') . '#set2'); | 106 | return $this->redirect($this->generateUrl('config') . '#set2'); |
@@ -141,14 +141,14 @@ class ConfigController extends Controller | |||
141 | return $this->render('WallabagCoreBundle:Config:index.html.twig', [ | 141 | return $this->render('WallabagCoreBundle:Config:index.html.twig', [ |
142 | 'form' => [ | 142 | 'form' => [ |
143 | 'config' => $configForm->createView(), | 143 | 'config' => $configForm->createView(), |
144 | 'rss' => $rssForm->createView(), | 144 | 'feed' => $feedForm->createView(), |
145 | 'pwd' => $pwdForm->createView(), | 145 | 'pwd' => $pwdForm->createView(), |
146 | 'user' => $userForm->createView(), | 146 | 'user' => $userForm->createView(), |
147 | 'new_tagging_rule' => $newTaggingRule->createView(), | 147 | 'new_tagging_rule' => $newTaggingRule->createView(), |
148 | ], | 148 | ], |
149 | 'rss' => [ | 149 | 'feed' => [ |
150 | 'username' => $user->getUsername(), | 150 | 'username' => $user->getUsername(), |
151 | 'token' => $config->getRssToken(), | 151 | 'token' => $config->getFeedToken(), |
152 | ], | 152 | ], |
153 | 'twofactor_auth' => $this->getParameter('twofactor_auth'), | 153 | 'twofactor_auth' => $this->getParameter('twofactor_auth'), |
154 | 'wallabag_url' => $this->getParameter('domain_name'), | 154 | 'wallabag_url' => $this->getParameter('domain_name'), |
@@ -167,19 +167,19 @@ class ConfigController extends Controller | |||
167 | public function generateTokenAction(Request $request) | 167 | public function generateTokenAction(Request $request) |
168 | { | 168 | { |
169 | $config = $this->getConfig(); | 169 | $config = $this->getConfig(); |
170 | $config->setRssToken(Utils::generateToken()); | 170 | $config->setFeedToken(Utils::generateToken()); |
171 | 171 | ||
172 | $em = $this->getDoctrine()->getManager(); | 172 | $em = $this->getDoctrine()->getManager(); |
173 | $em->persist($config); | 173 | $em->persist($config); |
174 | $em->flush(); | 174 | $em->flush(); |
175 | 175 | ||
176 | if ($request->isXmlHttpRequest()) { | 176 | if ($request->isXmlHttpRequest()) { |
177 | return new JsonResponse(['token' => $config->getRssToken()]); | 177 | return new JsonResponse(['token' => $config->getFeedToken()]); |
178 | } | 178 | } |
179 | 179 | ||
180 | $this->get('session')->getFlashBag()->add( | 180 | $this->get('session')->getFlashBag()->add( |
181 | 'notice', | 181 | 'notice', |
182 | 'flashes.config.notice.rss_token_updated' | 182 | 'flashes.config.notice.feed_token_updated' |
183 | ); | 183 | ); |
184 | 184 | ||
185 | return $this->redirect($this->generateUrl('config') . '#set2'); | 185 | return $this->redirect($this->generateUrl('config') . '#set2'); |
diff --git a/src/Wallabag/CoreBundle/Controller/RssController.php b/src/Wallabag/CoreBundle/Controller/FeedController.php index a2b29e72..ab1e61ad 100644 --- a/src/Wallabag/CoreBundle/Controller/RssController.php +++ b/src/Wallabag/CoreBundle/Controller/FeedController.php | |||
@@ -12,25 +12,24 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller; | |||
12 | use Symfony\Component\HttpFoundation\Request; | 12 | use Symfony\Component\HttpFoundation\Request; |
13 | use Symfony\Component\HttpFoundation\Response; | 13 | use Symfony\Component\HttpFoundation\Response; |
14 | use Symfony\Component\Routing\Generator\UrlGeneratorInterface; | 14 | use Symfony\Component\Routing\Generator\UrlGeneratorInterface; |
15 | use Wallabag\CoreBundle\Entity\Entry; | ||
16 | use Wallabag\CoreBundle\Entity\Tag; | 15 | use Wallabag\CoreBundle\Entity\Tag; |
17 | use Wallabag\UserBundle\Entity\User; | 16 | use Wallabag\UserBundle\Entity\User; |
18 | 17 | ||
19 | class RssController extends Controller | 18 | class FeedController extends Controller |
20 | { | 19 | { |
21 | /** | 20 | /** |
22 | * Shows unread entries for current user. | 21 | * Shows unread entries for current user. |
23 | * | 22 | * |
24 | * @Route("/feed/{username}/{token}/unread/{page}", name="unread_rss", defaults={"page": 1}) | 23 | * @Route("/feed/{username}/{token}/unread/{page}", name="unread_feed", defaults={"page": 1}) |
25 | * @Route("/{username}/{token}/unread.xml", defaults={"page": 1}) | 24 | * @Route("/{username}/{token}/unread.xml", defaults={"page": 1}) |
26 | * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_rsstoken_converter") | 25 | * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_feed_token_converter") |
27 | * | 26 | * |
28 | * @param User $user | 27 | * @param User $user |
29 | * @param $page | 28 | * @param $page |
30 | * | 29 | * |
31 | * @return \Symfony\Component\HttpFoundation\Response | 30 | * @return \Symfony\Component\HttpFoundation\Response |
32 | */ | 31 | */ |
33 | public function showUnreadRSSAction(User $user, $page) | 32 | public function showUnreadFeedAction(User $user, $page) |
34 | { | 33 | { |
35 | return $this->showEntries('unread', $user, $page); | 34 | return $this->showEntries('unread', $user, $page); |
36 | } | 35 | } |
@@ -38,16 +37,16 @@ class RssController extends Controller | |||
38 | /** | 37 | /** |
39 | * Shows read entries for current user. | 38 | * Shows read entries for current user. |
40 | * | 39 | * |
41 | * @Route("/feed/{username}/{token}/archive/{page}", name="archive_rss", defaults={"page": 1}) | 40 | * @Route("/feed/{username}/{token}/archive/{page}", name="archive_feed", defaults={"page": 1}) |
42 | * @Route("/{username}/{token}/archive.xml", defaults={"page": 1}) | 41 | * @Route("/{username}/{token}/archive.xml", defaults={"page": 1}) |
43 | * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_rsstoken_converter") | 42 | * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_feed_token_converter") |
44 | * | 43 | * |
45 | * @param User $user | 44 | * @param User $user |
46 | * @param $page | 45 | * @param $page |
47 | * | 46 | * |
48 | * @return \Symfony\Component\HttpFoundation\Response | 47 | * @return \Symfony\Component\HttpFoundation\Response |
49 | */ | 48 | */ |
50 | public function showArchiveRSSAction(User $user, $page) | 49 | public function showArchiveFeedAction(User $user, $page) |
51 | { | 50 | { |
52 | return $this->showEntries('archive', $user, $page); | 51 | return $this->showEntries('archive', $user, $page); |
53 | } | 52 | } |
@@ -55,16 +54,16 @@ class RssController extends Controller | |||
55 | /** | 54 | /** |
56 | * Shows starred entries for current user. | 55 | * Shows starred entries for current user. |
57 | * | 56 | * |
58 | * @Route("/feed/{username}/{token}/starred/{page}", name="starred_rss", defaults={"page": 1}) | 57 | * @Route("/feed/{username}/{token}/starred/{page}", name="starred_feed", defaults={"page": 1}) |
59 | * @Route("/{username}/{token}/starred.xml", defaults={"page": 1}) | 58 | * @Route("/{username}/{token}/starred.xml", defaults={"page": 1}) |
60 | * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_rsstoken_converter") | 59 | * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_feed_token_converter") |
61 | * | 60 | * |
62 | * @param User $user | 61 | * @param User $user |
63 | * @param $page | 62 | * @param $page |
64 | * | 63 | * |
65 | * @return \Symfony\Component\HttpFoundation\Response | 64 | * @return \Symfony\Component\HttpFoundation\Response |
66 | */ | 65 | */ |
67 | public function showStarredRSSAction(User $user, $page) | 66 | public function showStarredFeedAction(User $user, $page) |
68 | { | 67 | { |
69 | return $this->showEntries('starred', $user, $page); | 68 | return $this->showEntries('starred', $user, $page); |
70 | } | 69 | } |
@@ -72,12 +71,12 @@ class RssController extends Controller | |||
72 | /** | 71 | /** |
73 | * Shows all entries for current user. | 72 | * Shows all entries for current user. |
74 | * | 73 | * |
75 | * @Route("/{username}/{token}/all.xml", name="all_rss", defaults={"_format"="xml"}) | 74 | * @Route("/{username}/{token}/all.xml", name="all_feed", defaults={"_format"="xml"}) |
76 | * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_rsstoken_converter") | 75 | * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_feed_token_converter") |
77 | * | 76 | * |
78 | * @return \Symfony\Component\HttpFoundation\Response | 77 | * @return \Symfony\Component\HttpFoundation\Response |
79 | */ | 78 | */ |
80 | public function showAllRSSAction(Request $request, User $user) | 79 | public function showAllFeedAction(Request $request, User $user) |
81 | { | 80 | { |
82 | return $this->showEntries('all', $user, $request->query->get('page', 1)); | 81 | return $this->showEntries('all', $user, $request->query->get('page', 1)); |
83 | } | 82 | } |
@@ -85,21 +84,21 @@ class RssController extends Controller | |||
85 | /** | 84 | /** |
86 | * Shows entries associated to a tag for current user. | 85 | * Shows entries associated to a tag for current user. |
87 | * | 86 | * |
88 | * @Route("/{username}/{token}/tags/{slug}.xml", name="tag_rss", defaults={"_format"="xml"}) | 87 | * @Route("/{username}/{token}/tags/{slug}.xml", name="tag_feed", defaults={"_format"="xml"}) |
89 | * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_rsstoken_converter") | 88 | * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_feed_token_converter") |
90 | * @ParamConverter("tag", options={"mapping": {"slug": "slug"}}) | 89 | * @ParamConverter("tag", options={"mapping": {"slug": "slug"}}) |
91 | * | 90 | * |
92 | * @return \Symfony\Component\HttpFoundation\Response | 91 | * @return \Symfony\Component\HttpFoundation\Response |
93 | */ | 92 | */ |
94 | public function showTagsAction(Request $request, User $user, Tag $tag) | 93 | public function showTagsFeedAction(Request $request, User $user, Tag $tag) |
95 | { | 94 | { |
96 | $page = $request->query->get('page', 1); | 95 | $page = $request->query->get('page', 1); |
97 | 96 | ||
98 | $url = $this->generateUrl( | 97 | $url = $this->generateUrl( |
99 | 'tag_rss', | 98 | 'tag_feed', |
100 | [ | 99 | [ |
101 | 'username' => $user->getUsername(), | 100 | 'username' => $user->getUsername(), |
102 | 'token' => $user->getConfig()->getRssToken(), | 101 | 'token' => $user->getConfig()->getFeedToken(), |
103 | 'slug' => $tag->getSlug(), | 102 | 'slug' => $tag->getSlug(), |
104 | ], | 103 | ], |
105 | UrlGeneratorInterface::ABSOLUTE_URL | 104 | UrlGeneratorInterface::ABSOLUTE_URL |
@@ -132,12 +131,15 @@ class RssController extends Controller | |||
132 | return $this->render( | 131 | return $this->render( |
133 | '@WallabagCore/themes/common/Entry/entries.xml.twig', | 132 | '@WallabagCore/themes/common/Entry/entries.xml.twig', |
134 | [ | 133 | [ |
135 | 'url_html' => $this->generateUrl('tag_entries', ['slug' => $tag->getSlug()], UrlGeneratorInterface::ABSOLUTE_URL), | 134 | 'type' => 'tag', |
136 | 'type' => 'tag (' . $tag->getLabel() . ')', | ||
137 | 'url' => $url, | 135 | 'url' => $url, |
138 | 'entries' => $entries, | 136 | 'entries' => $entries, |
137 | 'user' => $user->getUsername(), | ||
138 | 'domainName' => $this->getParameter('domain_name'), | ||
139 | 'version' => $this->getParameter('wallabag_core.version'), | ||
140 | 'tag' => $tag->getSlug(), | ||
139 | ], | 141 | ], |
140 | new Response('', 200, ['Content-Type' => 'application/rss+xml']) | 142 | new Response('', 200, ['Content-Type' => 'application/atom+xml']) |
141 | ); | 143 | ); |
142 | } | 144 | } |
143 | 145 | ||
@@ -175,14 +177,14 @@ class RssController extends Controller | |||
175 | $pagerAdapter = new DoctrineORMAdapter($qb->getQuery(), true, false); | 177 | $pagerAdapter = new DoctrineORMAdapter($qb->getQuery(), true, false); |
176 | $entries = new Pagerfanta($pagerAdapter); | 178 | $entries = new Pagerfanta($pagerAdapter); |
177 | 179 | ||
178 | $perPage = $user->getConfig()->getRssLimit() ?: $this->getParameter('wallabag_core.rss_limit'); | 180 | $perPage = $user->getConfig()->getFeedLimit() ?: $this->getParameter('wallabag_core.Feed_limit'); |
179 | $entries->setMaxPerPage($perPage); | 181 | $entries->setMaxPerPage($perPage); |
180 | 182 | ||
181 | $url = $this->generateUrl( | 183 | $url = $this->generateUrl( |
182 | $type . '_rss', | 184 | $type . '_feed', |
183 | [ | 185 | [ |
184 | 'username' => $user->getUsername(), | 186 | 'username' => $user->getUsername(), |
185 | 'token' => $user->getConfig()->getRssToken(), | 187 | 'token' => $user->getConfig()->getFeedToken(), |
186 | ], | 188 | ], |
187 | UrlGeneratorInterface::ABSOLUTE_URL | 189 | UrlGeneratorInterface::ABSOLUTE_URL |
188 | ); | 190 | ); |
@@ -202,6 +204,8 @@ class RssController extends Controller | |||
202 | 'user' => $user->getUsername(), | 204 | 'user' => $user->getUsername(), |
203 | 'domainName' => $this->getParameter('domain_name'), | 205 | 'domainName' => $this->getParameter('domain_name'), |
204 | 'version' => $this->getParameter('wallabag_core.version'), | 206 | 'version' => $this->getParameter('wallabag_core.version'), |
205 | ]); | 207 | ], |
208 | new Response('', 200, ['Content-Type' => 'application/atom+xml']) | ||
209 | ); | ||
206 | } | 210 | } |
207 | } | 211 | } |