Commit graph

202 commits

Author SHA1 Message Date
ArthurHoaro 7282418baa Move user.css to data folder 2017-01-14 16:43:32 +01:00
ArthurHoaro 066333c03c Fix delete button in editlink
This one was forgotten in #682
2017-01-07 11:15:30 +01:00
ArthurHoaro 01c6e32a02 Fix permalink image alignement in daily page 2017-01-05 16:16:27 +01:00
ArthurHoaro 04a0e8ea34 Updater: keep custom theme preference with the new theme setting 2017-01-05 16:16:27 +01:00
ArthurHoaro a0df06517b Minor improvements regarding #705 (coding style, unit tests, etc.) 2017-01-05 16:16:23 +01:00
Knah Tsaeb adc4aee80f Change templates set through administration UI 2017-01-05 12:04:02 +01:00
Arthur fc11ab2f29 Merge pull request #682 from ArthurHoaro/delete-button
Bugfixes on link deletion, and use a GET form
2017-01-04 16:35:29 +01:00
ArthurHoaro af815f771c Add opensearch to RSS and ATOM feeds
Fixes #709
2017-01-03 09:57:19 +01:00
ArthurHoaro db90dfcbbc Move PubSubHubbub code as a default plugin 2016-12-20 11:41:24 +01:00
ArthurHoaro 085efc33cc Add plugin placeholders in RSS and ATOM feeds templates 2016-12-20 11:32:15 +01:00
Arthur 80677a23e2 Merge pull request #666 from ArthurHoaro/slim-api
REST API structure using Slim framework
2016-12-20 11:30:05 +01:00
ArthurHoaro f4ebd5fed2 Bugfixes on link deletion, and use a GET form
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
2016-12-16 12:42:13 +01:00
ArthurHoaro 4cfe8d3303 Fixes can login function call in loginform.html
Fixes #711
2016-12-15 10:57:11 +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 cbfdcff261 Prepare settings for the API in the admin page and during the install
API settings:
   - api.enabled
   - api.secret

The API settings will be initialized (and the secret generated) with an update method.
2016-12-12 03:54:10 +01:00
Arthur 9cf93bcfc5 Merge pull request #697 from ArthurHoaro/feature/ids-bis
Link ID refactoring
2016-12-12 03:15:32 +01:00
Arthur a0d079141e Merge pull request #679 from ArthurHoaro/plugins/header
Improve theme dependent plugin placeholders:
2016-12-12 03:07:13 +01:00
ArthurHoaro 01878a75b9 Apply the new ID system accros the whole codebase 2016-12-12 03:03:12 +01:00
Arthur bea80e43a3 Merge pull request #702 from ArthurHoaro/feed-cdata
Remove new line between content tag and CDATA in ATOM feed
2016-12-05 11:18:59 +01:00
Arthur 19b3930ff3 Merge pull request #701 from ArthurHoaro/plugins/md-html-doc
Describe markdown HTML rendering and display a warning
2016-12-03 08:52:12 +01:00
ArthurHoaro 1d2cef8aef Remove new line between content tag and CDATA in ATOM feed
Content not starting directly with CDATA can be misinterpreted by some feed parsers.
2016-12-02 18:37:41 +01:00
ArthurHoaro 3d8f5cf84b Describe markdown HTML rendering and display a warning
Fixes #688
2016-12-01 12:44:37 +01:00
ArthurHoaro ba0fd80732 Improve theme dependent plugin placeholders:
- buttons_toolbar: now expect links represented by an array instead of HTML content
  - fields_toolbar: now expect a form represented by an array instead of HTML content
  - action_plugin: now expect links represented by an array instead of HTML content

Default templates updated accordingly
mprove theme dependent plugin placeholders:
2016-12-01 11:38:21 +01:00
Arthur 2a54398371 Merge pull request #700 from teromene/firefox-social-title
Show page title when sharing via Firefox Social.
2016-11-30 09:13:38 +01:00
Teromene 870541f112 Show page title when sharing via Firefox Social. 2016-11-29 11:30:37 +00:00
Teromene caa382dd55 Disable Firefox Social in the tools section if the page is not loaded using HTTPS, as Firefox will deny the request. 2016-11-29 11:06:31 +00:00
Felix Kästner 1ef05d3601 Add meta tag to block sending the referrer
Add a meta tag that tells the browser not to send the referrer header to
external sites.
2016-11-21 22:54:03 +01:00
VirtualTam dec5fe9c69 Cleanup: explicitely loop over PHP variables in templates
Relates to https://github.com/shaarli/Shaarli/issues/613

