Mischa POSLAWSKY [Thu, 23 Aug 2018 18:45:46 +0000 (20:45 +0200)]
thumb: jpeg encoding regardless of original
Disregard original file format after resizing, as it keeps lossless [png]
compression [size] and inconsistent results.
Unaltered request extension may not match, but should mostly display
correctly as browsers should prefer the correct content-type instead.
Mischa POSLAWSKY [Sat, 25 Aug 2018 23:30:17 +0000 (01:30 +0200)]
nieuws: cover images in article html
Mischa POSLAWSKY [Sat, 25 Aug 2018 22:18:10 +0000 (00:18 +0200)]
nieuws/feed: represent last update by publish date
File modification time is affected by any write, not just significant
changes as the specs demand. As some readers show only updated in
overviews, prefer the stable creation date for now, disregarding any
later edits.
Mischa POSLAWSKY [Sat, 25 Aug 2018 21:51:17 +0000 (23:51 +0200)]
nieuws/feed: atom export of articles
Mischa POSLAWSKY [Sat, 25 Aug 2018 22:14:56 +0000 (00:14 +0200)]
nieuws: ArchiveArticle class to access news pages
Similar to User in auth.inc.php.
Mischa POSLAWSKY [Sun, 19 Aug 2018 23:25:16 +0000 (01:25 +0200)]
edit/page: reposition table dimension fields in columns
Utilise empty width left by elements removed in the previous commit.
Mischa POSLAWSKY [Sun, 19 Aug 2018 23:20:56 +0000 (01:20 +0200)]
edit/page: remove all styling attributes in table editor
Prevent accidental or misguided usage of deprecated HTML attributes
(width, height, border, cellspacing, cellpadding, align).
Mischa POSLAWSKY [Tue, 14 Aug 2018 02:54:03 +0000 (04:54 +0200)]
edit/page: prevent hover title on ckeditor frame
Mischa POSLAWSKY [Sat, 4 Aug 2018 22:47:34 +0000 (00:47 +0200)]
edit/page: disable tableselection plugin in ckeditor
Stylistic improvement for rare table editing, but results in a separate
tableselection.css request in all cases.
Mischa POSLAWSKY [Tue, 7 Aug 2018 21:08:14 +0000 (23:08 +0200)]
edit/page: enable styles selection of common classes
Currently the only viable way in ckeditor to use cumulative or inline
elements, notably: small, .right, .warn, aside.
Mischa POSLAWSKY [Sun, 19 Aug 2018 14:34:46 +0000 (16:34 +0200)]
nieuws: support truncated dates in replies
Mischa POSLAWSKY [Sun, 12 Aug 2018 16:00:53 +0000 (18:00 +0200)]
page: strip html suffix from symlink redirects
Mischa POSLAWSKY [Tue, 14 Aug 2018 00:51:14 +0000 (02:51 +0200)]
foto: keep data subdirectory in thumb paths
Support non-numeric roots broken since commit
v3.1-4-g1c59746cd8
(2018-06-16) [thumb: prefix data path only for numeric roots].
Mischa POSLAWSKY [Thu, 9 Aug 2018 16:12:42 +0000 (18:12 +0200)]
login/emulate: request page as different user
Admin feature to download user-customised texts
(in particular the welcoming letter to be sent to everyone).
Mischa POSLAWSKY [Sat, 11 Aug 2018 07:44:40 +0000 (09:44 +0200)]
login: strip logout parameter on form post
Fix lingering request after relogin.
Mischa POSLAWSKY [Sat, 11 Aug 2018 07:43:10 +0000 (09:43 +0200)]
login/edit: silence code warning on missing values
Ignore empty email/name.
Mischa POSLAWSKY [Sat, 11 Aug 2018 03:56:26 +0000 (05:56 +0200)]
nieuws: include contact form at replyable overview
Mischa POSLAWSKY [Fri, 10 Aug 2018 19:40:45 +0000 (21:40 +0200)]
nieuws: user reply form on melding page
Mischa POSLAWSKY [Fri, 10 Aug 2018 23:13:53 +0000 (01:13 +0200)]
nieuws: generic date formatting function
Mischa POSLAWSKY [Fri, 10 Aug 2018 23:19:47 +0000 (01:19 +0200)]
edit/page: omit link target options except for _blank
Prevent user from selecting unwanted values.
Mischa POSLAWSKY [Thu, 9 Aug 2018 12:29:18 +0000 (14:29 +0200)]
edit/page: hide type input on link dialog
Improved implementation of commit
v3.0-24-g48ed0c2512 (2018-06-16)
[edit: omit type input from link dialog] without breaking url saves.
Mischa POSLAWSKY [Sun, 5 Aug 2018 00:28:01 +0000 (02:28 +0200)]
nieuws: create new articles relative to page root
Support different categories, assuming link is run from index.
Mischa POSLAWSKY [Tue, 31 Jul 2018 18:17:20 +0000 (20:17 +0200)]
page: http redirect to html symlinks
Feature to set up shorthands and replacements.
Mischa POSLAWSKY [Tue, 31 Jul 2018 18:16:39 +0000 (20:16 +0200)]
page: predetermine static html include
Mischa POSLAWSKY [Tue, 17 Jul 2018 20:11:22 +0000 (22:11 +0200)]
login/edit: column visibility option to restrict to admins
Read-only tags become invisible, and now configurable per site.
Mischa POSLAWSKY [Tue, 17 Jul 2018 20:08:43 +0000 (22:08 +0200)]
login/edit: hide empty tags column (empty groups)
Mischa POSLAWSKY [Tue, 7 Aug 2018 14:22:12 +0000 (16:22 +0200)]
contact: fix login indicator, omit unresolved host names
Mischa POSLAWSKY [Tue, 7 Aug 2018 14:09:16 +0000 (16:09 +0200)]
contact: exceptional parsing and delivery for bbq
Mischa POSLAWSKY [Tue, 7 Aug 2018 01:26:56 +0000 (03:26 +0200)]
nieuws: replace placeholders in article contents
Support contact form include.
Mischa POSLAWSKY [Tue, 7 Aug 2018 01:26:10 +0000 (03:26 +0200)]
contact: ignore email validation for bbq form
Mischa POSLAWSKY [Tue, 7 Aug 2018 01:43:58 +0000 (03:43 +0200)]
edit/page: editor notification of save results
Unobtrusive indication of success.
Mischa POSLAWSKY [Wed, 1 Aug 2018 21:03:57 +0000 (23:03 +0200)]
edit/page: restore link widgets to fix relative locations
Apparently hiding the link type causes internal references to be silently
rejected.
Mischa POSLAWSKY [Thu, 2 Aug 2018 03:41:25 +0000 (05:41 +0200)]
login/members: order by full name
Login may not match in which case visible results appear random.
Support sort by any ?order column, assuming anything besides seen date
is alphanumeric.
Mischa POSLAWSKY [Tue, 31 Jul 2018 03:36:16 +0000 (05:36 +0200)]
login/name: placeholder script to address users
Useful in email template.
Mischa POSLAWSKY [Tue, 31 Jul 2018 22:41:05 +0000 (00:41 +0200)]
nieuws: article lists in left layout with images
Mischa POSLAWSKY [Tue, 31 Jul 2018 22:36:57 +0000 (00:36 +0200)]
nieuws: find article image to append on page
Mischa POSLAWSKY [Tue, 31 Jul 2018 21:39:26 +0000 (23:39 +0200)]
nieuws: consistent url input to article parser
Should be valid even if currently unused.
Mischa POSLAWSKY [Thu, 12 Jul 2018 19:54:42 +0000 (21:54 +0200)]
page: do not redirect slash to directory requests
Fix pathless requests to upcoming edit pages.
Mischa POSLAWSKY [Sat, 14 Jul 2018 14:05:02 +0000 (16:05 +0200)]
edit: build rules for ckeditor
Document installation with combined language include to minimise deferred
loads. Local build is equivalent to online download.
Mischa POSLAWSKY [Sat, 14 Jul 2018 13:49:06 +0000 (15:49 +0200)]
edit: restyle to upstream ckeditor configuration
Same results but minimising differences from tracked v4.10.0.
Mischa POSLAWSKY [Fri, 13 Jul 2018 19:00:28 +0000 (21:00 +0200)]
edit: track ckeditor configuration
Generated by online CKEditor builder containing only used features.
Mischa POSLAWSKY [Thu, 12 Jul 2018 19:42:30 +0000 (21:42 +0200)]
edit: move fotocover page to foto/ subdirectory
Share base path with upcoming related features.
Mischa POSLAWSKY [Thu, 12 Jul 2018 19:46:01 +0000 (21:46 +0200)]
edit: move contents editor to subdirectory
Clear /edit root to allow for other pages without path conflicts.
Mischa POSLAWSKY [Fri, 13 Jul 2018 19:28:40 +0000 (21:28 +0200)]
edit: optionally load ckeditor from local install
Custom build can include used plugins and languages, saving deferred loads.
Mischa POSLAWSKY [Wed, 11 Jul 2018 19:46:34 +0000 (21:46 +0200)]
page: stable include path (site then minimedit root)
Uniform behaviour, preferring site-specific overrides and falling back
to shared files (without requiring symlinks).
Mischa POSLAWSKY [Fri, 13 Jul 2018 19:25:30 +0000 (21:25 +0200)]
edit: disable ckeditor config.js include
Save an unneeded load, since settings are declared with page.js setup.
Mischa POSLAWSKY [Fri, 13 Jul 2018 19:24:53 +0000 (21:24 +0200)]
edit: close button to hide toolbar
Significantly increases visibility on small (phone) screens.
Inline equivalent to toolbarCanCollapse option.
Mischa POSLAWSKY [Wed, 11 Jul 2018 19:45:26 +0000 (21:45 +0200)]
edit: inline styling buttons before block inserts
Match toolbars of common word processors.
Mischa POSLAWSKY [Wed, 11 Jul 2018 19:26:59 +0000 (21:26 +0200)]
edit: drop source button
Originally added in case of missing or broken features (unwarranted).
Redistribution allows fit in 2 lines on standard mobile phone width.
Mischa POSLAWSKY [Wed, 11 Jul 2018 19:12:12 +0000 (21:12 +0200)]
edit: implement filename storage in upload include
Mischa POSLAWSKY [Wed, 11 Jul 2018 19:09:21 +0000 (21:09 +0200)]
login/edit: move upload handling code into include
Mischa POSLAWSKY [Tue, 10 Jul 2018 21:36:41 +0000 (23:36 +0200)]
login/edit: separate columns declaration
Move configuration unchanged into edit.inc.php to allow site customisation.
Mischa POSLAWSKY [Tue, 10 Jul 2018 21:58:20 +0000 (23:58 +0200)]
login/edit: generic multi-values declaration
Move tags setup code into common loop so placement can be configured.
Mischa POSLAWSKY [Tue, 10 Jul 2018 21:36:59 +0000 (23:36 +0200)]
login/edit: declare column file storage
Allow other columns to be declared before initialisation.
Mischa POSLAWSKY [Tue, 10 Jul 2018 21:58:52 +0000 (23:58 +0200)]
login/edit: keep login data of named self
Support passwords for admins editing themselves with parameter.
Mischa POSLAWSKY [Mon, 9 Jul 2018 23:08:53 +0000 (01:08 +0200)]
page: catch exceptions in placeholder scripts
Inline error (similar to missing) instead of global breakage.
Mischa POSLAWSKY [Mon, 9 Jul 2018 22:53:35 +0000 (00:53 +0200)]
edit: support dashes in placeholder parameters
Fix date input.
Mischa POSLAWSKY [Mon, 9 Jul 2018 20:32:22 +0000 (22:32 +0200)]
edit: no semantic newlines after semicolons
Not a good break point as it's mostly used in html entities such as &.
Mischa POSLAWSKY [Mon, 9 Jul 2018 18:13:07 +0000 (20:13 +0200)]
thumb: optional width restriction in size parameter
Support a width prefix (+x) in addition to or instead of height only.
Maximum WxH can be specified, or falls back to 4x the other resolution:
"100" is equivalent to "400x100", and "640x" will bound to "640x160".
Mischa POSLAWSKY [Sun, 8 Jul 2018 02:40:27 +0000 (04:40 +0200)]
login/commits: navigation styling of page links
Mischa POSLAWSKY [Sun, 8 Jul 2018 15:26:46 +0000 (17:26 +0200)]
login/edit: text input width to fit longer names
Mischa POSLAWSKY [Sun, 8 Jul 2018 15:25:38 +0000 (17:25 +0200)]
login/list: join multiple names by ampersands
Encoded newlines are invisible in html.
Mischa POSLAWSKY [Sun, 8 Jul 2018 15:18:23 +0000 (17:18 +0200)]
login/edit: filter to replace newlines in input values
Multiple names on Lijtweg.
Mischa POSLAWSKY [Sun, 8 Jul 2018 02:24:25 +0000 (04:24 +0200)]
foto: fix javascript warning in test for ?blur option
Careless mistake broke js in commit
v3.2-6-gee09c737f2 (2018-06-19)
[foto: ?blur option to disable thumbnail resizing].
Mischa POSLAWSKY [Sun, 8 Jul 2018 01:46:03 +0000 (03:46 +0200)]
thumb: output results of existing target
In case the script gets called instead of httpd/file cache, the found target
should still be returned. Broken since commit
v3.2-15-gf08646f0f4 (2018-07-07)
[thumb: decide on cache location in mkthumb()].
Mischa POSLAWSKY [Sun, 8 Jul 2018 02:25:15 +0000 (04:25 +0200)]
edit: avoid js warning if link not found
Expect optional results.
Mischa POSLAWSKY [Sun, 8 Jul 2018 00:08:01 +0000 (02:08 +0200)]
edit: leave standalone placeholders as is
As described, fix unwanted <p> containers being added, causing accumulative
empty paragraphs on successive edits.
Mischa POSLAWSKY [Sat, 7 Jul 2018 23:56:01 +0000 (01:56 +0200)]
login/edit: admin override as template parameter
Fixes user argument being ignored due to recent changes.
Mischa POSLAWSKY [Sat, 7 Jul 2018 23:23:00 +0000 (01:23 +0200)]
login: avoid editor conflict with login post
Rename username variable to avoid triggering [index] authentication.
With this form element, the welcome message is now superfluous.
Mischa POSLAWSKY [Sat, 7 Jul 2018 19:25:30 +0000 (21:25 +0200)]
login/list: wrap each item to allow containment
Hack to set CSS overflow fixing right-aligned date from bleading over.
Mischa POSLAWSKY [Sat, 7 Jul 2018 19:23:29 +0000 (21:23 +0200)]
login/list: mark admins by a wrench pictograph
Prevent line-wraps by saving at least 5em.
Mischa POSLAWSKY [Sat, 7 Jul 2018 19:27:56 +0000 (21:27 +0200)]
login/list: hide unvisited if ordered by seen
Filter out empty values which are not relevant to the requested view.
Mischa POSLAWSKY [Sat, 7 Jul 2018 21:03:40 +0000 (23:03 +0200)]
login/admin: recent visitors summary
Include login/list with limit and without columns.
Also links overview pages previously only mentioned privately.
Mischa POSLAWSKY [Sat, 7 Jul 2018 21:02:02 +0000 (23:02 +0200)]
login/visits: replace login/visits script by common list
Completely subsumed.
Mischa POSLAWSKY [Sat, 7 Jul 2018 20:48:15 +0000 (22:48 +0200)]
login/list: visit view to emulate login/visits
Identical styling.
Mischa POSLAWSKY [Sat, 7 Jul 2018 20:50:59 +0000 (22:50 +0200)]
login/list: option to order by seen date
Feature parity with login/visits.
Mischa POSLAWSKY [Sat, 7 Jul 2018 20:37:39 +0000 (22:37 +0200)]
login/list: indicate admins by suffix description
Like login/visits.
Mischa POSLAWSKY [Sat, 7 Jul 2018 20:41:57 +0000 (22:41 +0200)]
login/list: avatar styling requires view parameter
Default to a flat list of names.
Mischa POSLAWSKY [Sat, 7 Jul 2018 20:34:38 +0000 (22:34 +0200)]
login/list: link users to edit page for admins
Similar to login/visits.
Mischa POSLAWSKY [Sat, 7 Jul 2018 20:27:19 +0000 (22:27 +0200)]
login/list: retrieve optional user data on demand
Generic interface to run methods for missing variables.
Provides delay and caching to prevent unnecessary disk access.
Mischa POSLAWSKY [Sat, 7 Jul 2018 19:55:04 +0000 (21:55 +0200)]
login/list: profile class to access user data
Common object currently identical to array setup, but allowing for more complex
features such as delayed setup.
Mischa POSLAWSKY [Sat, 7 Jul 2018 19:47:58 +0000 (21:47 +0200)]
login/list: prepare user data before display
Similar to login/visits; abstraction for upcoming options.
Mischa POSLAWSKY [Sat, 7 Jul 2018 21:04:54 +0000 (23:04 +0200)]
login/list: rename from avatars for generic reuse
Target to provide login/visits features.
Mischa POSLAWSKY [Thu, 28 Jun 2018 22:03:05 +0000 (00:03 +0200)]
page: localise page variables within template includes
Clean up parameter interface:
- $Page provides containing page instead of parent script;
- $Args reserved for placeholder arguments;
- $Place inherited and joined with placeholder options.
The latter replaces GET overrides without bleeding into subsequent includes.
Mischa POSLAWSKY [Sat, 7 Jul 2018 13:04:14 +0000 (15:04 +0200)]
login/edit: silence alter error for custom input
Assume untargeted columns are handled later if input is set.
Fixes irrelevant password warning.
Mischa POSLAWSKY [Sat, 7 Jul 2018 15:53:44 +0000 (17:53 +0200)]
login/edit: label references of tags descriptions
Clickable.
Mischa POSLAWSKY [Sat, 7 Jul 2018 14:03:27 +0000 (16:03 +0200)]
login/edit: generate checkbox input after post handling
Generic handling of "values" attribute so form output can be updated.
Mischa POSLAWSKY [Sat, 7 Jul 2018 13:30:19 +0000 (15:30 +0200)]
login/edit: apply tags input to target links
Allow admins to change user presence in listed tags.
Mischa POSLAWSKY [Sat, 7 Jul 2018 13:01:46 +0000 (15:01 +0200)]
login/edit: list user existence in tags
Grouping for avatars page.
Mischa POSLAWSKY [Thu, 28 Jun 2018 22:37:28 +0000 (00:37 +0200)]
avatars: parameter selects user tags
Users can be linked in profile/.tags/* groups.
Mischa POSLAWSKY [Thu, 28 Jun 2018 21:23:46 +0000 (23:23 +0200)]
avatars: gallery of user images
Mischa POSLAWSKY [Thu, 28 Jun 2018 21:23:46 +0000 (23:23 +0200)]
avatars: template script to list users
Mischa POSLAWSKY [Fri, 6 Jul 2018 22:18:32 +0000 (00:18 +0200)]
page: ignore undeclared placeholders in errors
Does not yet exist pre-page called from error handlers.
Mischa POSLAWSKY [Fri, 6 Jul 2018 22:16:26 +0000 (00:16 +0200)]
thumb: catch php errors during (gd) resize
Image response if GD fails on PHP 7, making it behave identical to exec.
Incompatible with PHP 5, where it will show a generic html error page,
regressing for convert exceptions.
Mischa POSLAWSKY [Tue, 19 Jun 2018 22:17:48 +0000 (00:17 +0200)]
thumb: prefer native GD over external convert
Commonly available unlike executed command which may be disallowed
(at Xenat) or missing (at Vimexx) on shared hosting servers.
Mischa POSLAWSKY [Sat, 7 Jul 2018 11:28:08 +0000 (13:28 +0200)]
thumb: decide on cache location in mkthumb()
Mischa POSLAWSKY [Thu, 5 Jul 2018 13:32:01 +0000 (15:32 +0200)]
thumb: force reload with specified ?backend
Option indicates development, in which case cached results should be ignored
as well.
Mischa POSLAWSKY [Thu, 5 Jul 2018 13:29:41 +0000 (15:29 +0200)]
thumb: ?backend option to override resize callback
Prepare to implement and test different mkthumb options.
Mischa POSLAWSKY [Wed, 4 Jul 2018 16:56:08 +0000 (18:56 +0200)]
thumb: show 404.png for missing requests
Mischa POSLAWSKY [Wed, 4 Jul 2018 16:53:30 +0000 (18:53 +0200)]
thumb: error image also on unexpected exceptions
Output is expected to be an image so avoid HTML responses.
Replace 501 placeholder by a common 500.png on any resize error.
Preserve message in X-Error header for debugging.