Commit graph

409 commits

Author SHA1 Message Date
nodiscc
a5fbc689f8 Remove merge conflict leftover
Fixes #900
2017-07-11 14:30:14 +02:00
nodiscc
53ed6d7d1e Generate HTML documentation using MkDocs (WIP)
MkDocs is a static site generator geared towards building project documentation.
Documentation source files are written in Markdown, and configured with a single YAML file.

 * http://www.mkdocs.org/
 * http://www.mkdocs.org/user-guide/configuration/

Ref. #312

* remove pandoc-generated HTML documentation
* move markdown doc to doc/md/,
* mkdocs.yml:
  * generate HTML doc in doc/html
  * add pages TOC/ordering
  * use index.md as index page
* Makefile: remove execute permissions from generated files
* Makefile: rewrite htmlpages GFM to markdown conversion using sed:
   awk expression aslo matched '][' which causes invalid output on complex links with images or code blocks
* Add mkdocs.yml to .gitattributes, exclude this file from release archives
* Makefile: rename: htmldoc -> doc_html target
* run make doc: pull latest markdown documentation from wiki
* run make htmlpages: update html documentation
2017-06-18 00:19:49 +02:00
ArthurHoaro
8eb6bac137 Fix Firefox Social button in the default theme
is no longer required since the JS function is now in .
Also, include the trailing slash in the post URL.

Fixes #895
2017-06-11 14:09:42 +02:00
Lucas Cimon
49cc8e5d74 Tagcloud/list improvments 2017-06-09 10:58:12 +02:00
Lucas Cimon
9bf82f4fa1 Fixing "Uncaught TypeError" in shaarli.js - fix #893 2017-06-07 16:10:24 +02:00
ArthurHoaro
5c6fac0bfc Merge pull request #882 from ArthurHoaro/feature/edit-timestamp
Add creation date when editing a link
2017-05-31 17:54:46 +02:00
ArthurHoaro
807cade64c Add creation date when editing a link
Also, alter the title on edition

Fixes #431
2017-05-31 17:50:11 +02:00
ArthurHoaro
268309df5d Merge pull request #884 from ArthurHoaro/hotfix/bookmarklet-url-limit
Selection is now limited to 2k characters using bookmarklets
2017-05-31 17:44:19 +02:00
ArthurHoaro
e2bcb9d915 Bookmarklet size limit: increase to 4500 chars and add an alert warning 2017-05-28 13:13:31 +02:00
ArthurHoaro
d6aec9e60b Selection is now limited to 2k characters using bookmarklets
to avoid having too large URL

Fixes #528
2017-05-25 16:45:08 +02:00
ArthurHoaro
acadb0801f Display visited links in grey
Fixes #244
2017-05-25 16:30:37 +02:00
ArthurHoaro
3e395a6bc6 Merge pull request #841 from ArthurHoaro/feature/search-no-tag
Empty tag search will look for not tagged links
2017-05-25 15:54:20 +02:00
ArthurHoaro
b2e2aa42e2 Merge pull request #881 from ArthurHoaro/feature/note-bookmarklet
Add Note bookmarklet #580
2017-05-25 15:51:48 +02:00
ArthurHoaro
7d86f40bdb Empty tag search will look for not tagged links
Fixes #784

From now, searching for tags with an empty value will return only not tagged links,
with the search bar showing `x results [not tagged]`.

Note that using the api, the searchtags request parameter must be set to `false` to get the same result.

  - [ ] Update API doc
2017-05-25 15:51:12 +02:00
philipp-r
bb8cf6d362 Add Note bookmarklet #580 2017-05-25 15:34:26 +02:00
ArthurHoaro
82e3bb5f06 Tag list: use awesomplete for tag auto completion 2017-05-25 15:25:04 +02:00
ArthurHoaro
aa4797ba36 Adds a taglist view with edit/delete buttons
* The tag list can be sort alphabetically or by most used tag
  * Edit/Delete are perform using AJAX, or fallback to 'do=changetag' page
  * New features aren't backported to vintage theme
