ArthurHoaro
2cd0509b50
Improve regex to extract HTML metadata (title, description, etc.)
...
Also added a bunch of tests to cover more use cases.
Fixes #1375
2020-09-03 17:46:26 +02:00
ArthurHoaro
46d3f8162b
Merge pull request #1537 from ArthurHoaro/fix/back-compatible-targets
2020-09-03 14:57:24 +02:00
ArthurHoaro
0386a84d82
Fix feed target in UT
2020-09-03 10:18:04 +02:00
ArthurHoaro
ce7918386a
Improve backward compatibility for LegacyRouter
...
LegacyRouter is no longer used for routing, only in existing plugins to match the _PAGE_ parameter.
So we change a few of its values there, to match the new ones defined in TemplatePage.
@see discussion in shaarli/Shaarli#1537
2020-09-03 10:09:36 +02:00
ArthurHoaro
865f0a0e01
Merge pull request #1523 from ArthurHoaro/fix/default-colors-generation
...
Default colors plugin: generate CSS file during initialization
2020-09-03 08:48:51 +02:00
ArthurHoaro
9e6371a6fd
Merge pull request #1520 from ArthurHoaro/fix/jp-language
2020-09-03 08:46:47 +02:00
ArthurHoaro
2835ac7cbe
Merge pull request #1524 from ArthurHoaro/fix/rss-sticky
...
Fixed: Pinned bookmarks are displayed first in ATOM/RSS feeds
2020-09-03 08:45:12 +02:00
ArthurHoaro
d95624add4
Merge pull request #1534 from ArthurHoaro/fix/legacy-route-post
2020-09-03 08:35:05 +02:00
ArthurHoaro
11aa4a7a29
Support redirection of legacy route 'do=configure'
2020-09-01 10:40:35 +02:00
ArthurHoaro
9e2d47e519
Fix legacy redirection when Shaarli instance is under a subfolder
2020-09-01 10:40:18 +02:00
ArthurHoaro
aca995e09c
Fix support for legacy route login redirection
...
Makes sure that the user is properly redirected to the bookmark form after login, even with legacy routes
2020-09-01 10:12:54 +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
ArthurHoaro
b06fc28aa3
REST API: allow override of creation and update dates
...
Note that if they're not provided, default behaviour will apply:
creation and update dates will be autogenerated, and not empty.
Fixes #1223
2020-08-29 11:45:08 +02:00
ArthurHoaro
a8e210faa6
Fixed: Pinned bookmarks are displayed first in ATOM/RSS feeds
...
Fixes #1485
2020-08-29 10:06:40 +02:00
ArthurHoaro
972daa4513
Default colors plugin: generate CSS file during initialization
...
Current behaviour only generate the custom CSS file when the plugin settings are saved, which can be annoying if the file is deleted but the settings are set.
Most common use case is Docker deployment, because the plugin directory is not mounted as a volume.
2020-08-29 09:38:30 +02:00
ArthurHoaro
8af1d2da60
Fix UT
2020-08-27 15:26:52 +02:00
ArthurHoaro
7e3dc0ba98
Better handling of plugin incompatibility
...
If a PHP is raised while executing plugin hook, Shaarli will display an error instead of rendering the error page (or just ending in fatal error for default hooks).
Also added phpErrorHandler which is handled differently that regular errorHandler by Slim.:
2020-08-27 12:04:36 +02:00
ArthurHoaro
0c6fdbe12b
Move error handling to dedicated controller instead of middleware
2020-08-21 10:50:44 +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
d6e5f04d39
Remove anonymous permission and initialize bookmarks on login
2020-08-01 11:10:57 +02:00
ArthurHoaro
f7f08ceec1
Fix basePath in unit tests reference DB
2020-07-28 22:34:45 +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
204035bd3c
Fix: visitor are allowed to chose nb of links per page
2020-07-24 12:48:53 +02:00
ArthurHoaro
87ae3c4f08
Fix default link and redirection in install controller
2020-07-24 10:30:47 +02:00
ArthurHoaro
3ee8351e43
Multiple small fixes
2020-07-23 21:19:21 +02:00
ArthurHoaro
a8c11451e8
Process login through Slim controller
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
764d34a7d3
Process token retrieve through Slim controller
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
e8a10f312a
Use NetscapeBookmarkUtils object instance instead of static calls
2020-07-23 21:19:21 +02:00
ArthurHoaro
3447d888d7
Pin bookmarks through Slim controller
2020-07-23 21:19:21 +02:00
ArthurHoaro
7b8a6f2858
Process change visibility action through Slim controller
2020-07-23 21:19:21 +02:00
ArthurHoaro
baa6979194
Improve ManageTagController coverage and error handling
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
465033230d
Password change: UT use case with open shaarli
2020-07-23 21:19:21 +02:00
ArthurHoaro
fdedbfd4a7
Test ShaarliAdminController
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
dd09ec52b2
Refactor front controller tests to create container mock using a trait
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
f4929b1188
Make FeedBuilder instance creation independant of the request stack
2020-07-23 21:19:21 +02:00
ArthurHoaro
029ada5a07
PHP 7.1 compatibility
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
e3d28be967
Slim daily: minor bugfix with empty data
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
c79473bd84
Handle tag filtering in the Bookmark service
2020-07-23 21:19:21 +02:00
ArthurHoaro
72caf4e84c
Working version before optimization
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
b0428aa9b0
Migrate cache purge function to a proper class
...
And update dependencies and tests.
Note that SESSION['tags'] has been removed a log ago
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
Sébastien NOBILI
46846fd4fc
fixed typo
2020-03-02 18:23:55 +01:00
Sébastien NOBILI
cc2ded54e1
ldap authentication, fixes shaarli/Shaarli#1343
2020-03-02 17:13:18 +01:00
ArthurHoaro
0498b209b5
Execute common plugin hooks before rendering login page
2020-01-26 11:34:14 +01:00
ArthurHoaro
9e4cc28e29
Fix all existing links and redirection to ?do=login
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
a39acb2518
Fix an issue with private tags and fix nomarkdown tag
...
The new bookmark service wasn't handling private tags properly.
nomarkdown tag is now shown only for logged in user in bookmarks, and hidden for everyone in tag clouds/lists.
Fixes #726
2020-01-18 11:39:26 +01:00
ArthurHoaro
e26e2060f5
Add and update unit test for the new system (Bookmark + Service)
...
See #1307
2020-01-18 09:56:32 +01:00
ArthurHoaro
def39d0dd7
Run Unit Tests against PHP 7.4
...
Bump PHPUnit version and fix unit test
- Globals are handled differently and are persistent through tests
- Tests without assertions are marked as risky: some of them are just
meant to check that no error is raised.
2020-01-17 18:34:37 +01:00
ArthurHoaro
354fb98cc9
Markdown plugin: fix RSS feed direct link reverse
...
The plugin was only reversing permalinks and failed with setting rss_permalinks set to false
2019-08-15 12:56:32 +02:00
ArthurHoaro
bd1adc8df6
Fix UT: LinkDBTest - make each tests independant
...
Otherwise the datastore is empty in the last test, making it
inconsistent due to dates issues.
2019-08-10 12:42:53 +02:00
ArthurHoaro
9f9627059a
Make sure that bookmark sort is consistent, even with equal timestamps
...
Fixes #1348
2019-08-07 13:18:02 +02:00
ArthurHoaro
b550735054
Default colors plugin - Add unit tests
2019-07-20 09:32:52 +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
c3a04e328f
Merge pull request #1273 from ArthurHoaro/feature/ban-manager
...
Rewrite IP ban management
2019-05-25 16:13:56 +02:00
ArthurHoaro
cc69aad4a9
Merge pull request #1271 from ArthurHoaro/hotfix/thumb-note-retrieve
...
Do not try to retrieve thumbnails for internal link
2019-03-02 10:54:06 +01:00
ArthurHoaro
a8e7da0114
Do not try to retrieve thumbnails for internal link
...
Also adds a helper function to determine if a link is a note and apply it across multiple files.
2019-02-24 12:25:50 +01:00
ArthurHoaro
b49a04f796
Rewrite IP ban management
...
This adds a dedicated manager class to handle all ban interactions, which is instantiated and handled by LoginManager.
IPs are now stored in the same format as the datastore, through FileUtils.
Fixes #1032 #587
2019-02-09 16:44:48 +01:00
ArthurHoaro
520d29578c
Remove the redirector setting
...
Fixes #1239
2019-02-09 13:55:11 +01:00
ArthurHoaro
905f8675a7
Merge pull request #1182 from ArthurHoaro/feature/session-protection-stay-login
...
Do not check the IP address with session protection disabled
2019-02-09 12:36:31 +01:00
VirtualTam
dea72c711f
Optimize and cleanup imports
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-13 00:04:42 +01:00
VirtualTam
a43e7842e4
API: update test regexes to comply with PCRE2
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-13 00:04:42 +01:00
VirtualTam
9585441734
namespacing: add plugin tests to \Shaarli\Plugin\[...]
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 23:11:19 +01:00
VirtualTam
e185038834
namespacing: \Shaarli\Plugin\PluginManager
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 23:11:19 +01:00
VirtualTam
349b014401
namespacing: \Shaarli\Netscape\NetscapeBookmarkUtils
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 23:11:19 +01:00
VirtualTam
a932f486f2
namespacing: \Shaarli\Router
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 23:11:19 +01:00
VirtualTam
9778a1551c
namespacing: \Shaarli\ApplicationUtils
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 23:11:19 +01:00
VirtualTam
bcf056c9d9
namespacing: \Shaarli\Updater
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 23:11:19 +01:00
VirtualTam
fe3713d2e5
namespacing: move LinkUtils along \Shaarli\Bookmark classes
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 22:47:48 +01:00
VirtualTam
6696729b88
namespacing: \Shaarli\Bookmark\LinkFilter
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 22:47:48 +01:00
VirtualTam
f24896b237
namespacing: \Shaarli\Bookmark\LinkDB
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 22:47:48 +01:00
VirtualTam
a0c4dbd91c
namespacing: \Shaarli\FileUtils
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 22:47:48 +01:00
VirtualTam
8c0f19c797
namespacing: \Shaarli\Render\{PageBuilder,ThemeUtils}
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 22:47:48 +01:00
VirtualTam
51753e403f
namespacing: move HTTP utilities along \Shaarli\Http\ classes
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 22:47:48 +01:00
VirtualTam
fb1b182fbf
namespacing: \Shaarli\Http\Url
...
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 22:47:48 +01:00