Commit graph

495 commits

Author SHA1 Message Date
ArthurHoaro
4e3875c0ce Feature: highlight fulltext search results
How it works:

  1. when a fulltext search is made, Shaarli looks for the first
occurence position of every term matching the search. No change here,
but we store these positions in an array, in Bookmark's additionalContent.
  2. when formatting bookmarks (through BookmarkFormatter
implementation):
    1. first we insert specific tokens at every search result positions
    2. we format the content (escape HTML, apply markdown, etc.)
    3. as a last step, we replace our token with displayable span
elements

Cons: this tightens coupling between search filters and formatters
Pros: it was absolutely necessary not to perform the
search twice. this solution has close to no impact on performances.

Fixes #205
2020-10-16 20:31:12 +02:00
ArthurHoaro
3cb4e8a44c Improve Manage tags page
Fixes #1125
2020-10-16 20:03:25 +02:00
ArthurHoaro
7f5250421b Support using Shaarli without URL rewriting
- Shaarli can be fully used by prefixing any URL with /index.php/
   - {$base_path} used in templates already works with this configuration
   - Assets path (outside of theme's assets) must be prefixed with {$root_url}/
   - Documentation section in « Server configuration »

Fixes #1590
2020-10-16 12:47:11 +02:00
ArthurHoaro
4cf3564d28 Add a setting to retrieve bookmark metadata asynchrounously
- There is a new standalone script (metadata.js) which requests
    a new controller to get bookmark metadata and fill the form async
  - This feature is enabled with the new setting: general.enable_async_metadata
    (enabled by default)
  - general.retrieve_description is now enabled by default
  - A small rotating loader animation has a been added to bookmark inputs
    when metadata is being retrieved (default template)
  - Custom JS htmlentities has been removed and  mathiasbynens/he
    library is used instead

Fixes #1563
2020-10-15 09:08:46 +02:00
ArthurHoaro
8fabcd0224 Add Markdown Extra formatter
Library: [Parsedown Extra](https://github.com/erusev/parsedown-extra)

Also sort dependencies alphabetically.

Fixes #1169
2020-10-13 12:20:34 +02:00
ArthurHoaro
72fbbcd679 Security: fix multiple XSS vulnerabilities + fix search tags with special chars
XSS vulnerabilities fixed in editlink, linklist, tag.cloud and tag.list.

Also fixed tag search with special characters: urlencode function needs to be applied on raw data, before espaping, otherwise the rendered URL is wrong.
2020-10-06 17:30:18 +02:00
sprak3000
f4ea7cd563 Issue #1437 - Make tag cloud/list views buttons more obvious
This work alters the markup and CSS for the tag sort UI to match the button feel filters and links per page uses.
2020-10-02 14:06:02 -04:00
ArthurHoaro
1cb5be5d0c Fix undefined linkdate variable in vintage theme
Fixes #1371
2020-09-25 18:24:53 +02:00
ArthurHoaro
76fe68d924 Fix plugin base path in core plugins
Also fix note check in archiveorg plugin, and regression on vintage template.
Documentation regarding relative path has been added.

Fixes #1548
2020-09-22 13:50:19 +02:00
ArthurHoaro
21163a3329
Merge pull request #1519 from ArthurHoaro/fix/mobile-pin-link
Default template: display pin button in mobile view
2020-09-03 08:49:20 +02:00
ArthurHoaro
0a286f6946
Merge pull request #1526 from kcaran/links_per_page 2020-09-03 08:45:48 +02:00
ArthurHoaro
63b0059ed5 Fix broken route to filter not tagged bookmarks
Also display the filter for visitors.

Fixes #1529
2020-08-31 14:09:27 +02:00
Keith Carangelo
816ffba74b Added $links_per_page variable to template and display on default 2020-08-29 11:02:59 -04:00
ArthurHoaro
3eba6bd318 Default template: display pin button in mobile view
Fixes #1347
2020-08-27 14:48:07 +02:00
ArthurHoaro
bedbb845ee Move all admin controller into a dedicated group
Also handle authentication check in a new middleware for the admin group.
2020-08-13 11:08:13 +02:00
ArthurHoaro
301c7ab1a0 Better support for notes permalink 2020-07-28 20:46:11 +02:00
ArthurHoaro
9fbc42294e New basePath: fix officiel plugin paths and vintage template 2020-07-26 14:43:10 +02:00
ArthurHoaro
bc583903ad Fix: header search action should be on linklist 2020-07-24 12:49:50 +02:00
ArthurHoaro
3ee8351e43 Multiple small fixes 2020-07-23 21:19:21 +02:00
ArthurHoaro
c4ad3d4f06 Process Shaarli install through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
1a8ac737e5 Process main page (linklist) through Slim controller
Including a bunch of improvements on the container,
and helper used across new controllers.
2020-07-23 21:19:21 +02:00
ArthurHoaro
6132d64748 Process thumbnail synchronize page through Slim controllers 2020-07-23 21:19:21 +02:00
ArthurHoaro
1b8620b1ad Process plugins administration page through Slim controllers 2020-07-23 21:19:21 +02:00
ArthurHoaro
78657347c5 Process bookmarks import through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
c70ff64a61 Process bookmark exports through Slim controllers 2020-07-23 21:19:21 +02:00
ArthurHoaro
3447d888d7 Pin bookmarks through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
1ab675445e Fix bookmarklet with new routes
* Use the new shaare route
   * Add source hidden input in editlink template to close the popup after saving
2020-07-23 21:19:21 +02:00
ArthurHoaro
9c75f87793 Use multi-level routes for existing controllers instead of 1 level everywhere
Also prefix most admin routes with /admin/
2020-07-23 21:19:21 +02:00
ArthurHoaro
818b3193ff Explicitly define base and asset path in templates
With the new routes, all pages are not all at the same folder level anymore
(e.g. /shaare and /shaare/123), so we can't just use './' everywhere.
The most consistent way to handle this is to prefix all path with the proper variable,
and handle the actual path in controllers.
2020-07-23 21:19:21 +02:00
ArthurHoaro
c22fa57a55 Handle shaare creation/edition/deletion through Slim controllers 2020-07-23 21:19:21 +02:00
ArthurHoaro
8eac2e5488 Process manage tags page through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
66063ed1a1 Process configure page through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
ef00f9d203 Process password change controller through Slim 2020-07-23 21:19:21 +02:00
ArthurHoaro
ba43064ddb Process tools page through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
2899ebb5b5 Initialize admin Slim controllers
- Reorganize visitor controllers
  - Fix redirection with Slim's requests base path
  - Fix daily links
2020-07-23 21:19:21 +02:00
ArthurHoaro
af290059d1 Process session filters through Slim controllers
Including:
  - visibility
  - links per page
  - untagged only
2020-07-23 21:19:21 +02:00
ArthurHoaro
893f5159c6 Process remove tag endpoint through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
5ec4708ced Process OpenSearch controller through Slim
Also it was missing on the default template feeds
2020-07-23 21:19:21 +02:00
ArthurHoaro
7b2ba6ef82 RSS/ATOM feeds: process through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
c4d5be53c2 Process Daily RSS feed through Slim controller
The daily RSS template has been entirely rewritten to handle the whole feed through the template engine.
2020-07-23 21:19:21 +02:00
ArthurHoaro
69e29ff65e Process daily page through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
60ae241251 Process tag list page through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
3772298ee7 Few optimizations and code readability for tag cloud controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
72caf4e84c Working version before optimization 2020-07-23 21:19:21 +02:00
ArthurHoaro
c266a89d0f Process tag cloud page through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
03340c18ea Slim router: handle add tag route 2020-07-23 21:19:21 +02:00
ArthurHoaro
8e47af2b36 Process logout through Slim controller 2020-07-23 21:19:21 +02:00
ArthurHoaro
485b168a96 Process picwall rendering through Slim controller + UT 2020-07-23 21:19:21 +02:00
ArthurHoaro
bee33239ed Fix all relative link to work with new URL 2020-07-23 21:19:21 +02:00
Kevin Masson
82e7b56f29 Add autofocus on tag cloud filter input
Fix #1413
2020-02-10 13:53:44 +01:00
ArthurHoaro
9e4cc28e29 Fix all existing links and redirection to ?do=login 2020-01-26 11:34:14 +01:00
ArthurHoaro
dd51f653d0 Fix SASS Lint 2020-01-26 11:34:14 +01:00
ArthurHoaro
6c50a6ccce Render login page through Slim controller 2020-01-26 11:34:14 +01:00
ArthurHoaro
fc6c701774 Fix deprecated use of implode 2020-01-23 22:31:51 +01:00
ArthurHoaro
cf92b4dd15 Apply the new system (Bookmark + Service) to the whole code base
See https://github.com/shaarli/Shaarli/issues/1307
2020-01-18 09:55:59 +01:00
Lucas Cimon
d9bfceaddf Avoiding warning 'PHP Notice: Undefined index: updated' 2020-01-12 14:55:37 +01:00
ArthurHoaro
e0e24335f7 Fix undefined thumbnail on OpenGraph headers
Fixes #1362
2019-09-10 18:40:07 +02:00
984073a980 Release v0.11.0
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEWe5LuNiFNDXAgI8BOzJIyqqwgW4FAl08H7AACgkQOzJIyqqw
 gW4dEw/9F55N9HMK1xTByxsnrMihjzBaKKc1lBBNJizAXrX2QchgnhE15ATRnQNy
 /7GUU8hCRukBsffMp7Ve1tbPkVvQwWgyQn2Hpp+ayGNWgQYrU1jNSaCQcbyxybyP
 6e+8DFAdDsleHiYCSZBPUHMpiJyQWsVBDV1wQPRrqvm+JYE3+9IwHzm+9/y4sk55
 7bp5Mj7fYyts5AJfLj9gxg2juGRnnhKXGWj2WI4Yk1mpwQLFSf43wC8lFf0ASY1J
 PfhjwOOFCRv/7LOL66nIPp74+pKcyO/S8p2m/pFNgrHL2bJXaAmFMPmYQjyoFmaA
 83iM5Jv3fBXMSf/iHnPvQlD0nmIvXUeu5ftBUIE/C4Uwu8LZTlOsPelW1dH5ygGa
 TVaA3/vlRhDWATe9mRNrHPHQT3VoxHg8U3qIv3p3cakj1uRFaFvkKhI7dEoqFSJY
 zsmISLbPMbmvJkMMNT4sI2q3ioyGDiU0OSayKocJziiu/H9+c2Pdty3YOSvJp/SX
 sjgqSX/hwtNmpQnS63dweDLoBGWjj01MYgedI9r64kmfW3QoSYsdVfykEMHIfofw
 /g8hRMBmuzK0VuDrla6DIBl7s58w0Uepr+e/lFMI4pzwHzxzUCZ5lc6wG0yCxuq2
 R+wTbpLqeXghKIaprmxq9i1TnAiCIl+lmw9zKj3M3fXwBGQ8e4I=
 =c7Xq
 -----END PGP SIGNATURE-----

Merge tag 'v0.11.0' into myShaarli_commu

Release v0.11.0
2019-08-12 14:16:22 +02:00
ArthurHoaro
7ff3ed1d63
Merge pull request #1336 from ArthurHoaro/hotfix/atom-author
ATOM Feed: use instance name as author name instead of URL
2019-08-10 12:08:22 +02:00
agentcobra
419eef1f56
little fix template
fix link between label and checkbox (updateCheck)
2019-08-01 12:33:25 +02:00
ArthurHoaro
f9b99c7217 ATOM Feed: use instance name as author name instead of URL
Related FreshRSS/FreshRSS#2466
2019-07-29 19:37:51 +02:00
Luce Carević
06a8992737
maj linklist
put back the link on the thumbmail and fix a11y
2019-07-28 12:33:06 +02:00
Luce Carević
d1bcf28db3 fix a11y 2019-07-13 18:56:43 +02:00
Luce Carević
719ef8e896 fix a11y 2019-07-13 18:26:31 +02:00
ArthurHoaro
01ba8a0700
Merge pull request #1323 from llune/patch-5
fix a11y label
2019-07-13 15:09:47 +02:00
ArthurHoaro
b15d065905
Merge pull request #1321 from llune/patch-3
a11y fix img without alt
2019-07-13 15:09:20 +02:00
ArthurHoaro
c088ae99bf
Merge pull request #1324 from llune/patch-6
a11y fix add banner mobile version
2019-07-13 15:09:08 +02:00
ArthurHoaro
19ba060669
Merge pull request #1322 from llune/patch-4
fix a11y label
2019-07-13 15:08:50 +02:00
Luce Carević
84b8426c31
a11y fix add banner mobile version 2019-07-13 00:40:30 +02:00
Luce Carević
cadf4d5bd6
fix a11y label 2019-07-13 00:09:54 +02:00
Luce Carević
6177da0c30
fix a11y label 2019-07-13 00:07:50 +02:00
Luce Carević
d91719ab97
fix img without alt 2019-07-13 00:04:25 +02:00
Luce Carević
b43c98fecb
fix blank 2019-07-12 23:56:43 +02:00
Luce Carević
852872930f
a11y fix: label and tabindex
Don't use tabindex values other than -1, 0. (see https://webaim.org/techniques/keyboard/tabindex).

Fix inputs without labels (the placeholder attribute is not a proper labelling method)
2019-07-12 23:54:42 +02:00
ArthurHoaro
6a4872520c Automatically retrieve description for new bookmarks
If the option is enabled, it will try to find a meta tag containing
the page description and keywords, just like we do for the page title.
It will either look for regular meta tag or OpenGraph ones.

The option is disabled by default.

Note that keywords meta tags is mostly not used.

In `configure` template, the variable associated with this setting
is `$retrieve_description`.

Fixes #1302
2019-07-06 12:21:52 +02:00
ArthurHoaro
5321f704b5 Daily - display the current day instead of the previous one
Also mention if it's today or yesterday for clarity using `dayDesc`
variable

Fixes #1299
2019-05-25 16:40:45 +02:00
ArthurHoaro
8ed59f107e
Merge pull request #1301 from ArthurHoaro/template/print-css
Add print CSS rules to the default template
2019-05-25 15:38:49 +02:00
ArthurHoaro
b2143ff480 Switch from FontAwesome v4.x to ForkAwesome
And use the Shaarli icon made by @xuv in the header and footer (default template).
2019-05-19 12:03:14 +02:00
ArthurHoaro
374f89e721 Add print CSS rules to the default template
Fixes #1291

  * Display the header bar only on the first page
  * Hide search bars, pagination buttons, filters, and edit/delete buttons
2019-05-08 12:17:52 +02:00
ArthurHoaro
06783e8f1a
Merge pull request #1297 from ArthurHoaro/hotfix/mobile-select-all
Hide select all button on mobile view
2019-05-08 11:44:54 +02:00
ArthurHoaro
160d9a7741
Merge pull request #1296 from ArthurHoaro/feature/sticky-label
Display sticky label in linklist
2019-05-08 11:00:33 +02:00
ArthurHoaro
51c5de1105 Hide select all button on mobile view
Bulk actions are not available on mobile view yet
2019-04-22 12:39:15 +02:00
ArthurHoaro
786f35f270
Merge pull request #1276 from ArthurHoaro/feature/bulk-visibility
Bulk action: set visibility
2019-04-22 12:31:09 +02:00
ArthurHoaro
d3defcac1c Display sticky label in linklist
Add sticky label, like private label, in linklist to make it more visible.
2019-04-22 11:26:37 +02:00
Luce Carević
da815e3f2e delete useless titles 2019-03-02 13:40:21 +01:00
Luce Carević
de07aad18f fix empty links and hide <i> for screenreaders 2019-03-02 13:32:36 +01:00
Luce Carević
c31dd67c5d footer and contentinfo 2019-03-02 12:56:08 +01:00
272b07627b Release v0.10.3
-----BEGIN PGP SIGNATURE-----
 
 iQFLBAABCAA1FiEEEv0k8DWUT53dSMUkR6bSrUEA328FAlxxaB0XHHZpcnR1YWx0
 YW1AZmxpYmlkaS5uZXQACgkQR6bSrUEA328mfAf9GA0/rrA/5HMksQ2m9YKN7wJj
 ytCpeGdVksdvm+XRQj8dMp0oZjL+AIuEdd60W9fhMg+lVDlt9kO9GJKDc2kwkinx
 oNxXCl54BYfmlvaW98KF5GWLAkDAUFpaUDg91ZneD1kRXoU9y/NSNiKXZP+GV/L8
 8Niu2z8smypLv0UaRGblpDY+HkVfZkoV2yZJBGEcS9b7wHPy8nVv6rqUb93b+EJM
 IfooUj3DaCoa61dmTFa/a5oWnuu2Iu7F0SfMvL2rFFiMC22nXfSEGpfsKDeYihmG
 fhlSo0Fa665o94BfoetuXNiE2IU5Kez/aDk7sNNKoOoMsbxJPtzg9A0hyKS6eA==
 =xHH4
 -----END PGP SIGNATURE-----

Merge tag 'v0.10.3' into myShaarli_commu

Release v0.10.3
2019-02-28 14:29:52 +01:00
VirtualTam
2c16e8e9a8 fix: ensure HTML tags are stripped from OpenGraph description
Fixes https://github.com/shaarli/Shaarli/issues/1250
Relates to https://github.com/shaarli/Shaarli/issues/1242

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-02-23 16:28:01 +01:00
ArthurHoaro
8d03f705eb Bulk action: set visibility
Added 2 buttons when link checkboxes are checked to set them either public or private.

Related to #572 #1160
2019-02-09 17:59:53 +01:00
ArthurHoaro
cb974e4747 Accessibility: specify the HTML lang attribute
The lang is based on the user defined one. If the language is automatic, no language will be specified.

Fixes #1216
2019-02-09 14:29:35 +01:00
VirtualTam
49106a5d8c fix: ensure HTML tags are stripped from OpenGraph description
Fixes https://github.com/shaarli/Shaarli/issues/1250
Relates to https://github.com/shaarli/Shaarli/issues/1242

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-18 22:58:09 +01:00
Aurélien Tamisier
5e0a898bb1
Merge pull request #1247 from llune/patch-5
add label to form - accessibility issue
2018-12-02 13:56:16 +01:00
Luce Carević
0c42c5e359
add label to form - accessibility issue
Don't use placeholder instead of label for form input.
2018-11-30 20:39:13 +01:00
Luce Carević
db06c261f6
fix translation string 2018-11-30 20:36:10 +01:00
ArthurHoaro
e95247d41d
Merge pull request #1205 from ArthurHoaro/feature/opengraph
Add OpenGraph meta tags on permalink page
2018-10-06 13:31:07 +02:00
ArthurHoaro
a062416918
Merge pull request #1208 from ArthurHoaro/feature/select-all
Add a button to toggle all checkboxes of displayed links
2018-10-06 13:30:29 +02:00
ArthurHoaro
8cac122086
Merge pull request #1211 from ArthurHoaro/hotfix/img-request
Fix a bug making thumbnail to request the current page
2018-10-06 13:29:10 +02:00
ArthurHoaro
d9bf5b31ff Sticky feature - Add translation and display for logged out users 2018-10-06 13:13:57 +02:00
ArthurHoaro
4154c25b5f Add a button to set links as sticky
Meaning that they always appear on top of all links

Fixes #186
2018-10-06 12:55:05 +02:00