Before: {loop="someVariable"}
After:  {loop="$someVariable"}

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-10-16 17:41:08 +02:00
ArthurHoaro e3de09b4c8 Bugfix: display plugin parameter description only if it exists 2016-10-14 12:48:01 +02:00
Arthur 0354257266 Merge pull request #622 from ArthurHoaro/update-date
Save link update dates and render it in templates and feeds
2016-10-12 14:51:37 +02:00
VirtualTam 8758bb0ac8 Merge pull request #619 from ArthurHoaro/plugins/param-desc
Add a description to plugin parameters
2016-08-13 14:48:51 +02:00
VirtualTam a973afeac7 Refactor bookmark import using a generic Netscape parser
Relates to #607
Relates to #608
Relates to #493 (abandoned)

Additions:
- use Composer's autoload to load 3rd-party dependencies under vendor/

Modifications:
- [import] replace the current parser with a generic, stable parser
  - move code to application/NetscapeBookmarkUtils
  - improve status report after parsing
- [router] use the same endpoint for both bookmark upload and import dialog
- [template] update bookmark import options
  - allow adding tags to all imported links
  - allow selecting the visibility (privacy) of imported links
- [tests] ensure bookmarks are properly parsed and imported in the LinkDB
  - reuse reference input from the parser's test data

See:
- https://github.com/shaarli/netscape-bookmark-parser
- https://getcomposer.org/doc/01-basic-usage.md#autoloading

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-08-10 01:42:44 +02:00
ArthurHoaro 15ff4745ff Bugfix: enable change password if open shaarli is disabled 2016-08-06 14:38:47 +02:00
ArthurHoaro c6d876bb2a Set updated date for items in feeds
RSS doesn't support updated date for items, so we use the ATOM extension.
Updated dates also bump the global update
2016-08-03 09:54:57 +02:00
ArthurHoaro 9646b7da22 Save the update date in LinkDB and pass it to linklist templates
It can be used as a timestamp by templates under the key 'updated_timestamp'.
2016-08-03 09:44:04 +02:00
ArthurHoaro 1442afe3cf Plugin parameter description: Update the templates to display them 2016-08-02 11:12:05 +02:00
ArthurHoaro 2e193ad387 Fix variable in configure.php 2016-07-10 10:42:21 +02:00
Arthur 649af5b501 Merge pull request #570 from ArthurHoaro/config-manager
Introduce a configuration manager
2016-07-09 07:19:48 +02:00
nodiscc c3599302aa Firefox Share: Use selected text as description
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Social_API/Share
2016-06-12 15:10:31 +02:00
ArthurHoaro da10377b3c Rename configuration keys and fix GLOBALS in templates 2016-06-11 09:30:56 +02:00
ArthurHoaro b74b96bfbd Adds ConfigJson which handle the configuration in JSON format.
Also use the Updater to make the transition
2016-06-11 09:30:56 +02:00
ArthurHoaro 684e662a58 Replace $GLOBALS configuration with the configuration manager in the whole code base 2016-06-11 09:30:56 +02:00
ArthurHoaro 823a363c3b Configuration template indenting 2016-06-11 09:30:56 +02:00
Arthur 3fdcc7bd47 Merge pull request #560 from ArthurHoaro/nb-private-shaare
Private links counter in the header
2016-05-14 11:11:11 +02:00
Arthur 52ccf0d7ee Merge pull request #556 from ArthurHoaro/login-refill
Prefill the login field when the authentication has failed
2016-05-14 11:09:39 +02:00
ArthurHoaro 141a86c503 Add private link counter 2016-05-13 08:48:23 +02:00
Arthur d95533778d Merge pull request #557 from ArthurHoaro/remove-delicious
Remove delicious from Shaarli description
2016-05-10 20:11:41 +02:00
ArthurHoaro 70860f30d5 Remove delicious from Shaarli description 2016-05-08 18:58:59 +02:00
ArthurHoaro 85c4bdc235 Prefill the login field when the authentication has failed 2016-05-06 20:03:10 +02:00
ArthurHoaro dbcd06e988 Reindent the login template 2016-05-06 19:58:19 +02:00
VirtualTam bb4a23aa86 Export: allow prepending notes with the Shaarli instance's URL
Relates to #102

Additions:
- application:
  - export: allow prepending note permalinks with the instance's URL
  - test coverage

Modifications:
- export template: switch to an HTML form
  - link selection (all/private/public)
  - prepend note permalinks with the instance's URL

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-05-06 16:12:46 +02:00
VirtualTam cd5327bee8 Refactor Netscape bookmark exporting
Relates to https://github.com/shaarli/netscape-bookmark-parser/issues/5

Fixes:
- respect the Netscape bookmark format "specification"

