aboutsummaryrefslogtreecommitdiffhomepage
path: root/application
Commit message (Collapse)AuthorAgeFilesLines
* History mechanismArthurHoaro2017-03-213-1/+188
| | | | | | | | | | | Use case: rest API service * saved by default in data/history * same format as datastore.php * traced events: * save/edit/delete link * change settings or plugins settings * rename tag
* Move database read/write to FileUtils class + additional unit testsArthurHoaro2017-03-213-39/+89
|
* Merge pull request #804 from ArthurHoaro/feature/atom-defaultArthurHoaro2017-03-213-2/+19
|\ | | | | Fixes #304: use atom feed as default
| * Fixes #304: use atom feed as defaultArthurHoaro2017-03-113-2/+19
| | | | | | | | RSS feed is still available with the setting set to false
* | Proper error if the conf file is invalid instead of fatal errorArthurHoaro2017-03-122-3/+13
| | | | | | | | | | | | | | | | Error: An error occurred while parsing configuration JSON 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.
* | Merge pull request #779 from ArthurHoaro/feature/import-parser-logsArthurHoaro2017-03-111-9/+25
|\ \ | |/ |/| Link imports are now logged in `data/` folder, and can be debug using…
| * Fix namespace issueArthurHoaro2017-03-101-0/+1
| |
| * Link imports are now logged in `data/` folder, and can be debug using ↵ArthurHoaro2017-03-101-9/+24
| | | | | | | | | | | | `dev.debug=true` setting related to #741 and #681
* | Fix #773: set Piwik URL protocolArthurHoaro2017-03-111-0/+17
|/
* Move config exception to dedicated classes with proper namespaceArthurHoaro2017-03-093-33/+44
|
* Fix blocking namespace issueArthurHoaro2017-03-082-15/+19
|
* Fix autoLocale error and cover it with unit testsArthurHoaro2017-03-071-13/+21
|
* Improve datetime displayArthurHoaro2017-03-061-20/+52
| | | | | | | | | | Use php-intl extension to display datetimes a bit more nicely, depending on the locale. What changes: * the day is no longer displayed * day number and month are ordered according to the locale * the timezone is more readable (UTC+1 instead of CET)
* Improve autoLocale() detectionArthurHoaro2017-03-061-9/+42
| | | | | | - Creates arrays_combination function to cover all cases - add the underscore separator in the regex - add `utf8` encoding in addition to `UTF-8`
* application: introduce the Shaarli\Config namespaceVirtualTam2017-03-047-15/+18
| | | | | | | | | | | 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>
* Add markdown_escape settingArthurHoaro2017-02-281-0/+23
| | | | | | | | | | | | | This setting allows to escape HTML in markdown rendering or not. The goal behind it is to avoid XSS issue in shared instances. More info: * the setting is set to true by default * it is set to false for anyone who already have the plugin enabled (avoid breaking existing entries) * improve the HTML sanitization when the setting is set to false - but don't consider it XSS proof * mention the setting in the plugin README
* Set the vintage theme by default for the time beingArthurHoaro2017-02-271-0/+14
|
* REST API: implements getLink by ID serviceArthurHoaro2017-02-192-2/+55
| | | | See http://shaarli.github.io/api-documentation/#links-link-get
* Merge pull request #769 from ArthurHoaro/api/getlinks-visibilityArthurHoaro2017-02-131-3/+2
|\ | | | | REST API - getLinks: support the visibility parameter
| * REST API - getLinks: support the visibility parameterArthurHoaro2017-01-171-3/+2
| |
* | Fixes #775: LinkDB do not access LinkDB before ID system migrationArthurHoaro2017-02-041-15/+15
|/ | | | | | To access LinkDB items with its ArrayAccess implementation, the IDs must be consistent, which isn't the case before `updateMethodDatastoreIds()` execution. v0.6.4 method `updateMethodRenameDashTags()` was accessing it, so an upgrade <0.6.4 to >0.8.x was failing. This just move the minor update `RenameDashTags` after the IDs update.
* Update LinkFilter to be able to filter only public linksArthurHoaro2017-01-163-27/+42
| | | | | | No update regarding the UI or the API for now Fixes #758
* Merge pull request #727 from ArthurHoaro/api/getlinksArthurHoaro2017-01-152-0/+117
|\ | | | | REST API: implement getLinks service
| * REST API: implement getLinks serviceArthurHoaro2017-01-152-0/+117
| | | | | | | | See http://shaarli.github.io/api-documentation/#links-links-collection-get
* | API: expect JWT in the Authorization headerVirtualTam2017-01-151-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Relates to https://github.com/shaarli/Shaarli/pull/731 Added: - require the presence of the 'Authorization' header Changed: - use the HTTP Bearer Token authorization schema See: - https://jwt.io/introduction/#how-do-json-web-tokens-work- - https://tools.ietf.org/html/rfc6750 - http://security.stackexchange.com/q/108662 Signed-off-by: VirtualTam <virtualtam@flibidi.net>
* | Move user.css to data folderArthurHoaro2017-01-141-0/+16
| |
* | Cleanup: use safe boolean comparisonsVirtualTam2017-01-073-3/+5
| | | | | | | | Signed-off-by: VirtualTam <virtualtam@flibidi.net>
* | Merge pull request #732 from ArthurHoaro/feature/theme-managerArthur2017-01-065-1/+66
|\ \ | | | | | | Theme manager: improvements
| * | Updater: keep custom theme preference with the new theme settingArthurHoaro2017-01-053-20/+62
| | |
| * | Minor improvements regarding #705 (coding style, unit tests, etc.)ArthurHoaro2017-01-053-11/+21
| | |
| * | Change templates set through administration UIKnah Tsaeb2017-01-055-2/+15
| |/
* | Cleanup: explicit method visibilityVirtualTam2017-01-054-10/+10
| | | | | | | | Signed-off-by: VirtualTam <virtualtam@flibidi.net>
* | Cleanup: remove unused variablesVirtualTam2017-01-051-4/+0
| | | | | | | | Signed-off-by: VirtualTam <virtualtam@flibidi.net>
* | API: fix JWT signature verificationVirtualTam2017-01-042-7/+39
|/ | | | | | | | | | | | | | | | | | | | | | 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>
* Merge pull request #682 from ArthurHoaro/delete-buttonArthur2017-01-041-0/+6
|\ | | | | Bugfixes on link deletion, and use a GET form
| * Bugfixes on link deletion, and use a GET formArthurHoaro2016-12-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Use a GET form to delete links: harmonize with edit_link and preparation for #585 Bug fixes: * LinkDB element can't be passed as reference, fix error: PHP Notice: Indirect modification of overloaded element of LinkDB has no effect * Resource cache folder setting wasn't set correctly
* | Merge pull request #733 from ArthurHoaro/hotfix/reverse-proxy-portArthur2017-01-041-2/+10
|\ \ | | | | | | Hide default ports in local URL behind a reverse proxy
| * | Hide default port in local URL behind a reverse proxyArthurHoaro2017-01-031-2/+10
| | |
* | | URL cleanup: add 'campaign_' to the annoying parametersVirtualTam2017-01-041-1/+4
|/ / | | | | | | | | | | Closes https://github.com/shaarli/Shaarli/issues/735 Signed-off-by: VirtualTam <virtualtam@flibidi.net>
* | Fixes presence of empty tags for private tags and in search resultsArthurHoaro2017-01-032-1/+14
| | | | | | | | | | | | | | * Private tags: make sure empty tags are properly filtered * Search results: * Use preg_split instead of function combination * Add normalize_spaces to remove extra whitespaces displaying empty tags search
* | Move PubSubHubbub code as a default pluginArthurHoaro2016-12-201-16/+0
| |
* | REST API structure using Slim frameworkArthurHoaro2016-12-159-1/+431
| | | | | | | | | | | | * REST API routes are handle by Slim. * Every API controller go through ApiMiddleware which handles security. * First service implemented `/info`, for tests purpose.
* | Prepare settings for the API in the admin page and during the installArthurHoaro2016-12-122-0/+49
|/ | | | | | | | API settings: - api.enabled - api.secret The API settings will be initialized (and the secret generated) with an update method.
* Add a persistent 'shorturl' key to all linksArthurHoaro2016-12-127-7/+32
| | | | | | | All existing link will keep their permalinks. New links will have smallhash generated with date+id. The purpose of this is to avoid collision between links due to their creation date.
* Apply the new ID system accros the whole codebaseArthurHoaro2016-12-124-43/+31
|
* Update method to use the new ID system, which replaces linkdate primary keys.ArthurHoaro2016-12-121-2/+44
| | | | | creation and update dates are now DateTime objects. Since this update is very sensitve (changing the whole database), the datastore will be automatically backed up into the file datastore.<datetime>.php.
* Link ID refactoringArthurHoaro2016-12-121-43/+135
| | | | | | | | | Links now use an incremental unique numeric identifier. This ID is persistent and must never change. ArrayAccess is used to match the link ID with the array keys (see the comment in LinkDB for more details) Key 'created' added, with creation date as a DateTime object. 'updated' is now also a DateTime.
* .htaccess files: support Apache 2.4+ syntaxArthurHoaro2016-11-081-2/+13
| | | | | | | | | | | | | | | If `mod_version` is enabled, the previous syntax will apply for Apache <2.4. If not, the new syntax is used by default. Fixes #676 `mod_version` identifier is `version_module` across all Apache versions. See: * https://httpd.apache.org/docs/current/mod/mod_version.html * https://httpd.apache.org/docs/2.2/mod/mod_version.html * https://serverfault.com/questions/733910/how-do-i-load-mod-version-only-if-it-isnt-built-in-to-apache Note that version_module comes built-in with Debian (and derivatives) Apache2 packages, see https://wiki.debian.org/Apache/PackagingFor24
* Merge pull request #673 from virtualtam/cleanup/linkdbVirtualTam2016-10-213-79/+79
|\ | | | | LinkDB: code cleanup
| * LinkDB: explicit method visibilityVirtualTam2016-10-201-6/+6
| | | | | | | | | | | | Relates to https://github.com/shaarli/Shaarli/issues/95 Signed-off-by: VirtualTam <virtualtam@flibidi.net>