Commit graph

52 commits

Author SHA1 Message Date
ArthurHoaro
ca5e98da48 Composer: explicitly import katzgrau/klogger (already included in netscape-bookmark-parser) 2020-10-20 10:39:58 +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
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
a5a9cf23ac Compatibility with PHPUnit 9 2020-09-29 18:57:20 +02:00
ArthurHoaro
2b7a7bc928 Run CI against PHP 8.0 2020-09-29 18:57:17 +02:00
ArthurHoaro
b1baca99f2 Convert legacy PHPUnit @expected* to new ->expect*
Converted automatically using https://github.com/ArthurHoaro/convert-legacy-phpunit-expect
2020-09-27 14:09:55 +02:00
ArthurHoaro
e011be0170 Travis CI: run composer update instead of install
And ignore PHP 7.1 platform requirement, in order to get matching version of PHPUnit
2020-09-26 14:33:27 +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
6c50a6ccce Render login page through Slim controller 2020-01-26 11:34:14 +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
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
df40879739 Upgrade composer dependencies from PHP 7.1 2019-08-01 19:55:24 +02:00
VirtualTam
8f4e9624e6 composer: enforce PHP security advisories
This adds roave/security-advisories to prevent installing PHP packages with
known vulnerabilities with Composer.

See:
- https://github.com/FriendsOfPHP/security-advisories
- https://github.com/Roave/SecurityAdvisories

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-18 21:35:13 +01:00
VirtualTam
1a55fc8d63 composer: add and document optional PHP extensions
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
bcf056c9d9 namespacing: \Shaarli\Updater
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 23:11:19 +01:00
VirtualTam
92c6439dbc namespacing: add curl-ext to suggested dependencies
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
00af48d9d2 namespacing: \Shaarli\Http\Base64Url
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 22:47:48 +01:00
VirtualTam
dfc650aa23 namespacing: \Shaarli\Feed\{Cache,CachedPage,FeedBuilder}
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 22:47:48 +01:00
VirtualTam
f3d2f25794 namespacing: \Shaarli\Exceptions\IOException
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2019-01-12 22:47:48 +01:00
VirtualTam
37c9c6b4e6 lint: remove unused tools
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2018-12-02 22:39:16 +01:00
VirtualTam
b41c5ab04c Composer: bump netscape-bookmark-parser to 2.1
Relates to https://github.com/shaarli/Shaarli/issues/1227

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2018-10-06 17:30:16 +02:00
ArthurHoaro
787faa42f3 Take code review into account
Upgrade web-thumbnailer and display thumbs right after download
2018-07-05 20:34:22 +02:00
ArthurHoaro
e85b7a05a1 Update thumbnail integration after rebasing the branch 2018-07-05 20:31:35 +02:00
ArthurHoaro
1b93137e16 Use web-thumbnailer to retrieve thumbnails
* requires PHP 5.6
  * use blazy on linklist since a lot more thumbs are retrieved
  * thumbnails can be disabled
  * thumbs size is now 120x120
  * thumbs are now cropped to fit the expected size

Fixes #345 #425 #487 #543 #588 #590
2018-07-05 20:31:35 +02:00
VirtualTam
fab87c2696 Move LoginManager and SessionManager to the Security namespace
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2018-06-02 16:46:06 +02:00
ArthurHoaro
c5ee13181e Update parsedown to its latest version instead of fixed 1.6 2018-03-31 13:00:13 +02:00
ArthurHoaro
5617dcf9d2 Drop PHP 5.5 compatibility and upgrade PHPUnit to v5.x
PHPUnit 4.x contains deprecated PHP functions in PHP 7.2.
2018-02-02 19:15:47 +01:00
ArthurHoaro
12266213d0 Shaarli's translation
* translation system and unit tests
 * Translations everywhere

Dont use translation merge

It is not available with PHP builtin gettext, so it would have lead to inconsistency.
2017-10-22 12:55:03 +02:00
Willi Eggeling
cc8f572bc0 migrated Github wiki links to readthedocs 2017-08-26 09:40:57 +02:00
ArthurHoaro
8911863019 Fix PHP version configuration in composer.json
Without this setting, composer would download dependencies depending on the PHP version installed on the system.
E.G. I was getting doctrine/instantiator 1.1, which requires at least PHP 7.1.
2017-08-05 10:59:39 +02:00
ArthurHoaro
c31f3ce048 Upgrade netscape-bookmark-parser dependency to v2.x 2017-03-10 18:46:53 +01:00
ArthurHoaro
e6cd773f5a Fix blocking namespace issue 2017-03-08 20:00:21 +01:00
ArthurHoaro
6c7d686454 Run languages tests using PHPUnit test suites 2017-03-06 21:11:18 +01:00
VirtualTam
3c66e56435 application: introduce the Shaarli\Config namespace
Namespaces have been introduced with the REST API, and should be generalized
to the whole codebase to manage object scope and benefit from autoloading.

See:
- https://secure.php.net/manual/en/language.namespaces.php
- http://www.php-fig.org/psr/psr-4/

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2017-03-04 17:07:52 +01:00
VirtualTam
7a9daac56d API: fix JWT signature verification
Fixes https://github.com/shaarli/Shaarli/issues/737

Added:
- Base64Url utilities

Fixed:
- use URL-safe Base64 encoding/decoding functions
- use byte representations for HMAC digests
- all JWT parts are Base64Url-encoded

See:
- https://en.wikipedia.org/wiki/JSON_Web_Token
- https://tools.ietf.org/html/rfc7519
- https://scotch.io/tutorials/the-anatomy-of-a-json-web-token
- https://jwt.io/introduction/
- https://en.wikipedia.org/wiki/Base64#URL_applications
- https://secure.php.net/manual/en/function.base64-encode.php#103849

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2017-01-04 16:59:47 +01:00
ArthurHoaro
db90dfcbbc Move PubSubHubbub code as a default plugin 2016-12-20 11:41:24 +01:00
ArthurHoaro
18e6796726 REST API structure using Slim framework
* REST API routes are handle by Slim.
  * Every API controller go through ApiMiddleware which handles security.
  * First service implemented `/info`, for tests purpose.
2016-12-15 10:36:00 +01:00
ArthurHoaro
423ab02846 PHP requirement increased to PHP 5.5 - See #599 2016-12-15 10:04:05 +01:00
ArthurHoaro
e680cfea08 Use Composer to import Parsedown library
Reference #613
2016-10-22 11:13:13 +02:00
VirtualTam
8c4958c508 Composer: reference shaarli/netscape-bookmark-parser from Packagist
Relates to https://github.com/shaarli/Shaarli/pull/607
Relates to https://github.com/shaarli/Shaarli/pull/612
Relates to https://github.com/shaarli/netscape-bookmark-parser/issues/15

Modification:
- reference the "shaarli" vendor repository on Packagist instead of
  overriding the upstream package with an SCM repository

See https://packagist.org/packages/shaarli/netscape-bookmark-parser

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-08-10 00:47:53 +02:00
VirtualTam
7f5ab8c0a4 Composer: add shaarli/netscape-bookmark-parser
Relates to https://github.com/shaarli/Shaarli/issues/607
Relates to https://github.com/kafene/netscape-bookmark-parser/issues/6

The Shaarli-forked version is checked out as a VCS repository.

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-07-23 17:14:15 +02:00
VirtualTam
8945c76b62 Update composer metadata
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-06-15 21:27:45 +02:00
VirtualTam
129793b537 Tests: update PHPUnit to 4.8.x
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-04-10 01:13:09 +02:00