Ajabep
2ea2c99dcb
Fix a bug
...
When we try to access the atom feed and have no bookmarks, it raised the following exception :
```
Call to a member function reorder() on array /webroot/application/bookmark/BookmarkFileService.php:143
#0 /webroot/application/feed/FeedBuilder.php(106): Shaarli\Bookmark\BookmarkFileService->search(Array, 'public', false, false, true)
#1 /webroot/application/front/controller/visitor/FeedController.php(47): Shaarli\Feed\FeedBuilder->buildData('atom', Array)
#2 /webroot/application/front/controller/visitor/FeedController.php(20): Shaarli\Front\Controller\Visitor\FeedController->processRequest('atom', Object(Slim\Http\Request), Object(Slim\Http\Response))
#3 [internal function]: Shaarli\Front\Controller\Visitor\FeedController->atom(Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#4 /webroot/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(40): call_user_func(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#5 /webroot/vendor/slim/slim/Slim/Route.php(281): Slim\Handlers\Strategies\RequestResponse->__invoke(Array, Object(Slim\Http\Request), Object(Slim\Http\Response), Array)
#6 /webroot/application/front/ShaarliMiddleware.php(55): Slim\Route->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#7 [internal function]: Shaarli\Front\ShaarliMiddleware->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
#8 /webroot/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array(Array, Array)
#9 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
#10 /webroot/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(Slim\Http\Response), Object(Slim\Route))
#11 /webroot/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->Slim\{closure}(Object(Slim\Http\Request), Object(Slim\Http\Response))
#12 /webroot/vendor/slim/slim/Slim/Route.php(268): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#13 /webroot/vendor/slim/slim/Slim/App.php(503): Slim\Route->run(Object(Slim\Http\Request), Object(Slim\Http\Response))
#14 /webroot/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->__invoke(Object(Slim\Http\Request), Object(Slim\Http\Response))
#15 /webroot/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(Slim\Http\Response))
#16 /webroot/vendor/slim/slim/Slim/App.php(297): Slim\App->process(Object(Slim\Http\Request), Object(Slim\Http\Response))
#17 /webroot/index.php(177): Slim\App->run(true)
#18 {main}
```
2021-04-02 21:14:09 +02:00
ArthurHoaro
bcba6bd353
New plugin hook: ability to add custom filters to Shaarli search engine
...
A new plugin hook has been added: hook_test_filter_search_entry
This hook allows to filter out bookmark with custom plugin code when a search is performed.
Related to #143
2021-02-04 11:02:50 +01:00
ArthurHoaro
9b8c0a4560
Handle pagination through BookmarkService
...
Handle all search results through SearchResult object.
This is a required step toward implementing a BookmarkService based on SQL database.
Related to #953
2021-01-20 15:01:29 +01:00
ArthurHoaro
b99e00f7cd
Manually fix remaining PHPCS errors
2020-11-09 10:56:49 +01:00
ArthurHoaro
53054b2bf6
Apply PHP Code Beautifier on source code for linter automatic fixes
2020-11-09 10:56:24 +01:00
ArthurHoaro
b3bd8c3e8d
Feature: support any tag separator
...
So it allows to have multiple words tags.
Breaking change: commas ',' are no longer a default separator.
Fixes #594
2020-11-05 17:54:42 +01:00
ArthurHoaro
156061d445
Raise 404 error instead of 500 if permalink access is denied
2020-10-28 13:16:18 +01:00
ArthurHoaro
36e6d88dbf
Feature: add weekly and monthly view/RSS feed for daily page
...
- Heavy refactoring of DailyController
- Add a banner like in tag cloud to display monthly and weekly links
- Translations: t() now supports variables with optional first letter
uppercase
Fixes #160
2020-10-27 19:45:02 +01:00
ArthurHoaro
9c04921a8c
Feature: Share private bookmarks using a URL containing a private key
...
- Add a share link next to « Permalink » in linklist (using share icon
from fork awesome)
- This link generates a private key associated to the bookmark
- Accessing the bookmark while logged out with the proper key will
display it
Fixes #475
2020-10-27 19:32:57 +01:00
ArthurHoaro
4b3aca6623
Strict types: fix an issue in daily where the date could be an int
2020-10-16 12:04:46 +02:00
ArthurHoaro
efb7d21b52
Add strict types for bookmarks management
...
Parameters typing and using strict types overall increase the codebase
quality by enforcing the a given parameter will have the expected type.
It also removes the need to unnecessary unit tests checking methods
behavior with invalid input.
2020-10-13 13:50:11 +02:00
ArthurHoaro
fd1ddad98d
Add mutex on datastore I/O operations
...
To make sure that there is no concurrent operation on the datastore file.
Fixes #1132
2020-10-13 12:38:19 +02:00
ArthurHoaro
27ddfec3c3
Fix visibility issue on daily page
...
This filter (links by day) didn't apply any visibility parameter.
Fixes #1543
2020-09-06 14:11:02 +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
d6e5f04d39
Remove anonymous permission and initialize bookmarks on login
2020-08-01 11:10:57 +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
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
c79473bd84
Handle tag filtering in the Bookmark service
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
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
336a28fa4a
Introduce Bookmark object and Service layer to retrieve them
...
See https://github.com/shaarli/Shaarli/issues/1307 for details
2020-01-17 18:42:11 +01:00