Commit graph

193 commits

Author SHA1 Message Date
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
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
nodiscc
3a82ed09f3 Merge branch 'cleaner-searchfields' into next 2015-03-15 14:22:14 +01:00
nodiscc
9a631bab7f Merge remote-tracking branch 'ArthurHoaro/autocomplete' into next 2015-03-15 14:21:59 +01:00
nodiscc
bc66d513a9 Merge branch 'include-doc' into next 2015-03-15 14:21:33 +01:00
nodiscc
1acc87eeac Include documentation/wiki locally:
* sync current wiki (https://github.com/shaarli/Shaarli/wiki) to the doc/ directory
 * fix missing logo in README
 * add link to local documentation in the page footer
 * add Makefile targets for doc generation by @virtualtam
2015-03-14 18:40:11 +01:00
nodiscc
582b0d40df add placeholder text for search fields, change button text to magnifying glass unicode symbol 2015-03-12 21:00:50 +01:00
ArthurHoaro
bdd1715b24 Use awesomplete as autocomplete lib and remove jQuery - shaarli/Shaarli#148
* Add awesomplete dependancy (source + min + CSS)
  * Remove jQuery and jQuery-UI dependancy
  * Few CSS ajustements
  * Use tags complete list as RainTPL var (and display it as HTML)
  * Remove "disable jQuery" feature
  * Remove tag list web service
2015-03-12 20:27:16 +01:00
nodiscc
4a1a1190a6 picwall: link directly to the target URL (not the permalink) 2015-03-11 19:19:18 +01:00
Miloš Jovanović
4aca798e47 added menu div and cleaned up code 2015-03-11 19:19:04 +01:00
nodiscc
1b434b5270 tools dialog: add a 'Add Note' bookmarklet to immediatly open a note (text post) compose window
* Fixes https://github.com/shaarli/Shaarli/issues/142
 * Fixes https://github.com/sebsauvage/Shaarli/issues/59
2015-03-07 01:27:03 +01:00