Mischa POSLAWSKY [Sat, 16 Jan 2021 14:23:04 +0000 (15:23 +0100)]
issue/activity: author footer below messages
Dashboard styling for small citations.
Mischa POSLAWSKY [Tue, 12 Jan 2021 04:46:17 +0000 (05:46 +0100)]
issue/activity: ignore missing author
Silence PHP warnings for system (eg p2000) notifications.
Mischa POSLAWSKY [Fri, 15 Jan 2021 17:41:47 +0000 (18:41 +0100)]
login/commits: syntax highlighting of diff lines
Parse chunks returned by git's porcelain word diffing interface,
formatting old/new columns similar to split github commit output.
Ignore strict line numbers in favour of minimal text comparison.
Mischa POSLAWSKY [Fri, 15 Jan 2021 09:24:40 +0000 (10:24 +0100)]
login/commits: git show of hash parameter
Link overview to further details, currently unformatted.
Mischa POSLAWSKY [Fri, 15 Jan 2021 11:26:38 +0000 (12:26 +0100)]
login/list: ignore symlinks in profile directory
Assume links to directories are aliases to be hidden.
Mischa POSLAWSKY [Wed, 7 Apr 2021 15:37:36 +0000 (17:37 +0200)]
upload: disallow overwrites of existing file names
Not a solution for reusing the same name, but prevents silent replacement
allowing the user to retry.
Reported-by: Fulco Jongsma
Mischa POSLAWSKY [Mon, 29 Mar 2021 23:21:37 +0000 (01:21 +0200)]
page: ignore missing accept header in api detection
Silence PHP warnings for some [robot] requests.
Mischa POSLAWSKY [Mon, 22 Feb 2021 00:46:44 +0000 (01:46 +0100)]
issue: secure against external form submissions
Ignore api requests (preview from (failed) login),
and require subject field to be sure.
Fixes empty issues after failed logins.
Mischa POSLAWSKY [Mon, 8 Mar 2021 18:10:26 +0000 (19:10 +0100)]
login/mailpass: case-insensitive match of requested address
Mischa POSLAWSKY [Wed, 24 Feb 2021 09:47:18 +0000 (10:47 +0100)]
widget/reply: identify subject changes
Mischa POSLAWSKY [Thu, 25 Feb 2021 13:08:27 +0000 (14:08 +0100)]
widget/reply: link non-image uploads instead
Mischa POSLAWSKY [Sat, 6 Feb 2021 23:28:58 +0000 (00:28 +0100)]
sitemap.xml: fix access to searched page objects
Broken since commit
v4.5-30-gee9702f9ff (2020-12-21)
[page: search results as article objects].
Mischa POSLAWSKY [Tue, 8 Jan 2019 23:32:17 +0000 (00:32 +0100)]
contact: save email contents to log file
Backup in case of undelivered or otherwise lost messages.
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:35:41 +0000 (00:35 +0100)]
widget/contact: client ip address in received mail header
Do not record technical identification in message body, instead emulate as
mail sender hidden for common consumption.
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:13:59 +0000 (00:13 +0100)]
widget/contact: reduce code indentation of post check
Minor code cleanup.
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:43:03 +0000 (00:43 +0100)]
page: url encode widget attributes
Support spaces and delimiters in values, such as spaces in contact addresses.
Mischa POSLAWSKY [Mon, 25 Jan 2021 22:55:24 +0000 (23:55 +0100)]
widget/contact: subject and recipient address from call options
Custom variables instead of hardcoding each case.
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:05:30 +0000 (00:05 +0100)]
widget/contact: send from given name
Apply naam input to sender email address.
Mischa POSLAWSKY [Sat, 23 Jan 2021 12:30:09 +0000 (13:30 +0100)]
login/edit: share user override with widget
Fix admin editing of other profiles.
Mischa POSLAWSKY [Fri, 15 Jan 2021 10:25:14 +0000 (11:25 +0100)]
foto: inline showthumb function to format img elements
Slight code simplification.
Mischa POSLAWSKY [Fri, 15 Jan 2021 10:23:19 +0000 (11:23 +0100)]
foto: escape html (ampersands) in album links
Fix broken entity Lijtweg directory <verbouw&opknap>.
Mischa POSLAWSKY [Fri, 15 Jan 2021 12:25:19 +0000 (13:25 +0100)]
login/admin: refer to edit link by updated appearance
Outdated since commit
v4.4-16-gb168fd753d (2020-12-05)
[head: icons to abbreviate user and edit].
Mischa POSLAWSKY [Tue, 12 Jan 2021 02:38:21 +0000 (03:38 +0100)]
make: fix missing domain name of fontello download
Missing (and unnecessary) variable in commit
v5.0-26-g38cf6657d2
(2021-01-10) [make rules to download fontello glyphs].
Mischa POSLAWSKY [Mon, 11 Jan 2021 19:08:59 +0000 (20:08 +0100)]
search: input form and extended results
Already referenced from 404 page as ui for additional queries.
Mischa POSLAWSKY [Mon, 11 Jan 2021 19:37:17 +0000 (20:37 +0100)]
edit/page: nbsp after initials, not unrelated abbreviations
Case-sensitive match; fix space after "i.v.m." not "I.V.M.".
Mischa POSLAWSKY [Mon, 11 Jan 2021 18:52:34 +0000 (19:52 +0100)]
edit/page: ignore saving unaltered body
Do not overwrite an unaltered file, preventing mtime update and noop commit
(minor speedup).
Mischa POSLAWSKY [Thu, 7 Jan 2021 20:07:43 +0000 (21:07 +0100)]
edit/page: save original request for commit message
Minor code cleanup in not recreating the earlier name.
Mischa POSLAWSKY [Thu, 7 Nov 2019 08:36:31 +0000 (09:36 +0100)]
edit/page: git directory relative to site root
No longer a subdirectory in Lijtweg since commit
v2.6-134-g7b106a3076
(2018-09-21) [move www subdirectory to root].
Mischa POSLAWSKY [Thu, 7 Jan 2021 19:57:59 +0000 (20:57 +0100)]
edit/head: keep login containers only if editable
Fix logout hiding for admins with missing edit stylesheet.
Mischa POSLAWSKY [Tue, 5 Jan 2021 19:26:26 +0000 (20:26 +0100)]
make rules to download fontello glyphs
Common "build" code to obtain assets for site styling.
Mischa POSLAWSKY [Mon, 28 Dec 2020 02:41:50 +0000 (03:41 +0100)]
page: allow remote access for xml requests
Made for inclusion from scripts such as dashboard page.
Mischa POSLAWSKY [Sat, 2 Jan 2021 04:28:52 +0000 (05:28 +0100)]
issue/activity: group replies by message topic
Keep selected threads chronologically, similar to Redmine activity.
Mischa POSLAWSKY [Mon, 28 Dec 2020 02:40:37 +0000 (03:40 +0100)]
issue: drop report template of activity widget
Page container to be implemented at sites.
Mischa POSLAWSKY [Tue, 29 Dec 2020 00:53:49 +0000 (01:53 +0100)]
page: call handler through index method
Mischa POSLAWSKY [Mon, 28 Dec 2020 02:33:21 +0000 (03:33 +0100)]
page: only html body on application/xml requests
Mischa POSLAWSKY [Sun, 27 Dec 2020 18:46:06 +0000 (19:46 +0100)]
page: text/plain request triggers api mode
Mischa POSLAWSKY [Sun, 27 Dec 2020 02:46:55 +0000 (03:46 +0100)]
progress: disable submit button while posting
Prevent duplicates from unavoidable double clicks.
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:32:00 +0000 (02:32 +0100)]
widget/reply: redirect to created comment
Undo initial design of continuous uploads, rather have normal form behaviour
of showing feedback/results.
Mischa POSLAWSKY [Thu, 9 Jan 2020 10:04:07 +0000 (11:04 +0100)]
widget/reply: load file upload progress indicator
Extend image upload script for any user form, with global support for
text/plain post interface (copied from Lijtweg upload controller designed
in
v2.6-167-gd6338eb73e (2018-11-04) [hijack file input to show progress]).
Mischa POSLAWSKY [Sun, 4 Nov 2018 15:29:29 +0000 (16:29 +0100)]
progress: javascript to post image uploads
Track code written for contact form at Lijtweg commit
v2.6-167-gd6338eb73e
(2018-11-04) [upload: hijack file input to show progress] with updates until
v2.6-171-gb68eaa5bbd (2018-11-05) [upload: support multiple files]
in preparation of general reuse.
Mischa POSLAWSKY [Sun, 27 Dec 2020 18:33:48 +0000 (19:33 +0100)]
page: api attribute indicate index requests
Replaces userless calls for better fault tolerance and permission support.
Mischa POSLAWSKY [Fri, 26 Oct 2018 18:48:48 +0000 (20:48 +0200)]
edit/foto/cover: replace fatal exceptions by abort()
Code cleanup, identical behaviour.
Mischa POSLAWSKY [Sun, 27 Dec 2020 18:44:33 +0000 (19:44 +0100)]
page: redirect location option in abort()
Mischa POSLAWSKY [Tue, 29 Dec 2020 00:08:11 +0000 (01:08 +0100)]
thumb: append .jpg extension to match file type
Rename example.png paths to example.png.jpg so its name corresponds to mime
type as warned by Dareboost.
Mischa POSLAWSKY [Tue, 29 Dec 2020 00:22:18 +0000 (01:22 +0100)]
thumb: content-length http header
Match [Apache] server output for cached files.
Still lacks ETag because PHP cannot calculate this (needs μs mtime).
Mischa POSLAWSKY [Sun, 27 Dec 2020 02:58:32 +0000 (03:58 +0100)]
thumb: only shrink larger images
Support smaller user uploads unscaled (with smaller file sizes), expecting
browser upscaling if necessary (lower quality should not be a problem).
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:36:04 +0000 (02:36 +0100)]
thumb: validate path before extracting missing parts
Silence PHP warning about undefined offset on invalid requests.
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:35:14 +0000 (02:35 +0100)]
edit/page: ignore missing edit target
Silence javascript warning on uneditable pages.
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:39:12 +0000 (02:39 +0100)]
edit/page: describe hotkey letter in save plugin
Minor code cleanup of a magic value.
Mischa POSLAWSKY [Sun, 17 May 2020 00:40:31 +0000 (02:40 +0200)]
edit/page: allow image uploads through easyimage
Fix local files shown as blobs in testing.
Mischa POSLAWSKY [Tue, 22 Dec 2020 23:20:13 +0000 (00:20 +0100)]
edit/page: disable pdf plugin for ckeditor
Imposed in Full release since version 4.15.1, causing license warning
despite being unused and unwanted.
Mischa POSLAWSKY [Tue, 22 Dec 2020 23:35:42 +0000 (00:35 +0100)]
edit/page: ckeditor image upload to user dir, returned as thumb
Mischa POSLAWSKY [Tue, 22 Dec 2020 12:33:24 +0000 (13:33 +0100)]
edit/page: disable image size attributes in editor
Disallow width and height, with Advanced Content Filtering enabled following
<https://ckeditor.com/docs/ckeditor4/latest/guide/dev_disallowed_content.html
#how-to-allow-everything-except>.
Mischa POSLAWSKY [Tue, 22 Dec 2020 12:11:54 +0000 (13:11 +0100)]
edit/page: fix ckeditor [json] upload response
One incompatibility in commit
v4.4-28-gdd363674c2 (2020-12-05)
[update remote ckeditor to version 4.15.1] after all, according to
https://ckeditor.com/docs/ckeditor4/latest/guide/dev_file_browser_api.html:
> Since CKEditor 4.9 all file uploads, including those initiated by the File
> Browser plugin, expect a JSON response
Mischa POSLAWSKY [Tue, 22 Dec 2020 18:34:53 +0000 (19:34 +0100)]
edit/page: include admin stylesheet in editor ui
Fix dialog style separated in the previous commit.
Mischa POSLAWSKY [Sun, 20 Dec 2020 15:55:24 +0000 (16:55 +0100)]
edit/head: optional admin stylesheet for editor overrides
Fix logout hiding if logged out.
Mischa POSLAWSKY [Sun, 20 Dec 2020 01:16:19 +0000 (02:16 +0100)]
edit/head: ckeditor script url in data attribute
Mischa POSLAWSKY [Sun, 20 Dec 2020 00:58:13 +0000 (01:58 +0100)]
edit/head: check original file request for writability
Mischa POSLAWSKY [Sun, 20 Dec 2020 00:56:50 +0000 (01:56 +0100)]
page: rename page method to file
More descriptive of requested file name, avoiding duplicate $Page->page.
Mischa POSLAWSKY [Sat, 19 Dec 2020 14:40:52 +0000 (15:40 +0100)]
edit/page: add edit button in javascript
Mischa POSLAWSKY [Sat, 19 Dec 2020 14:29:03 +0000 (15:29 +0100)]
edit/head: move admin preparation to separate include
Mischa POSLAWSKY [Fri, 3 Jan 2020 08:46:05 +0000 (09:46 +0100)]
issue/report: activity widget to list latest messages
Mischa POSLAWSKY [Wed, 16 Dec 2020 13:05:11 +0000 (14:05 +0100)]
edit/page: enforce relative links to local domain
Replace <a href> and <img src> urls on save to fix common user mistake
breaking site deployment on a different [dev] domain.
Mischa POSLAWSKY [Wed, 16 Dec 2020 12:54:24 +0000 (13:54 +0100)]
edit/page: replace format selection by style options
Save one button (fitting in 2 rows on 420px width) by getting rid of the
arbitrary distinction between formatting and styles, the latter having
equally semantic elements and capable of toggling headers.
Mischa POSLAWSKY [Wed, 16 Dec 2020 12:52:45 +0000 (13:52 +0100)]
edit/page: rename and append editor style options
Support previously manual elements on Lijtweg: p.nav, s, span.right.
Prepare options to be displayed in 2 columns (frontend style).
Mischa POSLAWSKY [Wed, 16 Dec 2020 12:49:14 +0000 (13:49 +0100)]
page: retain conditional login elements in editor
Fix losing logout parts on save.
Mischa POSLAWSKY [Sat, 12 Dec 2020 16:23:42 +0000 (17:23 +0100)]
page: quote link name fallback
Match title from page html.
Mischa POSLAWSKY [Sat, 12 Dec 2020 15:02:35 +0000 (16:02 +0100)]
sitemap: nested index of handler subpages results
Mischa POSLAWSKY [Sat, 12 Dec 2020 14:41:39 +0000 (15:41 +0100)]
page: search results as article objects
Wanted to determine page link, but also afterwards in sitemap
and likely most other uses.
Mischa POSLAWSKY [Sat, 12 Dec 2020 14:29:24 +0000 (15:29 +0100)]
page: index method to call metadata handler
Clean up duplicate code on login and sitemap.
Mischa POSLAWSKY [Sat, 12 Dec 2020 14:16:29 +0000 (15:16 +0100)]
nieuws: article index on sitemap request
Restore subpages ignored since previous commit.
Mischa POSLAWSKY [Wed, 9 Dec 2020 09:38:06 +0000 (10:38 +0100)]
page: skip directory handlers in search
Code can alter file behaviour, so should be omitted from sitemap results
(to be replaced by custom index in following commit).
Removes wanted nieuws articles, but also random foto descriptions and
some accidental html files.
Mischa POSLAWSKY [Wed, 9 Dec 2020 08:01:49 +0000 (09:01 +0100)]
page: retain thumb subhandlers over invalid resize
Ignore non-static files such as /thumb/qr on Lijtweg.
Mischa POSLAWSKY [Wed, 9 Dec 2020 07:56:42 +0000 (08:56 +0100)]
sitemap: apply link metadata from handler call
Execute generic index code introduced in commit
v4.5-23-gb9757db578
(2020-12-19) [login: userless handler call to obtain metadata].
Mischa POSLAWSKY [Wed, 9 Dec 2020 09:38:56 +0000 (10:38 +0100)]
mail: support invalid and repeated requests
Fix random sitemap pages.
Mischa POSLAWSKY [Wed, 9 Dec 2020 07:55:48 +0000 (08:55 +0100)]
login: userless handler call to obtain metadata
Generic solution (previously hardcoded to only /melding) to run code of any
forwarding request, returning at least custom title, teaser, and image,
without having to construct full html.
Mischa POSLAWSKY [Sun, 6 Dec 2020 08:18:16 +0000 (09:18 +0100)]
nieuws: fix relative image paths in toc
Current path does not apply with trailing /.
Mischa POSLAWSKY [Sun, 6 Dec 2020 08:08:38 +0000 (09:08 +0100)]
widget: unnamed options as placeholders instead of path
Mischa POSLAWSKY [Sun, 6 Dec 2020 07:40:32 +0000 (08:40 +0100)]
mail: navigation links to earlier files
Mischa POSLAWSKY [Sun, 6 Dec 2020 07:28:11 +0000 (08:28 +0100)]
login/commits: nav widget for common pagination links
Mischa POSLAWSKY [Sun, 6 Dec 2020 06:33:51 +0000 (07:33 +0100)]
mail: lay out sender and date as subheader
Similar to the GMail interface.
Mischa POSLAWSKY [Sun, 6 Dec 2020 06:31:32 +0000 (07:31 +0100)]
mail: imap function to parse sender addresses
Require built-in imap module instead of the mailparse extension.
Either can be installed on Debian (or enabled on Vimexx servers)
so prefer the more complete solution.
Mischa POSLAWSKY [Sun, 6 Dec 2020 06:11:06 +0000 (07:11 +0100)]
mail: ignore unreadable files
Incorrect installation should be obvious without fatal errors.
Mischa POSLAWSKY [Sat, 9 Sep 2017 00:08:33 +0000 (02:08 +0200)]
page: showsize() to format file sizes
Copied from Lijtweg [doclist precursor] introduced in commit
v2.0-12-g040c5406df (2017-09-18) [com/bewoners: group file types by date];
unaltered since but no longer used. Could prove useful later, so move here
to merge identically named files and share with other projects.
Mischa POSLAWSKY [Sat, 5 Dec 2020 08:15:51 +0000 (09:15 +0100)]
page: move showdate() into formatting include
Do not enforce presentation style in articles. Separate from class,
allowing site override if wanted.
Mischa POSLAWSKY [Sat, 5 Dec 2020 07:57:52 +0000 (08:57 +0100)]
page: delay loading user code until after page
Improved presentation on failure.
Mischa POSLAWSKY [Sat, 5 Dec 2020 07:56:52 +0000 (08:56 +0100)]
page: move custom error handling to include
Mischa POSLAWSKY [Sat, 5 Dec 2020 03:15:09 +0000 (04:15 +0100)]
login: preview teaser metadata of goto target
Assume the introduction paragraph does not contain restricted contents
(also included in public sitemap) and wanted as contents for social media
links instead of unrelated login description.
Mischa POSLAWSKY [Mon, 7 Dec 2020 14:25:29 +0000 (15:25 +0100)]
edit/page: common retrieval of contents element
Mischa POSLAWSKY [Fri, 10 Jan 2020 21:16:11 +0000 (22:16 +0100)]
edit/page: copy static contents before dynamic alterations
Revert javascript alterations before starting edits, preventing them being
saved on lijtweg.nl/doc/splitsing and various Excelsior pages.
Mischa POSLAWSKY [Mon, 7 Dec 2020 14:23:49 +0000 (15:23 +0100)]
head: load edit script before body
Introduce $Page->head for html head output.
Allows editor setup before running other javascript.
Mischa POSLAWSKY [Fri, 4 Dec 2020 22:50:39 +0000 (23:50 +0100)]
page: prepend 404 contents to admin template
Preview actual output on edit.
Mischa POSLAWSKY [Fri, 4 Dec 2020 00:30:17 +0000 (01:30 +0100)]
page: ignore output buffer in article render
Operate on object property [raw] only.
Stops preliminary output (such as in nieuws code) being injected inside the
html body, probably something to restore later for improved behaviour of
errors and broken code.
Mischa POSLAWSKY [Thu, 3 Dec 2020 21:57:06 +0000 (22:57 +0100)]
widget/page: apply nested placeholders
Similar to article rendering added in commit
v3.5-16-g9e9882d6f2
(2018-08-07) [nieuws: replace placeholders in article contents].
Mischa POSLAWSKY [Thu, 3 Dec 2020 21:22:28 +0000 (22:22 +0100)]
page: store placeholder values in $Page object
Mischa POSLAWSKY [Thu, 3 Dec 2020 20:22:27 +0000 (21:22 +0100)]
page: move getoutput() to render method
Mischa POSLAWSKY [Thu, 3 Dec 2020 21:28:09 +0000 (22:28 +0100)]
page: move placeholder_include() to widget method
Mischa POSLAWSKY [Thu, 3 Dec 2020 19:59:58 +0000 (20:59 +0100)]
page: replace global variables by $Page object
Former $Article is sufficient to provide all derived values:
$Page = $Page->handler
$Args = $Page->path
$PageAccess = $Page->restricted
$Article = $Page
Swap with more appropriate (and short) $Page name and replace any usage.
Major incompatible cleanup before other upcoming behavioural changes.
Mischa POSLAWSKY [Wed, 9 Dec 2020 09:38:31 +0000 (10:38 +0100)]
foto: fix colon separator after empty root title
Mischa POSLAWSKY [Thu, 3 Dec 2020 19:26:59 +0000 (20:26 +0100)]
foto: replace deprecated <strike> element by <s>
Identical results conforming to the HTML5 standard.
Obsolete HTML 3 spelling is not recognised by ckeditor
so cannot be used in static html.