Modifications:
- [application] introduce the NetscapeBookmarkUtils class
- [template] export           - improve formatting, rename export selection parameter
- [template] export.bookmarks - template for Netscape exports
- [tests] bookmark filtering, additional field generation

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-04-10 21:28:04 +02:00
ArthurHoaro b0128609f4 Fixes #526: bad font size separator in tagcloud with some locale
* Force the number format with number_format().
      * Reduce the size deciment number to 2.
2016-03-31 18:01:05 +02:00
ArthurHoaro d4542fdb0d Reword the ENABLE_RSS_PERMALINKS in the settings. 2016-03-18 19:13:48 +01:00
ArthurHoaro 5f8e6ebc6a Adds a RSS template file
Improvements:

  * Add searchtags in categories domain URL.
  * Language is now based on the locale.
  * Add a generator tag.
  * self link is always displayed.
2016-03-18 19:13:48 +01:00
ArthurHoaro 56e8ea2089 Create a template to handle ATOM feed
ATOM feed improvement:

  * Adds a subtitle to match RSS feed behavior.
  * Better syntax for categories (see http://edward.oconnor.cx/2007/02/representing-tags-in-atom ).
  * Use locale to set the language
2016-03-18 19:13:48 +01:00
Arthur c6744a9e89 Merge pull request #496 from ArthurHoaro/cross-search
Allow crossed search between terms and tags
2016-02-28 14:26:46 +01:00
ArthurHoaro c51fae92dc Allow crossed search between terms and tags
* Partial fix of #449
  * Current use case: search term + click on tag.
  * LinkFilter now returns all links if no filter is given.
  * Unit tests.
2016-02-28 14:17:40 +01:00
Nicolas Danelon dc71701cb4 Fixes #494: inputs & labels with plugin name 2016-02-23 10:48:35 -03:00
VirtualTam 205a42778d cleanup: use DateTime to format dates
Closes #270

Modifications:
- replace custom date parsing by DateTime calls
- use proper date formatting for RSS feeds

Deletions:
- linkdate2timestamp()
- linkdate2rfc822
- linkdate2iso8601

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-02-17 22:46:50 +01:00
ArthurHoaro dea0ba28f9 Fixes #378 - Plugin administration UI. 2016-01-31 18:54:48 +01:00
nodiscc abe330b5e9 fix whitespace 2016-01-22 17:24:15 +01:00
Arthur db36b8812d Merge pull request #444 from dimtion/404_template
Create 404 template
2016-01-21 19:27:00 +01:00
Dimtion f4c84ad7fc Create 404 template
Solve #430 for links
2016-01-20 22:52:28 +01:00
ArthurHoaro 55d0a5c445 Bugfix: prevent LinkFilter to work on outdated data. 2016-01-20 22:51:56 +01:00
VirtualTam fc17813bd1 tests: add a make target to check file permissions
Additions:
- [makefile] check versioned files are not executable
- [travis]   call the new make target

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2016-01-17 21:02:24 +01:00
ArthurHoaro eefb636cea Fixes a bug preventing to remove a tag with special chars when searching 2016-01-06 19:54:44 +01:00
ArthurHoaro 822bffced8 Link filter refactoring
* introduce class LinkFilter to handle link filter operation (and lighten LinkDB).
  * handle 'private only' in filtering.
  * update template to prefill search fields with current search terms.
  * coding style.
  * unit test (mostly move from LinkDB to LinkFilter).

PS: preparation for #358 #315 and 'AND' search.
2016-01-06 19:53:04 +01:00
VirtualTam 2f3e74090a Merge pull request #408 from ArthurHoaro/gototop
Adding a new placeholder in render_footer hook.
2015-12-09 00:55:52 +01:00
ArthurHoaro 40a5f296a6 Adding a new placeholder in render_footer hook.
Allow free elements at the end of the page.
2015-12-08 16:02:46 +01:00
VirtualTam b16e3dc590 Merge pull request #393 from ArthurHoaro/tools-js-indent
Minimal indent of tools.html
2015-12-07 21:48:57 +01:00
ArthurHoaro 0504659db7 Minimal indent of tools.html 2015-12-07 10:58:22 +01:00
VirtualTam 4407b45fd3 application: default to the "stable" branch for update checks
Relates to #372
Relates to #390

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2015-11-27 00:10:43 +01:00
ArthurHoaro 90e5bd65c9 URL encode links when a redirector is set.
Fixes #328 - URL encode links when a redirector is set

  * WARNING - template edit - new variable available : "real_url"
  Contains the final real url (redirected or any other change on original URL)

  * Don't redirect shaares link in RSS/Atom.
  * Affects links shaared in description.
  * Move text2clickable and keepMultipleSpaces to Utils.php + unit test

UPDATE:

* keepMultipleSpaces renamed to space2nbsp
* space2nbsp improved to handle single space at line beginning
* links in text description aren't 'nofollow' anymore
2015-11-26 20:14:38 +01:00
VirtualTam 98348200e3 Merge pull request #377 from ArthurHoaro/search-tag-autocomplete
Fixes #360 - Auto-complete more than one tag in tag filter field
2015-11-22 23:22:17 +01:00
ArthurHoaro 8f8113b94b Fixes #176 - Add opensearch functionality
* add a new page in Router: do=opensearch which displays the opensearch plugin
 * using base64 compressed image to avoid issue encountered with HTTPS
2015-11-17 20:19:44 +01:00
ArthurHoaro b39b1bc2ee Fixes #360 - Auto-complete more than one tag in tag filter field
* Group awesomplete for multi data in a single JS file.
  * Use it in editlink and linklist.
  * Move awesomplete JS lib at the end of page in editlink.
2015-11-17 20:03:21 +01:00
ArthurHoaro 056107ab4e Handle errors raised by plugins in template. fixes #370 2015-11-08 13:22:44 +01:00
ArthurHoaro 567967fdf9 Template upgrade to handle plugin zones
Add a bunch of plugin placeholders in templates
2015-11-07 15:27:22 +01:00
Knah Tsaeb bb2948c52a [fix] #293
Black thumbnails on picture wall after upgrade #293
2015-07-22 10:39:23 +02:00
Arthur 7bd3542b1b Merge pull request #262 from ArthurHoaro/dup-tags
Avoid tag duplicates
2015-07-12 11:01:24 +02:00
ArthurHoaro 781e8aadea Avoid tag duplicates
* Prevent duplicate client side with awesomplete
 * Prevent duplicate server side (save_edit processing)

Fixes #261
2015-07-12 10:34:29 +02:00
ArthurHoaro f3b8f9f0f8 Include the whole <item> in dailyRSS
Allow custom date format and title in templates.

Also a bit of code style review.

Fixes #182
2015-07-11 10:25:25 +02:00
nicolasm eae648d4fd duplicated id removed 2015-06-26 21:58:07 +02:00
ArthurHoaro 5f85fcd863 Working on shaarli/Shaarli#224
I reviewed character escaping everywhere with the following ideas:

  * use a single common function to escape user data: `escape` using `htmlspecialchars`.
  * sanitize fields in `index.php` after reading them from datastore and before sending them to templates.
  	It means no escaping function in Twig templates.
    2 reasons:
    * it reduces risks of security issue for future user made templates
    * more readable templates
  * sanitize user configuration fields after loading them.
2015-06-23 16:35:36 +02:00
nodiscc 0923a2bc1b add tabindex 1/2 to search and tags fields 2015-06-23 15:32:45 +02:00
nodiscc 4a5827ff5a Merge remote-tracking branch 'ArthurHoaro/daily-date' into next 2015-06-23 15:07:03 +02:00
nodiscc adb1d6c213 Merge remote-tracking branch 'nicolasdanelon/master' into next 2015-06-23 15:03:01 +02:00
nda f30aa976e1 login enhance for mobile 2015-06-19 17:37:38 -03:00
ArthurHoaro 4de71445d3 Daily page: date format in template
It only concerns the date of the day in the main title.

Fixes #182

Note that daily RSS feed is not generated through templates. Date are still hard formatted in that case.
2015-06-19 20:23:58 +02:00
ArthurHoaro 65d6251744 Add awesomplete to tag search shaarli/Shaarli#49 2015-06-09 14:23:28 +02:00
Marsup d33c5d4c3b Add Firefox Social API to the tools. Fixes #101. 2015-05-15 16:18:54 +00:00
nodiscc caee7ff9cc change wording and variable names for "Hide public links" feature 2015-04-10 20:52:12 +02:00
nodiscc 0c45b01cc2 Merge remote-tracking branch 'pikzen/disable-public' into next 2015-04-10 20:30:33 +02:00
feula 8fa1ebd605 Allow disabling all public links, fixes #188 2015-04-09 18:13:11 +02:00
nodiscc b84c913f7f doc: point footer link to local html documentation 2015-04-05 22:39:34 +02:00
nodiscc 3139a6cf8d Fix php error in daily RSS
Use of undefined constant htmlspecialchars - assumed 'htmlspecialchars' in /var/www/links/tmp/dailyrss.*
    Thanks @alexisju in bec1870180
2015-03-31 20:02:50 +02:00
ArthurHoaro bec1870180 Define date format in templates instead of index.php. 2015-03-31 13:19:07 +02:00
nodiscc 5b2a7cfe0f Revert to non-unicode characters for search buttons
* Fixes #172
2015-03-16 16:13:04 +01:00
nodiscc b4b7d3343a Merge branch 'picwall-direct-link' into next 2015-03-15 14:24:51 +01:00