2017-05-25 15:25:04 +02:00
ArthurHoaro
bc988eb042 Add a token available everywhere 2017-05-25 15:05:24 +02:00
ArthurHoaro
5893529cf4 Move tagcloud template file to tag.cloud 2017-05-25 15:05:24 +02:00
ArthurHoaro
8b27824338 Merge pull request #819 from ArthurHoaro/feature/multi-delete
Bulk deletion
2017-05-25 15:03:32 +02:00
Lucas Cimon
6ccd0b218f Adding ability to display subtags in tagcloud 2017-05-24 13:09:35 +02:00
kalvn
105fb7a2a0 Fixes file existence check for user.css 2017-05-09 19:09:33 +02:00
ArthurHoaro
638364987a Bulk deletion: remove JS ES6 syntax 2017-05-08 14:28:19 +02:00
ArthurHoaro
29a837f347 Bulk deletion
* Add a checkboxes in linklist which display a sub-header containing action buttons
  * Strongly rely on JS
  * Requires a modern browser (ES6 syntax support)
  * Checkboxes are hidden if the browser is old or JS disabled
2017-05-08 14:27:20 +02:00
ArthurHoaro
6177f3206e Rename title link label to home link and apply it in vintage theme
Related to #853
2017-05-03 19:16:40 +02:00
ArthurHoaro
a271c5f34f Merge pull request #852 from ArthurHoaro/theme/install-password
Theme: use a password type field during the install
2017-04-25 19:11:24 +02:00
ArthurHoaro
4c7045229c Merge pull request #830 from ArthurHoaro/theme/timezone
Change timezone data structure send to the templates
2017-04-25 19:09:13 +02:00
ArthurHoaro
0934f795d3 Theme: use a password type field during the install 2017-04-25 19:06:23 +02:00
ArthurHoaro
6a19124a09 Use raw bytes for upload size hidden input 2017-04-10 20:01:10 +02:00
ArthurHoaro
49bc541d79 Apply the new timezone template variables to the vintage theme 2017-04-04 18:44:24 +02:00
ArthurHoaro
a07373135e Apply the new timezone template variables to the default theme 2017-04-04 18:44:20 +02:00
ArthurHoaro
84315a3bad Fix a warning generated in return_bytes function and refactor it
It was multiplying a string containing a letter.

