aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAgeFilesLines
* Bulk creation: improve performances using memoizationArthurHoaro2020-10-271-9/+43
| | | | Reduced additional processing time per links from ~40ms to ~5ms
* Bulk creation: fix private status based on the first formArthurHoaro2020-10-274-4/+16
|
* Feature: bulk creation of bookmarksArthurHoaro2020-10-2725-527/+1028
| | | | | | | | | | | | | | | | | | | | | | | | | This changes creates a new form in addlink page allowing to create multiple bookmarks at once more easily. It focuses on re-using as much existing code and template component as possible. These changes includes: - a new form in addlink (hidden behind a button by default), containing a text area for URL, and tags/private status to apply to created links - this form displays a new template called editlink.batch, itself including editlink template multiple times - User interation in this new templates are handle by a new JS script (shaare-batch.js) making AJAX requests, and therefore does not need page reloading - ManageShaareController has been split into 3 distinct controllers: + ShaareAdd: displays addlink template + ShaareManage: various operation applied on existing shaares (change visibility, pin, deletion, etc.) + ShaarePublish: handles creation/edit forms and saving Shaare's form - Updated translations Fixes #137
* Merge pull request #1595 from ArthurHoaro/feature/daily-periodArthurHoaro2020-10-2727-333/+1211
|\
| * Fix rebase issueArthurHoaro2020-10-273-3/+4
| |
| * Feature: add weekly and monthly view/RSS feed for daily pageArthurHoaro2020-10-2711-318/+1190
| | | | | | | | | | | | | | | | | | - 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
| * Move utils classes to Shaarli\Helper namespace and folderArthurHoaro2020-10-2715-12/+17
|/
* Merge pull request #1597 from ArthurHoaro/feature/share-private-bookmarkArthurHoaro2020-10-2710-23/+268
|\ | | | | Feature: Share private bookmarks using a URL containing a private key
| * Feature: Share private bookmarks using a URL containing a private keyArthurHoaro2020-10-2710-23/+268
|/ | | | | | | | | | - 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
* Merge pull request #1604 from ArthurHoaro/feature/server-admin-pageArthurHoaro2020-10-2716-105/+1087
|\ | | | | Feature: add a Server administration page
| * Feature: add a Server administration pageArthurHoaro2020-10-2116-105/+1087
| | | | | | | | | | | | | | | | | | | | | | | | It contains mostly read only information about the current Shaarli instance, PHP version, extensions, file and folder permissions, etc. Also action buttons to clear the cache or sync thumbnails. Part of the content of this page is also displayed on the install page, to check server requirement before installing Shaarli config file. Fixes #40 Fixes #185
* | Merge pull request #1609 from GaneshKandu/patch-1ArthurHoaro2020-10-271-3/+3
|\ \
| * | Removed PHP_EOLGanesh Kandu2020-10-271-3/+3
| | | | | | | | | just replace "*/ ?>" and "<?php /*" with '' and "Trim" output whatever is EOF will trimmed out.
| * | Replaced PHP_EOL to "\n"Ganesh Kandu2020-10-271-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | i was getting error ``` An error occurred while parsing JSON configuration file (data/config.json.php): error code #4 ➜ Syntax error Please check your JSON syntax (without PHP comment tags) using a JSON lint tool such as jsonlint.com. ``` after debug i found ```php $data = str_replace(self::getPhpHeaders(), '', $data); $data = str_replace(self::getPhpSuffix(), '', $data); ``` doesn't removing php header and php suffix cause of this issue was PHP_EOL represents the endline character for the current system. if my ```config.json.php``` was encoded with unix ( LF ) and php running on windows windows encoding ( CR LF ) is not same as unix encoding ( LF ) so ```str_replace``` doesn't replace strin then it causes issue.
* | Merge pull request #1601 from ArthurHoaro/feature/psr3ArthurHoaro2020-10-2417-125/+172
|\ \
| * | Use PSR-3 logger for login attemptsArthurHoaro2020-10-2015-124/+170
| | | | | | | | | | | | Fixes #1122
| * | Composer: explicitly import katzgrau/klogger (already included in ↵ArthurHoaro2020-10-202-1/+2
| |/ | | | | | | netscape-bookmark-parser)
* | Merge pull request #1605 from ArthurHoaro/fix/nginx-doc-ruleArthurHoaro2020-10-212-1/+11
|\ \ | | | | | | Fix: nginx - add rule to disable url-rewriting for the docs
| * | Fix: nginx - add rule to disable url-rewriting for the docsArthurHoaro2020-10-212-1/+11
| |/ | | | | | | Related to #1603
* | Merge pull request #1602 from ArthurHoaro/fix/root-exceptionsArthurHoaro2020-10-203-7/+19
|\ \ | |/ |/| Dislay an error if an exception occurs in the error handler
| * Dislay an error if an exception occurs in the error handlerArthurHoaro2020-10-203-7/+19
|/ | | | Related to #1598
* Merge pull request #1584 from ArthurHoaro/feature/async-thumbnail-retrievalArthurHoaro2020-10-2010-42/+279
|\ | | | | Asynchronous retrieval of bookmark's thumbnails
| * Asynchronous retrieval of bookmark's thumbnailsArthurHoaro2020-10-2010-42/+279
|/ | | | | | | | | This feature is based general.enable_async_metadata setting and works with existing metadata.js file. The script is compatible with any template: - the thumbnail div bloc must have attribute - the bookmark bloc must have attribute with the bookmark ID as value Fixes #1564
* Merge pull request #1567 from ArthurHoaro/feature/async-title-retrievalArthurHoaro2020-10-2022-245/+677
|\
| * Improve metadata retrieval (performances and accuracy)ArthurHoaro2020-10-155-177/+237
| | | | | | | | | | - Use dedicated function to download headers to avoid apply multiple regexps on headers - Also try to extract title from meta tags
| * Add a setting to retrieve bookmark metadata asynchrounouslyArthurHoaro2020-10-1519-75/+447
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | Merge pull request #1600 from yudete/masterArthurHoaro2020-10-201-999/+1039
|\ \
| * | Update translations (Japanese)yudete2020-10-191-2/+24
| | |
| * | Update translations (Japanese)yudete2020-10-191-999/+1017
|/ /
* | Merge pull request #1588 from ArthurHoaro/feature/search-highlightArthurHoaro2020-10-1613-38/+533
|\ \
| * | add search highlight unit testsArthurHoaro2020-10-166-3/+184
| | |
| * | Feature: highlight fulltext search resultsArthurHoaro2020-10-167-35/+349
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge pull request #1596 from ArthurHoaro/feature/better-rename-tagArthurHoaro2020-10-164-47/+49
|\ \ | | | | | | Improve Manage tags page
| * | Improve Manage tags pageArthurHoaro2020-10-164-47/+49
|/ / | | | | | | Fixes #1125
* | Merge pull request #1593 from ArthurHoaro/fix/no-url-rewritingArthurHoaro2020-10-1615-16/+41
|\ \
| * | Doc: typoArthurHoaro2020-10-161-1/+1
| | |
| * | Inject ROOT_PATH in plugin instead of regenerating it everywhereArthurHoaro2020-10-167-9/+14
| | |
| * | Support using Shaarli without URL rewritingArthurHoaro2020-10-1610-11/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | Merge pull request #1592 from ArthurHoaro/fix/strict-type-dailyArthurHoaro2020-10-162-3/+3
|\ \ \ | |_|/ |/| | Strict types: fix an issue in daily where the date could be an int
| * | Strict types: fix an issue in daily where the date could be an intArthurHoaro2020-10-162-3/+3
| |/
* | Merge pull request #1591 from ArthurHoaro/doc/server-conf-php-vArthurHoaro2020-10-151-2/+4
|\| | | | | Doc: add PHP 7.4 and 8.0 as supported version
| * Doc: add PHP 7.4 and 8.0 as supported versionArthurHoaro2020-10-151-2/+4
|/
* Merge pull request #1583 from ArthurHoaro/feature/bookmark-strict-typesArthurHoaro2020-10-1319-285/+209
|\ | | | | Add strict types for bookmarks management
| * Add strict types for bookmarks managementArthurHoaro2020-10-1319-285/+209
|/ | | | | | | | 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.
* Merge pull request #1570 from ArthurHoaro/feature/datastore-mutexArthurHoaro2020-10-1326-63/+218
|\ | | | | Add mutex on datastore I/O operations
| * Add mutex on datastore I/O operationsArthurHoaro2020-10-1326-63/+218
|/ | | | | | To make sure that there is no concurrent operation on the datastore file. Fixes #1132
* Merge pull request #1540 from ArthurHoaro/fix/metadata-regexesArthurHoaro2020-10-132-2/+93
|\ | | | | Improve regex to extract HTML metadata (title, description, etc.)
| * Improve regex to extract HTML metadata (title, description, etc.)ArthurHoaro2020-09-032-2/+93
| | | | | | | | | | | | Also added a bunch of tests to cover more use cases. Fixes #1375
* | Merge pull request #1525 from ArthurHoaro/feature/rest-api-bookmark-datesArthurHoaro2020-10-134-8/+18
|\ \ | | | | | | REST API: allow override of creation and update dates
| * | REST API: allow override of creation and update datesArthurHoaro2020-08-294-8/+18
| | | | | | | | | | | | | | | | | | | | | Note that if they're not provided, default behaviour will apply: creation and update dates will be autogenerated, and not empty. Fixes #1223