aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle/Controller
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag/CoreBundle/Controller')
-rw-r--r--src/Wallabag/CoreBundle/Controller/ConfigController.php24
-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;
12use Wallabag\CoreBundle\Entity\TaggingRule; 12use Wallabag\CoreBundle\Entity\TaggingRule;
13use Wallabag\CoreBundle\Form\Type\ChangePasswordType; 13use Wallabag\CoreBundle\Form\Type\ChangePasswordType;
14use Wallabag\CoreBundle\Form\Type\ConfigType; 14use Wallabag\CoreBundle\Form\Type\ConfigType;
15use Wallabag\CoreBundle\Form\Type\RssType; 15use Wallabag\CoreBundle\Form\Type\FeedType;
16use Wallabag\CoreBundle\Form\Type\TaggingRuleType; 16use Wallabag\CoreBundle\Form\Type\TaggingRuleType;
17use Wallabag\CoreBundle\Form\Type\UserInformationType; 17use Wallabag\CoreBundle\Form\Type\UserInformationType;
18use Wallabag\CoreBundle\Tools\Utils; 18use 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;
12use Symfony\Component\HttpFoundation\Request; 12use Symfony\Component\HttpFoundation\Request;
13use Symfony\Component\HttpFoundation\Response; 13use Symfony\Component\HttpFoundation\Response;
14use Symfony\Component\Routing\Generator\UrlGeneratorInterface; 14use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
15use Wallabag\CoreBundle\Entity\Entry;
16use Wallabag\CoreBundle\Entity\Tag; 15use Wallabag\CoreBundle\Entity\Tag;
17use Wallabag\UserBundle\Entity\User; 16use Wallabag\UserBundle\Entity\User;
18 17
19class RssController extends Controller 18class 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}