Moved function to Utils.php and display a human readable limit size
2017-04-03 18:53:43 +02:00
ArthurHoaro
81bd104daa Theme: use format_date function for daily date 2017-03-28 20:43:30 +02:00
ArthurHoaro
0040058da6 Theme: JS - Fix a bug preventing edit margin suppression to work
Explanation: an ID with a leading digit isn't a valid CSS selector
2017-03-27 19:17:49 +02:00
ArthurHoaro
ad5c757066 Theme: change global font to Roboto and include bold variant
Fixes #822
2017-03-24 18:49:45 +01:00
ArthurHoaro
76be95e199 Add API setting in the new theme during the installation
Also use the same variable name across template files
2017-03-22 19:58:22 +01:00
ArthurHoaro
c4c655d9bf Merge pull request #804 from ArthurHoaro/feature/atom-default
Fixes #304: use atom feed as default
2017-03-21 20:10:49 +01:00
ArthurHoaro
8294195677 Theme: display shaarli version in the footer when logged in
Fixes #778
2017-03-12 14:52:44 +01:00
ArthurHoaro
6e0a1310a2 Merge pull request #811 from ArthurHoaro/theme/awesomplete-overflow
Fixes #806: display overflow for awesomplete list
2017-03-12 13:52:35 +01:00
ArthurHoaro
7cea7c7a9a Theme: Vertical align theme select in configure
Fixes #807
2017-03-12 13:42:21 +01:00
ArthurHoaro
15162272f4 Fixes #806: display overflow for awesomplete list 2017-03-12 13:28:37 +01:00
ArthurHoaro
b9b41d25e3 Remove inline JS and add LibreJS headers in JS files
Fixes #33 (wow!)
Relates to #395
2017-03-12 12:45:32 +01:00
ArthurHoaro
c4f8360240 Merge pull request #803 from ArthurHoaro/feature/awesomplete-autofirst
Fixes #657: use data-autofirst parameter for awesomeplete
2017-03-11 14:20:55 +01:00
ArthurHoaro
6fcb443787 Fixes #793: display the star logo on mobile instead of home logo 2017-03-11 14:19:59 +01:00
ArthurHoaro
2ea89aba4f Fixes #304: use atom feed as default
RSS feed is still available with the  setting set to false
2017-03-11 14:13:58 +01:00
ArthurHoaro
792b26789f Fixes #657: use data-autofirst parameter for awesomeplete
data-autofirst automatically selects the first item of the list of choice automatically. You just have to press enter to use it.
2017-03-11 13:48:47 +01:00
ArthurHoaro
07b57cfef9 Prevent git from messing with font files
This should remove font related errors in browser debig consoles
2017-03-09 19:41:32 +01:00
ArthurHoaro
9c5daad19c Merge pull request #792 from ArthurHoaro/feature/private-filter-visual
Display private only filter as search criteria
2017-03-09 19:15:47 +01:00
ArthurHoaro
7c26f6626a Display private only filter as search parameter 2017-03-08 19:57:15 +01:00
ArthurHoaro
2dd698fd79 Submit editlink textarea using CTRL+Enter shortcut 2017-03-08 18:59:54 +01:00
ArthurHoaro
52b503105d Improve datetime display
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)
2017-03-06 21:11:12 +01:00
ArthurHoaro
7040169069 Multiple minor improvements and bugfixes regarding the new templates:
* Add API settings in `configure.html`
  * Fix textarea autoresize
  * Load user.css from data folder
  * Move fold/expand all button to the right and fix an issue with already folded items
  * Reset datetime display to international datetime
  * Temporarilly remove JS login panel (need improvement and integration with the plugin system)
  * Body background is slightly lighter
  * Fix an issue where thumbnails were hidden by description
  * Fix an issue where private orange bar wasn't displayed with thumbnails
  * Remove the gradient bar behind titles
  * Fix empty bookmarklet name in Firefox
2017-02-27 20:01:54 +01:00
ArthurHoaro
402b034648 Introduce the new default Shaarli template 2017-02-27 20:01:54 +01:00
ArthurHoaro
009ce93581 Move default template to vintage folder 2017-02-27 20:01:54 +01:00
Christophe HENRY
b848615c52 Removes spaces before and after bookmarklet's name
Carriage returns turns into space in some cases. The name of the
bookmarklet, once in the browser bookmarks, is surrounded by spaces.
2017-02-22 20:01:40 +01:00
ArthurHoaro
b87442f216 Stay on the changetag page after tag deletion
+ fix changetag CSS alignement

relates to #756
2017-01-16 13:16:03 +01:00
ArthurHoaro
5fbab3edb3 Merge pull request #746 from ArthurHoaro/hotfix/delete-button
Fix delete button in editlink
2017-01-15 14:01:47 +01:00
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
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
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
nodiscc
3a10fa0e3f fix broken URL for user.css 2015-03-05 18:14:25 +01:00
nodiscc
a056d988e7 fix broken CSS file URL introduced in 1f7f8ce067 2015-03-05 13:54:00 +01:00
nodiscc
1f7f8ce067 cleanup: remove version number from CSS links
* fixes https://github.com/shaarli/Shaarli/issues/134
2015-03-05 13:43:53 +01:00
ArthurHoaro
34047d23fb Lazy load images with the light lib bLazy.js instead of jQuery:
* Remove jquery.lazyload lib
  * Add blazy lib
  * Add a bit of CSS animation
  * Delete unused picwall2 template
2015-03-01 11:23:03 +01:00
ArthurHoaro
329e076879 shaarli/Shaarli#34: Make update check optional
* Add a check box at installation (checked by default)
  * Add a check box in configuration page
