mirror of
https://github.com/wallabag/wallabag.git
synced 2024-12-15 20:26:27 +00:00
commit
29c4517f7a
7 changed files with 88 additions and 91 deletions
|
@ -5,8 +5,8 @@ namespace Wallabag\CoreBundle\Controller;
|
|||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Wallabag\CoreBundle\Entity\Entry;
|
||||
use Wallabag\CoreBundle\Repository;
|
||||
use Wallabag\CoreBundle\Entity\Entries;
|
||||
use Wallabag\CoreBundle\Service\Extractor;
|
||||
use Wallabag\CoreBundle\Helper\Url;
|
||||
|
||||
|
@ -19,7 +19,7 @@ class EntryController extends Controller
|
|||
*/
|
||||
public function addEntryAction(Request $request)
|
||||
{
|
||||
$entry = new Entries();
|
||||
$entry = new Entry();
|
||||
$entry->setUserId(1);
|
||||
|
||||
$form = $this->createFormBuilder($entry)
|
||||
|
@ -60,7 +60,7 @@ class EntryController extends Controller
|
|||
*/
|
||||
public function showUnreadAction()
|
||||
{
|
||||
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entries');
|
||||
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry');
|
||||
// TODO don't give the user ID like this
|
||||
// TODO change pagination
|
||||
$entries = $repository->findUnreadByUser(1, 0);
|
||||
|
@ -79,7 +79,7 @@ class EntryController extends Controller
|
|||
*/
|
||||
public function showArchiveAction()
|
||||
{
|
||||
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entries');
|
||||
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry');
|
||||
// TODO don't give the user ID like this
|
||||
// TODO change pagination
|
||||
$entries = $repository->findArchiveByUser(1, 0);
|
||||
|
@ -98,7 +98,7 @@ class EntryController extends Controller
|
|||
*/
|
||||
public function showStarredAction()
|
||||
{
|
||||
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entries');
|
||||
$repository = $this->getDoctrine()->getRepository('WallabagCoreBundle:Entry');
|
||||
// TODO don't give the user ID like this
|
||||
// TODO change pagination
|
||||
$entries = $repository->findStarredByUser(1, 0);
|
||||
|
@ -112,11 +112,11 @@ class EntryController extends Controller
|
|||
/**
|
||||
* Shows entry content
|
||||
*
|
||||
* @param Entries $entry
|
||||
* @param Entry $entry
|
||||
* @Route("/view/{id}", requirements={"id" = "\d+"}, name="view")
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*/
|
||||
public function viewAction(Entries $entry)
|
||||
public function viewAction(Entry $entry)
|
||||
{
|
||||
return $this->render(
|
||||
'WallabagCoreBundle:Entry:entry.html.twig',
|
||||
|
@ -128,11 +128,11 @@ class EntryController extends Controller
|
|||
* Changes read status for an entry
|
||||
*
|
||||
* @param Request $request
|
||||
* @param Entries $entry
|
||||
* @param Entry $entry
|
||||
* @Route("/archive/{id}", requirements={"id" = "\d+"}, name="archive_entry")
|
||||
* @return \Symfony\Component\HttpFoundation\RedirectResponse
|
||||
*/
|
||||
public function toggleArchiveAction(Request $request, Entries $entry)
|
||||
public function toggleArchiveAction(Request $request, Entry $entry)
|
||||
{
|
||||
$entry->toggleArchive();
|
||||
$this->getDoctrine()->getManager()->flush();
|
||||
|
@ -149,11 +149,11 @@ class EntryController extends Controller
|
|||
* Changes favorite status for an entry
|
||||
*
|
||||
* @param Request $request
|
||||
* @param Entries $entry
|
||||
* @param Entry $entry
|
||||
* @Route("/star/{id}", requirements={"id" = "\d+"}, name="star_entry")
|
||||
* @return \Symfony\Component\HttpFoundation\RedirectResponse
|
||||
*/
|
||||
public function toggleStarAction(Request $request, Entries $entry)
|
||||
public function toggleStarAction(Request $request, Entry $entry)
|
||||
{
|
||||
$entry->toggleStar();
|
||||
$this->getDoctrine()->getManager()->flush();
|
||||
|
@ -170,11 +170,11 @@ class EntryController extends Controller
|
|||
* Deletes entry
|
||||
*
|
||||
* @param Request $request
|
||||
* @param Entries $entry
|
||||
* @param Entry $entry
|
||||
* @Route("/delete/{id}", requirements={"id" = "\d+"}, name="delete_entry")
|
||||
* @return \Symfony\Component\HttpFoundation\RedirectResponse
|
||||
*/
|
||||
public function deleteEntryAction(Request $request, Entries $entry)
|
||||
public function deleteEntryAction(Request $request, Entry $entry)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$entry->setDeleted(1);
|
||||
|
|
|
@ -6,7 +6,7 @@ use Nelmio\ApiDocBundle\Annotation\ApiDoc;
|
|||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
use Wallabag\CoreBundle\Entity\Entries;
|
||||
use Wallabag\CoreBundle\Entity\Entry;
|
||||
use Wallabag\CoreBundle\Entity\Tags;
|
||||
use Wallabag\CoreBundle\Service\Extractor;
|
||||
|
||||
|
@ -27,7 +27,7 @@ class WallabagRestController extends Controller
|
|||
* {"name"="tags", "dataType"="string", "required"=false, "format"="api%2Crest", "description"="a list of tags url encoded. Will returns entries that matches ALL tags."},
|
||||
* }
|
||||
* )
|
||||
* @return Entries
|
||||
* @return Entry
|
||||
*/
|
||||
public function getEntriesAction(Request $request)
|
||||
{
|
||||
|
@ -42,7 +42,7 @@ class WallabagRestController extends Controller
|
|||
|
||||
$entries = $this
|
||||
->getDoctrine()
|
||||
->getRepository('WallabagCoreBundle:Entries')
|
||||
->getRepository('WallabagCoreBundle:Entry')
|
||||
->findEntries(1, $isArchived, $isStarred, $isDeleted, $sort, $order);
|
||||
|
||||
if (!is_array($entries)) {
|
||||
|
@ -60,9 +60,9 @@ class WallabagRestController extends Controller
|
|||
* {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
|
||||
* }
|
||||
* )
|
||||
* @return Entries
|
||||
* @return Entry
|
||||
*/
|
||||
public function getEntryAction(Entries $entry)
|
||||
public function getEntryAction(Entry $entry)
|
||||
{
|
||||
return $entry;
|
||||
}
|
||||
|
@ -77,6 +77,7 @@ class WallabagRestController extends Controller
|
|||
* {"name"="tags", "dataType"="string", "required"=false, "format"="tag1,tag2,tag3", "description"="a comma-separated list of tags."},
|
||||
* }
|
||||
* )
|
||||
* @return Entry
|
||||
*/
|
||||
public function postEntriesAction(Request $request)
|
||||
{
|
||||
|
@ -84,7 +85,7 @@ class WallabagRestController extends Controller
|
|||
$url = $request->request->get('url');
|
||||
|
||||
$content = Extractor::extract($url);
|
||||
$entry = new Entries();
|
||||
$entry = new Entry();
|
||||
$entry->setUserId(1);
|
||||
$entry->setUrl($url);
|
||||
$entry->setTitle($request->request->get('title') ?: $content->getTitle());
|
||||
|
@ -111,8 +112,9 @@ class WallabagRestController extends Controller
|
|||
* {"name"="delete", "dataType"="boolean", "required"=false, "format"="true or false", "description"="flag as deleted. Default false. In case that you don't want to *really* remove it.."},
|
||||
* }
|
||||
* )
|
||||
* @return Entry
|
||||
*/
|
||||
public function patchEntriesAction(Entries $entry, Request $request)
|
||||
public function patchEntriesAction(Entry $entry, Request $request)
|
||||
{
|
||||
$title = $request->request->get("title");
|
||||
$tags = $request->request->get("tags", array());
|
||||
|
@ -125,7 +127,7 @@ class WallabagRestController extends Controller
|
|||
}
|
||||
|
||||
if (!is_null($isArchived)) {
|
||||
$entry->setRead($isArchived);
|
||||
$entry->setArchived($isArchived);
|
||||
}
|
||||
|
||||
if (!is_null($isDeleted)) {
|
||||
|
@ -133,7 +135,7 @@ class WallabagRestController extends Controller
|
|||
}
|
||||
|
||||
if (!is_null($isStarred)) {
|
||||
$entry->setFav($isStarred);
|
||||
$entry->setStarred($isStarred);
|
||||
}
|
||||
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
@ -150,8 +152,9 @@ class WallabagRestController extends Controller
|
|||
* {"name"="entry", "dataType"="integer", "requirement"="\w+", "description"="The entry ID"}
|
||||
* }
|
||||
* )
|
||||
* @return Entry
|
||||
*/
|
||||
public function deleteEntriesAction(Entries $entry)
|
||||
public function deleteEntriesAction(Entry $entry)
|
||||
{
|
||||
if ($entry->isDeleted()) {
|
||||
throw new NotFoundHttpException('This entry is already deleted');
|
||||
|
@ -173,7 +176,7 @@ class WallabagRestController extends Controller
|
|||
* }
|
||||
* )
|
||||
*/
|
||||
public function getEntriesTagsAction(Entries $entry)
|
||||
public function getEntriesTagsAction(Entry $entry)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -189,7 +192,7 @@ class WallabagRestController extends Controller
|
|||
* }
|
||||
* )
|
||||
*/
|
||||
public function postEntriesTagsAction(Entries $entry)
|
||||
public function postEntriesTagsAction(Entry $entry)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -203,7 +206,7 @@ class WallabagRestController extends Controller
|
|||
* }
|
||||
* )
|
||||
*/
|
||||
public function deleteEntriesTagsAction(Entries $entry, Tags $tag)
|
||||
public function deleteEntriesTagsAction(Entry $entry, Tags $tag)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -6,23 +6,23 @@ use Doctrine\ORM\Mapping as ORM;
|
|||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
|
||||
/**
|
||||
* Entries
|
||||
* Entry
|
||||
*
|
||||
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\EntriesRepository")
|
||||
* @ORM\Table(name="entries")
|
||||
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\EntryRepository")
|
||||
* @ORM\Table(name="entry")
|
||||
* @ORM\HasLifecycleCallbacks()
|
||||
*
|
||||
*/
|
||||
class Entries
|
||||
class Entry
|
||||
{
|
||||
/**
|
||||
* @var integer
|
||||
*
|
||||
* @ORM\Column(name="id", type="integer", nullable=true)
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
*/
|
||||
private $id = null;
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
|
@ -42,21 +42,21 @@ class Entries
|
|||
/**
|
||||
* @var boolean
|
||||
*
|
||||
* @ORM\Column(name="is_read", type="boolean", nullable=true, options={"default" = false})
|
||||
* @ORM\Column(name="is_archived", type="boolean")
|
||||
*/
|
||||
private $isRead = false;
|
||||
private $isArchived = false;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*
|
||||
* @ORM\Column(name="is_fav", type="boolean", nullable=true, options={"default" = false})
|
||||
* @ORM\Column(name="is_starred", type="boolean")
|
||||
*/
|
||||
private $isFav = false;
|
||||
private $isStarred = false;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*
|
||||
* @ORM\Column(name="is_deleted", type="boolean", nullable=true, options={"default" = false})
|
||||
* @ORM\Column(name="is_deleted", type="boolean")
|
||||
*/
|
||||
private $isDeleted = false;
|
||||
|
||||
|
@ -70,14 +70,14 @@ class Entries
|
|||
/**
|
||||
* @var date
|
||||
*
|
||||
* @ORM\Column(name="created_at", type="datetime", nullable=true)
|
||||
* @ORM\Column(name="created_at", type="datetime")
|
||||
*/
|
||||
private $createdAt;
|
||||
|
||||
/**
|
||||
* @var date
|
||||
*
|
||||
* @ORM\Column(name="updated_at", type="datetime", nullable=true)
|
||||
* @ORM\Column(name="updated_at", type="datetime")
|
||||
*/
|
||||
private $updatedAt;
|
||||
|
||||
|
@ -136,8 +136,8 @@ class Entries
|
|||
/**
|
||||
* Set title
|
||||
*
|
||||
* @param string $title
|
||||
* @return Entries
|
||||
* @param string $title
|
||||
* @return Entry
|
||||
*/
|
||||
public function setTitle($title)
|
||||
{
|
||||
|
@ -159,8 +159,8 @@ class Entries
|
|||
/**
|
||||
* Set url
|
||||
*
|
||||
* @param string $url
|
||||
* @return Entries
|
||||
* @param string $url
|
||||
* @return Entry
|
||||
*/
|
||||
public function setUrl($url)
|
||||
{
|
||||
|
@ -180,61 +180,61 @@ class Entries
|
|||
}
|
||||
|
||||
/**
|
||||
* Set isRead
|
||||
* Set isArchived
|
||||
*
|
||||
* @param string $isRead
|
||||
* @return Entries
|
||||
* @param string $isArchived
|
||||
* @return Entry
|
||||
*/
|
||||
public function setRead($isRead)
|
||||
public function setArchived($isArchived)
|
||||
{
|
||||
$this->isRead = $isRead;
|
||||
$this->isArchived = $isArchived;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get isRead
|
||||
* Get isArchived
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function isRead()
|
||||
public function isArchived()
|
||||
{
|
||||
return $this->isRead;
|
||||
return $this->isArchived;
|
||||
}
|
||||
|
||||
public function toggleArchive()
|
||||
{
|
||||
$this->isRead = $this->getIsRead() ^ 1;
|
||||
$this->isArchived = $this->isArchived() ^ 1;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set isFav
|
||||
* Set isStarred
|
||||
*
|
||||
* @param string $isFav
|
||||
* @return Entries
|
||||
* @param string $isStarred
|
||||
* @return Entry
|
||||
*/
|
||||
public function setFav($isFav)
|
||||
public function setStarred($isStarred)
|
||||
{
|
||||
$this->isFav = $isFav;
|
||||
$this->isStarred = $isStarred;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get isFav
|
||||
* Get isStarred
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function isFav()
|
||||
public function isStarred()
|
||||
{
|
||||
return $this->isFav;
|
||||
return $this->isStarred;
|
||||
}
|
||||
|
||||
public function toggleStar()
|
||||
{
|
||||
$this->isFav = $this->getIsFav() ^ 1;
|
||||
$this->isStarred = $this->isStarred() ^ 1;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
@ -242,8 +242,8 @@ class Entries
|
|||
/**
|
||||
* Set content
|
||||
*
|
||||
* @param string $content
|
||||
* @return Entries
|
||||
* @param string $content
|
||||
* @return Entry
|
||||
*/
|
||||
public function setContent($content)
|
||||
{
|
||||
|
@ -265,8 +265,8 @@ class Entries
|
|||
/**
|
||||
* Set userId
|
||||
*
|
||||
* @param string $userId
|
||||
* @return Entries
|
||||
* @param string $userId
|
||||
* @return Entry
|
||||
*/
|
||||
public function setUserId($userId)
|
||||
{
|
||||
|
@ -309,15 +309,6 @@ class Entries
|
|||
return $this->createdAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $createdAt
|
||||
* @ORM\PrePersist
|
||||
*/
|
||||
public function setCreatedAt()
|
||||
{
|
||||
$this->createdAt = new \DateTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
|
@ -327,11 +318,15 @@ class Entries
|
|||
}
|
||||
|
||||
/**
|
||||
* @param string $updatedAt
|
||||
* @ORM\PrePersist
|
||||
* @ORM\PreUpdate
|
||||
*/
|
||||
public function setUpdatedAt()
|
||||
public function timestamps()
|
||||
{
|
||||
if (is_null($this->createdAt)) {
|
||||
$this->createdAt = new \DateTime();
|
||||
}
|
||||
|
||||
$this->updatedAt = new \DateTime();
|
||||
}
|
||||
|
|
@ -2,6 +2,6 @@
|
|||
|
||||
namespace Wallabag\CoreBundle\Helper;
|
||||
|
||||
class Entries
|
||||
class Entry
|
||||
{
|
||||
}
|
|
@ -5,9 +5,8 @@ namespace Wallabag\CoreBundle\Repository;
|
|||
use Doctrine\ORM\Query;
|
||||
use Doctrine\ORM\EntityRepository;
|
||||
use Doctrine\ORM\Tools\Pagination\Paginator;
|
||||
use Wallabag\CoreBundle\Entity\Entries;
|
||||
|
||||
class EntriesRepository extends EntityRepository
|
||||
class EntryRepository extends EntityRepository
|
||||
{
|
||||
/**
|
||||
* Retrieves unread entries for a user
|
||||
|
@ -23,9 +22,9 @@ class EntriesRepository extends EntityRepository
|
|||
->select('e')
|
||||
->setFirstResult($firstResult)
|
||||
->setMaxResults($maxResults)
|
||||
->where('e.isRead = 0')
|
||||
->where('e.isArchived = false')
|
||||
->andWhere('e.userId =:userId')->setParameter('userId', $userId)
|
||||
->andWhere('e.isDeleted=0')
|
||||
->andWhere('e.isDeleted=false')
|
||||
->orderBy('e.createdAt', 'desc')
|
||||
->getQuery();
|
||||
|
||||
|
@ -48,9 +47,9 @@ class EntriesRepository extends EntityRepository
|
|||
->select('e')
|
||||
->setFirstResult($firstResult)
|
||||
->setMaxResults($maxResults)
|
||||
->where('e.isRead = 1')
|
||||
->where('e.isArchived = true')
|
||||
->andWhere('e.userId =:userId')->setParameter('userId', $userId)
|
||||
->andWhere('e.isDeleted=0')
|
||||
->andWhere('e.isDeleted=false')
|
||||
->orderBy('e.createdAt', 'desc')
|
||||
->getQuery();
|
||||
|
||||
|
@ -73,9 +72,9 @@ class EntriesRepository extends EntityRepository
|
|||
->select('e')
|
||||
->setFirstResult($firstResult)
|
||||
->setMaxResults($maxResults)
|
||||
->where('e.isFav = 1')
|
||||
->where('e.isStarred = true')
|
||||
->andWhere('e.userId =:userId')->setParameter('userId', $userId)
|
||||
->andWhere('e.isDeleted=0')
|
||||
->andWhere('e.isDeleted=false')
|
||||
->orderBy('e.createdAt', 'desc')
|
||||
->getQuery();
|
||||
|
||||
|
@ -91,11 +90,11 @@ class EntriesRepository extends EntityRepository
|
|||
->where('e.userId =:userId')->setParameter('userId', $userId);
|
||||
|
||||
if (!is_null($isArchived)) {
|
||||
$qb->andWhere('e.isRead =:isArchived')->setParameter('isArchived', $isArchived);
|
||||
$qb->andWhere('e.isArchived =:isArchived')->setParameter('isArchived', $isArchived);
|
||||
}
|
||||
|
||||
if (!is_null($isStarred)) {
|
||||
$qb->andWhere('e.isFav =:isStarred')->setParameter('isStarred', $isStarred);
|
||||
$qb->andWhere('e.isStarred =:isStarred')->setParameter('isStarred', $isStarred);
|
||||
}
|
||||
|
||||
if (!is_null($isDeleted)) {
|
|
@ -35,8 +35,8 @@
|
|||
{% endif %}
|
||||
|
||||
<ul class="tools links">
|
||||
<li><a title="{% trans %}Toggle mark as read{% endtrans %}" class="tool icon-check icon {% if entry.isRead == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
|
||||
<li><a title="{% trans %}toggle favorite{% endtrans %}" class="tool icon-star icon {% if entry.isFav == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}toggle favorite{% endtrans %}</span></a></li>
|
||||
<li><a title="{% trans %}Toggle mark as read{% endtrans %}" class="tool icon-check icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
|
||||
<li><a title="{% trans %}toggle favorite{% endtrans %}" class="tool icon-star icon {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}toggle favorite{% endtrans %}</span></a></li>
|
||||
<li><a title="{% trans %}delete{% endtrans %}" class="tool delete icon-trash icon" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{% trans %}delete{% endtrans %}</span></a></li>
|
||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %} : {{ entry.title|e }}" class="tool link icon-link icon"><span>{{ entry.url | e | domainName }}</span></a></li>
|
||||
</ul>
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
<ul class="links">
|
||||
<li class="topPosF"><a href="#top" title="{% trans %}Back to top{% endtrans %}" class="tool top icon icon-arrow-up-thick"><span>{% trans %}Back to top{% endtrans %}</span></a></li>
|
||||
<li><a href="{{ entry.url|e }}" target="_blank" title="{% trans %}original{% endtrans %} : {{ entry.title|e }}" class="tool link icon icon-link"><span>{{ entry.url | e | domainName }}</span></a></li>
|
||||
<li><a title="{% trans %}Mark as read{% endtrans %}" class="tool icon icon-check {% if entry.isRead == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
|
||||
<li><a title="{% trans %}Favorite{% endtrans %}" class="tool icon icon-star {% if entry.isFav == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle favorite{% endtrans %}</span></a></li>
|
||||
<li><a title="{% trans %}Mark as read{% endtrans %}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle mark as read{% endtrans %}</span></a></li>
|
||||
<li><a title="{% trans %}Favorite{% endtrans %}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{% trans %}Toggle favorite{% endtrans %}</span></a></li>
|
||||
<li><a title="{% trans %}Delete{% endtrans %}" class="tool delete icon icon-trash" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{% trans %}Delete{% endtrans %}</span></a></li>
|
||||
{% if share_twitter %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter icon icon-twitter" title="{% trans %}Tweet{% endtrans %}"><span>{% trans %}Tweet{% endtrans %}</span></a></li>{% endif %}
|
||||
{% if share_mail %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="{% trans %}Email{% endtrans %}"><span>{% trans %}Email{% endtrans %}</span></a></li>{% endif %}
|
||||
|
|
Loading…
Reference in a new issue