$repository = $this->get('wallabag_core.entry_repository');
switch ($type) {
+ case 'untagged':
+ $qb = $repository->getBuilderForUntaggedByUser($this->getUser()->getId());
+
+ break;
case 'starred':
$qb = $repository->getBuilderForStarredByUser($this->getUser()->getId());
break;
{
$this->checkUserAction($entry);
- if ('' === $entry->getUuid() || null === $entry->getUuid()) {
- $this->generateEntryUuid($entry);
+ if (null === $entry->getUuid()) {
+ $entry->generateUuid();
+
+ $em = $this->getDoctrine()->getManager();
+ $em->persist($entry);
+ $em->flush();
}
return $this->redirect($this->generateUrl('share_entry', [
$this->checkUserAction($entry);
$entry->cleanUuid();
+
$em = $this->getDoctrine()->getManager();
$em->persist($entry);
$em->flush();
}
/**
- * Share entry content.
+ * Ability to view a content publicly.
*
* @param Entry $entry
*
* @Route("/share/{uuid}", requirements={"uuid" = ".+"}, name="share_entry")
- * @Cache(maxage="25200", public=true)
+ * @Cache(maxage="25200", smaxage="25200", public=true)
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function shareEntryAction(Entry $entry)
{
+ if (!$this->get('craue_config')->get('share_public')) {
+ throw $this->createAccessDeniedException('Sharing an entry is disabled for this user.');
+ }
+
return $this->render(
'@WallabagCore/themes/share.html.twig',
- array('entry' => $entry)
+ ['entry' => $entry]
);
}
/**
- * @param Entry $entry
+ * Shows untagged articles for current user.
+ *
+ * @param Request $request
+ * @param int $page
+ *
+ * @Route("/untagged/list/{page}", name="untagged", defaults={"page" = "1"})
+ *
+ * @return \Symfony\Component\HttpFoundation\Response
*/
- private function generateEntryUuid(Entry $entry)
+ public function showUntaggedEntriesAction(Request $request, $page)
{
- $entry->generateUuid();
- $em = $this->getDoctrine()->getManager();
- $em->persist($entry);
- $em->flush();
+ return $this->showEntries('untagged', $request, $page);
}
}