2015-02-20 22:49:41 +01:00
nodiscc
225eff62a1 fix broken reset.css URL introduced in a6e0134 2015-02-17 20:58:11 +01:00
nodiscc
a6e0134d07 Fix missing authors and licenses in COPYING
* add idleman for original CSS
 * add yahoo inc. for CSS reset
 * split the main css code and the yahoo reset CSS in 2 files
 * add copyright information for RainTPL, add LGPL license
2015-02-14 13:49:00 +01:00
nodiscc
e6ea0f9653 Update README and Shaarli's footer
* remove version number display from main page
 * update project URL in footer, fixes https://github.com/shaarli/Shaarli/issues/89
 * update copyright notice in the footer
 * mention origins of the fork in README, fixes https://github.com/shaarli/Shaarli/issues/105
 * update License section in the README
 * remove screenshots as mediacru.sh is down
2015-02-14 13:48:39 +01:00
Florian Eula
ed5b38ddd2 Feature: enable/disable permalinks for RSS
The option to see the shortlinks or permalinks has been added to the configuration panel. It is a simple checkbox
This option is disabled by default (meaning that shortlinks are the default)
Updated writeConfig() to save this option
Also fixed a slight typo in config.html.

Removed useless CSS & fixed a comment

Enabled permalinks for the ATOM feed and fixed the isPermaLink attribute for the <guid> tag

Reverted to default behavior and clarified its meaning
EnableRssPermalinks is an oddly behaving option: when enabled, it shows a
permalink in the description and a full link in the element title, and
swaps it around when disabled. This clarifies the option for end-users
Also, moved enable_rss_permalinks to $GLOBALS['config'] because it is a
config option.

fix indent
2015-02-07 03:21:30 +01:00
nodiscc
4e7b1bf698 Merge pull request #99 from pikzen/license-version
Versioned JS files & centralized licenses
2015-01-26 13:41:06 +01:00
nodiscc
852613dece Merge pull request #100 from virtualtam/daily-timestamp
daily: display link timestamps
2015-01-26 13:40:37 +01:00
feula
8e0ad1d920 Versioned JS files & centralized licenses
Updated libraries
Updated copyright dates and the list of contributors.

Added unminified sources for GPL compliance
2015-01-21 11:46:50 +01:00
VirtualTam
04751e0441 w3c: fix HTML syntax errors
Fixes #64

All pages:
- add `urlencode` when passing the version to a custom stylesheet;
- set meaningful values of `alt` and `title` for QR-Code images.

Install page:
- the form's `action` attribute must be non-empty;
- the `valign` attribute is deprecated.

Signed-off-by: VirtualTam <virtualtam@flibidi.org>
2015-01-20 02:53:53 +01:00
VirtualTam
38a2d03e34 daily: display link timestamps
Fixes #26

Signed-off-by: VirtualTam <virtualtam@flibidi.org>
2015-01-15 00:05:26 +01:00
ArthurHoaro
fe16b01edb * removed the language attribute on the script element since it is obsolete and we can safely omit it.
* make QRCode JS works with IE :
  * behave as a normal link if canvas aren't supported (<=IE8)
  * default parameter values in JS aren't widely supported (see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters ), use this method instead: http://stackoverflow.com/a/148918/1484919
  * dataset isn't supported in IE9 use getAttribute instead
  * addEventListener works with IE9+ and other browsers
