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.
Mischa POSLAWSKY [Wed, 4 Jul 2018 16:45:59 +0000 (18:45 +0200)]
thumb: move imagemagick execution to separate function
Code cleanup to prepare for different resizing backends.
Mischa POSLAWSKY [Tue, 19 Jun 2018 17:13:03 +0000 (19:13 +0200)]
login/visits: styling classes for list and seen dates
Mischa POSLAWSKY [Tue, 19 Jun 2018 17:02:52 +0000 (19:02 +0200)]
login/edit: prepare input restriction for user names
Indicate validity even though it cannot be altered yet.
Mischa POSLAWSKY [Tue, 19 Jun 2018 16:54:43 +0000 (18:54 +0200)]
login: replace unsupported characters in user names
Mischa POSLAWSKY [Tue, 19 Jun 2018 11:10:26 +0000 (13:10 +0200)]
foto: ?blur option to disable thumbnail resizing
Mischa POSLAWSKY [Mon, 18 Sep 2017 16:55:37 +0000 (18:55 +0200)]
edit/foto: admin option to set image as album cover
Copied from editcover at Lijtweg commit
v2.5-20-g93cfc0a122 (2017-10-13).
Mischa POSLAWSKY [Mon, 18 Sep 2017 16:54:42 +0000 (18:54 +0200)]
foto: image album browser and control
Original foto.php controller and related assets copied from Lijtweg at
commit
v2.5-24-ga5399c5d03 (2017-10-22).
Requires image files at data/ symlinked into albums at foto/ with prefixed
resolution attributes. Depends on external javascript libraries [PhotoSwipe
and Flickr's Justified-Layout] at lib/ (changed from import/ at lijtweg)
installed by make rules.
Mischa POSLAWSKY [Mon, 18 Jun 2018 19:36:17 +0000 (21:36 +0200)]
thumb: return 501 image if resize is unavailable
Missing feature on Xenat servers causes PHP error messages resulting in
an invalid image. Substitute a user-friendly placeholder instead.
Mischa POSLAWSKY [Mon, 18 Jun 2018 19:11:00 +0000 (21:11 +0200)]
login/commits: increase size of subsequent pages
Mischa POSLAWSKY [Mon, 18 Jun 2018 19:09:13 +0000 (21:09 +0200)]
login/edit: column descriptions; explain name visibility
Mischa POSLAWSKY [Mon, 18 Jun 2018 16:54:37 +0000 (18:54 +0200)]
edit: button to create div containers
Commonly used for columns and right-aligned blocks.
Mischa POSLAWSKY [Mon, 18 Jun 2018 13:04:33 +0000 (15:04 +0200)]
contact: generic replies for use on other sites
Apply updates from Lijtweg at commit
v2.5-41-gdf1b219c9d (2017-11-27).
Mischa POSLAWSKY [Mon, 18 Jun 2018 13:27:56 +0000 (15:27 +0200)]
contact: code cleanup (mailform function)
Mischa POSLAWSKY [Fri, 16 Jan 2015 21:19:19 +0000 (22:19 +0100)]
contact: reply form to send email to info@covexcelsiorleiderdorp.nl
Copied from Excelsior at commit
2018-v1-1-gf1550a9744 (2018-04-20).
Mischa POSLAWSKY [Sat, 16 Jun 2018 21:17:03 +0000 (23:17 +0200)]
login/edit: password input from common form option
Mischa POSLAWSKY [Sat, 16 Jun 2018 21:30:33 +0000 (23:30 +0200)]
login/edit: build input html from prepared attributes
Same results, easier to maintain.
Mischa POSLAWSKY [Sat, 16 Jun 2018 20:58:33 +0000 (22:58 +0200)]
login/edit: password option in label
Mischa POSLAWSKY [Sat, 16 Jun 2018 19:49:57 +0000 (21:49 +0200)]
login/edit: refresh thumbnails on avatar upload
Mischa POSLAWSKY [Sat, 16 Jun 2018 18:11:43 +0000 (20:11 +0200)]
nieuws: strict year parsing, fallback to all
Mischa POSLAWSKY [Sat, 16 Jun 2018 14:57:37 +0000 (16:57 +0200)]
login/edit: format form inputs as html list
Mischa POSLAWSKY [Sat, 16 Jun 2018 13:38:12 +0000 (15:38 +0200)]
login/edit: set correct id for input fields
Mischa POSLAWSKY [Sat, 16 Jun 2018 13:33:21 +0000 (15:33 +0200)]
login/edit: resize avatar preview image
Mischa POSLAWSKY [Sat, 16 Jun 2018 13:32:49 +0000 (15:32 +0200)]
thumb: prefix data path only for numeric roots
Support other paths while retaining compatibility with /data-implied links.
Mischa POSLAWSKY [Sat, 16 Jun 2018 13:05:49 +0000 (15:05 +0200)]
login/edit: treat avatar as jpeg images
Mischa POSLAWSKY [Sat, 16 Jun 2018 12:48:01 +0000 (14:48 +0200)]
login/edit: save file uploads for avatar option
Mischa POSLAWSKY [Thu, 5 Oct 2017 20:03:55 +0000 (22:03 +0200)]
thumb: dynamic image relay with resize option
Generate image with requested height from data source, which should be
bypassed by the server if target file exists.
Copied from Lijtweg at commit
v2.5-58-gac5434f0af (2017-12-12).
Mischa POSLAWSKY [Sat, 16 Jun 2018 03:43:12 +0000 (05:43 +0200)]
nieuws: create article urls with dash separators
Prompt for "link" to clarify purpose, and replace spaces (as most sites do).
Mischa POSLAWSKY [Fri, 15 Jun 2018 11:26:17 +0000 (13:26 +0200)]
nieuws: ignore non-numeric month requests
Minor code cleanup to prevent PHP warnings.
Mischa POSLAWSKY [Fri, 15 Jun 2018 11:20:16 +0000 (13:20 +0200)]
edit: omit type input from link dialog
Simplify common usage by hiding unneeded options; specifically email
(prefer forms) and page references (rare).
Can still be entered manually if needed, but should not be advertised.
Mischa POSLAWSKY [Thu, 14 Jun 2018 16:14:07 +0000 (18:14 +0200)]
edit: optional target upload directory
Prepare for categorisation, for example supplying user paths.
Mischa POSLAWSKY [Thu, 14 Jun 2018 20:41:37 +0000 (22:41 +0200)]
edit: prefer enhanced image plugin with alignment classes
Mischa POSLAWSKY [Thu, 14 Jun 2018 16:33:58 +0000 (18:33 +0200)]
edit: support ckeditor uploadUrl protocol
Mischa POSLAWSKY [Thu, 14 Jun 2018 16:43:22 +0000 (18:43 +0200)]
edit: catch upload errors
Prepare for messages to be included in response.
Mischa POSLAWSKY [Thu, 14 Jun 2018 16:06:44 +0000 (18:06 +0200)]
edit: create missing image upload directories
Mischa POSLAWSKY [Thu, 14 Jun 2018 15:36:20 +0000 (17:36 +0200)]
page: prefer dutch time zone for all users
Local times [in user overviews] on foreign servers [Xenat].
Mischa POSLAWSKY [Thu, 14 Jun 2018 15:00:15 +0000 (17:00 +0200)]
login/pass: encrypt user input in profile data
Left cleartext for debugging, but prefer at least blowfish hashing.
Assume PHP v5.5 to generate salts.
Mischa POSLAWSKY [Thu, 14 Jun 2018 10:08:57 +0000 (12:08 +0200)]
login/members: user overview for admins
Like login/visits but ordered by name, and with create link.
Mischa POSLAWSKY [Thu, 14 Jun 2018 09:59:07 +0000 (11:59 +0200)]
login/visits: indicate admin users
Mischa POSLAWSKY [Thu, 14 Jun 2018 09:24:18 +0000 (11:24 +0200)]
login/edit: create missing user profiles
Mischa POSLAWSKY [Thu, 14 Jun 2018 09:13:42 +0000 (11:13 +0200)]
page: silence php warning of undefined user
Broken since commit
v2.6-18-g297195ea7c (2018-06-09)
[page: set placeholder after page script].
Mischa POSLAWSKY [Sat, 9 Jun 2018 07:18:58 +0000 (09:18 +0200)]
login/pass: require new password value to be confirmed
Mischa POSLAWSKY [Sat, 9 Jun 2018 06:41:34 +0000 (08:41 +0200)]
login/edit: optional fields to change password
Inline login/pass page.
Mischa POSLAWSKY [Sat, 9 Jun 2018 06:35:51 +0000 (08:35 +0200)]
login/pass: separate include to parse user input
Allow reuse with different form input.
Mischa POSLAWSKY [Sat, 9 Jun 2018 03:09:06 +0000 (05:09 +0200)]
login/edit: labeled fields with login and full name
Mischa POSLAWSKY [Thu, 14 Jun 2018 08:59:49 +0000 (10:59 +0200)]
login/edit: target user data distinct from login
Prepare for admin control.
Mischa POSLAWSKY [Sat, 9 Jun 2018 00:48:01 +0000 (02:48 +0200)]
login/edit: admins can access other users
Mischa POSLAWSKY [Sat, 9 Jun 2018 02:15:01 +0000 (04:15 +0200)]
login/edit: generic column configuration
Support other fields besides email.
Mischa POSLAWSKY [Sat, 9 Jun 2018 01:06:14 +0000 (03:06 +0200)]
login/edit: initial code cleanup to prepare for other columns
Mischa POSLAWSKY [Sat, 9 Jun 2018 03:08:15 +0000 (05:08 +0200)]
login/edit: rename setmail include for generic profile editor
Mischa POSLAWSKY [Sat, 9 Jun 2018 00:07:48 +0000 (02:07 +0200)]
login/visits: read and prefer configured user names
Mischa POSLAWSKY [Fri, 8 Jun 2018 23:59:19 +0000 (01:59 +0200)]
login/visits: store user data in extensible hash
Prepare for other user details.
Mischa POSLAWSKY [Sat, 9 Jun 2018 00:17:17 +0000 (02:17 +0200)]
login/visits: list users without log entry
Show unseen users as well.
Mischa POSLAWSKY [Fri, 8 Jun 2018 22:50:33 +0000 (00:50 +0200)]
page: set placeholder after page script
User may be set or changed by login.
Mischa POSLAWSKY [Fri, 8 Jun 2018 22:05:43 +0000 (00:05 +0200)]
nieuws: archive pages by year only
Mischa POSLAWSKY [Wed, 2 May 2018 15:05:18 +0000 (17:05 +0200)]
nieuws: placeholder script to show articles
Can replace homepage controller to inline latest news.
Mischa POSLAWSKY [Sat, 5 May 2018 16:24:04 +0000 (18:24 +0200)]
login: replace page controllers by placeholders
Mischa POSLAWSKY [Wed, 2 May 2018 15:23:19 +0000 (17:23 +0200)]
page: placeholder options
Target name can be followed by whitespace for additional configuration.
Syntax "name=value" will be applied to global GET (overriding user input).
Otherwise a /subpath will be appended to local page Args.
Mischa POSLAWSKY [Wed, 2 May 2018 12:52:16 +0000 (14:52 +0200)]
page: include scripts from placeholders
Mischa POSLAWSKY [Fri, 8 Jun 2018 16:47:55 +0000 (18:47 +0200)]
page: apply placeholder replacement to all page output
Mischa POSLAWSKY [Fri, 8 Jun 2018 15:59:51 +0000 (17:59 +0200)]
page: include controllers from index.php
Replace page code by directory handlers. Essentially the same,
preparing for upcoming placeholder includes.
Mischa POSLAWSKY [Fri, 20 Apr 2018 06:46:09 +0000 (08:46 +0200)]
nieuws: treat years before 2000 as single page
Mischa POSLAWSKY [Fri, 20 Apr 2018 06:30:47 +0000 (08:30 +0200)]
nieuws: support zero month for unknown dates
Mischa POSLAWSKY [Thu, 19 Apr 2018 16:03:33 +0000 (18:03 +0200)]
nieuws: parse date using single regexp
Equivalent but easier to maintain.
Mischa POSLAWSKY [Thu, 19 Apr 2018 16:03:33 +0000 (18:03 +0200)]
nieuws: drop prompt for article (back)date
Much easier to use. In rare cases where custom dates are wanted,
pages can still be created manually.
Requested-by: Arie van Marion
Mischa POSLAWSKY [Thu, 19 Apr 2018 16:03:33 +0000 (18:03 +0200)]
nieuws: port excelsior toc and year filtering
Mischa POSLAWSKY [Wed, 4 Oct 2017 23:04:11 +0000 (01:04 +0200)]
nieuws: dynamic article system
Copied from lijtweg site
v2.4-25-g7cfaa2f8d4 (2017-10-05).
Simple js to create pages in /nieuws/year/month/day-title.html
and overview to concatenate them chronologically.
Mischa POSLAWSKY [Fri, 8 Jun 2018 16:18:06 +0000 (18:18 +0200)]
login/visits: user details moved to /profile
Broken since commit
v2.5-5-g6236e7cb8d (2018-04-25)
[login: store user data in /profile directory].
Mischa POSLAWSKY [Wed, 2 May 2018 12:39:52 +0000 (14:39 +0200)]
page: replace missing placeholders by warning
Mischa POSLAWSKY [Thu, 26 Apr 2018 21:05:19 +0000 (23:05 +0200)]
page: replace placeholders dynamically
Instead of substituting known variables, search contents for placeholders
for identical results but allowing for additional options.
Mischa POSLAWSKY [Wed, 25 Apr 2018 12:02:25 +0000 (14:02 +0200)]
page: provide abort function from edit
Move to allow reuse on other pages.
Mischa POSLAWSKY [Wed, 25 Apr 2018 12:03:06 +0000 (14:03 +0200)]
login: match posted input in user name value
Cookie value could still be shown after post, due to partial fix in commit
v2.5-1-g4c8b6c0ab0 (2018-04-20) [exclude cookie data from user name default].
Mischa POSLAWSKY [Tue, 24 Apr 2018 23:01:21 +0000 (01:01 +0200)]
page: prefer named template in parent directory
Temporary hack to support local override of login page
outside of common symlink.
Mischa POSLAWSKY [Sat, 21 Apr 2018 13:09:21 +0000 (15:09 +0200)]
login: link to form to send password reset mail
Mischa POSLAWSKY [Tue, 24 Apr 2018 22:07:18 +0000 (00:07 +0200)]
login/pass: allow token instead of login
Only on this page a code can be used instead of valid user
in case password was forgotten.
Mischa POSLAWSKY [Tue, 24 Apr 2018 22:27:40 +0000 (00:27 +0200)]
login: move admin pages into /login
Permissions should be checked per page, and can make more distinctions than
boolean admin. Also one dir less to symlink.