2015-01-09 09:47:48 +01:00
ArthurHoaro
8079dfd1cd W3C compliance (work on issue #64 - https://github.com/shaarli/Shaarli/issues/64):
* fix duplicate IDs - #paging_older, #paging_newer become classes as the paging is displayed twice (top, bottom) in the linklist
  * fix duplicate IDs - #paging_privatelinks and #paging_linksperpage become classes
  * daily links are now valid (use &amp)
  * name attribute is not used anymore on a tag in link list
  * center tag is replaced by CSS in picwall and tag cloud
  * action in form tag can't be empty, use # instead
  * fixed configure table with CSS instead of cellpadding, border, and valign
  * export links are now valid
  * remove "size" in input tag
  * Fix missing alt attributes for img elements
  * tpl/daily: Use HTML entities instead of char escape codes
  * tpl/export: fix missing </span> closing tag
  * Remove obsolete language attribute on <script> elements
2015-01-08 10:15:05 +01:00
Florian Eula
cae64e52e4 Refactored the daily column generation (only one loop) 2014-12-25 01:10:58 +01:00
nodiscc
e0a9e14704 bookmarklet: add ✚ sign to make it more recognizable in toolbars 2014-12-05 20:26:51 +01:00
VirtualTam
c133612f32 CSS: remove hardcoded style from templates
Fixes shaarli/Shaarli#29

Style elements refactored as follows:
- use existing ids and classes if possible,
- else, define new ones and stick with the existing naming convention,
- remove hardcoded style attributes from RainTPL templates.

Exception:
In tpl/tagcloud.html, the display size of each tag is computed at page
generation.

Signed-off-by: VirtualTam <virtualtam@flibidi.org>
2014-12-03 19:28:43 +01:00
Florian Eula
d741c9fc16 Added a link to the visible URL in the link list
Corrected CSS to prevent a line from showing underneath
Fixes https://github.com/shaarli/Shaarli/issues/53
2014-11-21 19:43:53 +01:00
nodiscc
9362352e12 Merge pull request #59 from tst2005/master
uniform if syntax
2014-11-13 01:48:52 +01:00
nodiscc
0845fb1ab8 use urlencode in tagcloud links
* prevents unproper escaping of characters like '&'
 * fixes https://github.com/sebsauvage/Shaarli/issues/85
 * fixes https://github.com/shaarli/Shaarli/issues/48
2014-11-09 21:09:43 +01:00
nodiscc
d2f517638c make archive.org integration optional (ARCHIVE_ORG option, defaults to false) 2014-11-08 18:21:19 +01:00
Qwerty
b113dc8e6b Add Archive.org integration
* adds an "archive" link next to permalinks, linking to the last version of the page on archive.org
2014-11-05 14:35:52 +01:00
nodiscc
1099d8fcad Make ATOM toolbar button optional
* ATOM button display is now configurable using the SHOW_ATOM variable in index.php or data/options.php (defaults to false)
 * Fixes https://github.com/shaarli/Shaarli/issues/24
2014-10-23 17:47:30 +02:00
nodiscc
e0cbb07872 Merge pull request #19 from nodiscc/master
bookmarklet: use selected text as description when adding a new link
2014-08-19 21:52:36 +02:00
nodiscc
ad6c27b7b8 Fix grammar, punctuation, spelling, trailing whitepaces and newlines; Fix typo in css
Based on respencer's work at https://github.com/respencer/Shaarli/
Closes https://github.com/sebsauvage/Shaarli/pull/103
2014-08-19 18:01:15 +02:00
nodiscc
a1795ddcf3 bookmarklet: use selected text as description when adding a new link
* Based on romnGit's work at https://github.com/sebsauvage/Shaarli/pull/104
 * Fixes https://github.com/shaarli/Shaarli/issues/18
 * Closes https://github.com/sebsauvage/Shaarli/pull/104
 * Fixes https://github.com/sebsauvage/Shaarli/issues/53
 * Fixes https://github.com/sebsauvage/Shaarli/issues/129
 * Fixes https://github.com/sebsauvage/Shaarli/issues/33
2014-08-11 00:13:29 +02:00
Christophe HENRY
e411f7f9d7 Adds the tip for the title link in the configuration page 2014-07-27 23:32:41 +02:00
Christophe HENRY
ebb2880dfc Adds a configuration variable "titleLink" which allows to customize the
link on the title.
2014-07-27 23:32:41 +02:00
TsT
ae22a12b8a uniform if syntax 2013-10-23 23:21:36 +02:00
Sebastien SAUVAGE
246e9b4e37 Removed jQuery from almost all pages
jQuery has been removed from all pages, except those who really require
it (like autocomplete in link edition).
Immediate gain: All pages weight 286 kb LESS !   \o/
Highlighting in search results has also been temporarly removed (and
will be re-implemented).
2013-09-25 21:27:50 +02:00
Sébastien SAUVAGE
af77b2fd9a New QR-Code generation code
* QR-Code generation now uses a client-side javascript library instead of an external service. This is better for user privacy.
* Library used is http://neocotic.com/qr.js/ (11 kb).
* jQuery is no longer used to display QR-Code (this is a first step in removing jQuery entirely).
* This library is loaded *only* if the QR-Code icon is clicked.
* If javascript is disabled, it will fallback to the external service.
* External service was changed from "invx.com" to "qrfree.kaywa.com" because invx has become bloated.

By loading the javascript library *only* if the icon is clicked, it will prevent the 11 kb lib to be loaded in every page.
2013-09-25 15:17:09 +02:00
Sébastien SAUVAGE
99954e1290 Merge pull request #43 from dsferruzza/highlight-search-results
Highlight search results
2013-03-11 02:11:47 -07:00
David Sferruzza
f2acdfd14e Move lazyload init inside the body tag 2013-03-10 19:04:48 +01:00
David Sferruzza
9da4953190 Avoid highlighting paging stuff 2013-03-10 18:26:16 +01:00
David Sferruzza
1b647ff409 Highlight search results (issue #4)
Uses http://bartaz.github.com/sandbox.js/jquery.highlight.html
2013-03-10 18:24:05 +01:00
bb8f712db6 [add] https://github.com/sebsauvage/Shaarli/issues/20 New links created as private by default. 2013-03-04 10:18:39 +01:00
Sebastien SAUVAGE
feebc6d466 Corrected vulnerabilities (see report below)
Title : Shaarli Vulnerabilities
Author : @erwan_lr | @_WPScan_

Vendor : http://sebsauvage.net/wiki/doku.php?id=php:shaarli
Download : https://github.com/sebsauvage/Shaarli/archive/master.zip |
http://sebsauvage.net/files/shaarli_0.0.40beta.zip
Affected versions : master-705F835, 0.0.40-beta (versions below may also
be vulnerable)

Vulnerabilities : Persistent XSS & Unvalidated Redirects and Forwards

Persistent XSS :
- During the instalation or configuration modification, the title field
is vulnerable. e.g <script>alert(1)</script>
Quotes can not be used because of var_export(), but String.fromCharCode
works

- The url field of a link is vulnerable :

When there is no redirector : javascript:alert(1)
Then, the code is triggered when a user click the url of a link

Or with a classic XSS : "><script>alert(1)</script>

Unvalidated Redirects and Forwards :
A request with the param linksperpage or privateonly can be used to
redirect a user to an arbitrary referer

e.g
GET /Audit/Shaarli/master-705f835/?linksperpage=10 HTTP/1.1
Host: 127.0.0.1
Referer: https://duckduckgo.com

History :
March 2, 2013
- Vendor contacted
2013-03-03 22:15:38 +01:00
Sebastien SAUVAGE
858c5c2b43 Added option to disable jQuery and heavy javascript
Shaarli uses light Javascript in its normal operation, and some jQuery
for some features (autocomplete in tags, QR-Code popup...).
jQuery can be slow on small computers. An option has been added in
configuration screen to disable javascript features which are hard on
CPU.
(Note that the Picture Wall is awfully heavy *without* jQuery.)

(Side note: A *LOT* of users want Shaarli to work without javasript at
all, if possible. That's why I try to use as few javascript as possible:
It keeps Shaarli pages fast.)
2013-03-01 22:21:10 +01:00
Sébastien SAUVAGE
b342b2a4c7 After clicking save/cancel on a link, scroll to the link itself. 2013-02-27 18:24:07 +01:00
Sébastien SAUVAGE
b2877611c3 Edit/delete button on the left-side of links.
https://github.com/sebsauvage/Shaarli/issues/5
2013-02-27 17:46:45 +01:00
Sébastien SAUVAGE
450342737c Initial commit (version 0.0.40 beta) 2013-02-26 10:09:41 +01:00