minimedit.git
6 years agoedit: static edit link v2.2
Mischa POSLAWSKY [Mon, 18 Sep 2017 23:41:36 +0000 (01:41 +0200)]
edit: static edit link

Replace existing html instead of delayed append.

6 years agopage: replace login placeholder by precomposed paragraph
Mischa POSLAWSKY [Mon, 18 Sep 2017 23:33:35 +0000 (01:33 +0200)]
page: replace login placeholder by precomposed paragraph

Prepare for more elaborate user details.

6 years agopage: save granted access for admin options
Mischa POSLAWSKY [Sat, 16 Sep 2017 16:08:39 +0000 (18:08 +0200)]
page: save granted access for admin options

Page code will want to show encountered restrictions.

6 years agopage: restore error display in page includes
Mischa POSLAWSKY [Sat, 16 Sep 2017 15:41:40 +0000 (17:41 +0200)]
page: restore error display in page includes

Successful executions should not be silenced.

6 years agopage: save document root for includes during shutdown
Mischa POSLAWSKY [Sat, 16 Sep 2017 15:11:46 +0000 (17:11 +0200)]
page: save document root for includes during shutdown

Current directory is unavailable in fatal error handler.

6 years agopage: catch triggered php errors
Mischa POSLAWSKY [Sat, 16 Sep 2017 15:11:03 +0000 (17:11 +0200)]
page: catch triggered php errors

6 years agopage: silence php reporting of handled fatal errors
Mischa POSLAWSKY [Sat, 16 Sep 2017 14:14:41 +0000 (16:14 +0200)]
page: silence php reporting of handled fatal errors

Prevent duplicate output.

6 years agopage: .private to restrict access to subdirectories
Mischa POSLAWSKY [Sat, 16 Sep 2017 14:06:36 +0000 (16:06 +0200)]
page: .private to restrict access to subdirectories

6 years agopage: unconditional declaration of getoutput()
Mischa POSLAWSKY [Sat, 16 Sep 2017 13:57:10 +0000 (15:57 +0200)]
page: unconditional declaration of getoutput()

Move up front to allow usage in fail() error handler.

6 years agoedit: ignore html elements in sentence wrapping
Mischa POSLAWSKY [Fri, 15 Sep 2017 19:59:53 +0000 (21:59 +0200)]
edit: ignore html elements in sentence wrapping

Assume whitespace is safe to be wrapped anywhere.  Exceptions could still
occur inside of tags, but deemed very unlikely.  Rather have large code
blobs be counted as separate characters.

6 years agopage: write edit includes from common script
Mischa POSLAWSKY [Fri, 15 Sep 2017 18:54:24 +0000 (20:54 +0200)]
page: write edit includes from common script

Enforce on all sites, appending (editable) footer.html instead for
site-specific contents.

6 years agopage: strip nested placeholder indicators
Mischa POSLAWSKY [Fri, 15 Sep 2017 17:33:50 +0000 (19:33 +0200)]
page: strip nested placeholder indicators

Allow replacements within replacements.

6 years agopage: prefer page template from script root
Mischa POSLAWSKY [Fri, 15 Sep 2017 17:32:23 +0000 (19:32 +0200)]
page: prefer page template from script root

Allow different defaults for prepending scripts.

6 years agoedit: replace custom paragraph breaks by sentence wrapping
Mischa POSLAWSKY [Fri, 15 Sep 2017 17:31:19 +0000 (19:31 +0200)]
edit: replace custom paragraph breaks by sentence wrapping

Attempt to improve readability of HTML source (and line-based diffs).

6 years agopage: omit numeric placeholders during edit
Mischa POSLAWSKY [Fri, 15 Sep 2017 14:07:00 +0000 (16:07 +0200)]
page: omit numeric placeholders during edit

Support automatically appended (not replaced) contents.

6 years agoedit: reenforce xml slash in self-closing elements
Mischa POSLAWSKY [Thu, 14 Sep 2017 20:36:08 +0000 (22:36 +0200)]
edit: reenforce xml slash in self-closing elements

Originally disabled to keep in line with legacy html,
but an outdated rule for new contents.

6 years agopage: edit template in static contents
Mischa POSLAWSKY [Fri, 15 Sep 2017 13:42:59 +0000 (15:42 +0200)]
page: edit template in static contents

Allow post-processing by relevant scripts.

6 years agoedit: allow any non-hidden filename v2.1
Mischa POSLAWSKY [Thu, 14 Sep 2017 15:45:48 +0000 (17:45 +0200)]
edit: allow any non-hidden filename

6 years agoedit: enable placeholder plugin
Mischa POSLAWSKY [Sun, 10 Sep 2017 14:33:51 +0000 (16:33 +0200)]
edit: enable placeholder plugin

User-friendly styling and control of dynamic parts.

6 years agoedit: restore placeholders on edit
Mischa POSLAWSKY [Thu, 14 Sep 2017 15:41:51 +0000 (17:41 +0200)]
edit: restore placeholders on edit

6 years agopage: common getoutput() to replace placeholders
Mischa POSLAWSKY [Thu, 14 Sep 2017 15:44:57 +0000 (17:44 +0200)]
page: common getoutput() to replace placeholders

6 years agoedit: create missing directories on save
Mischa POSLAWSKY [Thu, 14 Sep 2017 15:41:12 +0000 (17:41 +0200)]
edit: create missing directories on save

6 years agoedit: autostart mode on #edit hash
Mischa POSLAWSKY [Thu, 14 Sep 2017 15:40:39 +0000 (17:40 +0200)]
edit: autostart mode on #edit hash

6 years agoedit: right-align ckeditor toolbar
Mischa POSLAWSKY [Thu, 14 Sep 2017 15:40:08 +0000 (17:40 +0200)]
edit: right-align ckeditor toolbar

Avoid overlap with [static] titles.

6 years agopage: catch fatal php errors
Mischa POSLAWSKY [Wed, 13 Sep 2017 23:40:30 +0000 (01:40 +0200)]
page: catch fatal php errors

6 years agopage: user-dependent filter menu links
Mischa POSLAWSKY [Wed, 13 Sep 2017 22:59:16 +0000 (00:59 +0200)]
page: user-dependent filter menu links

Remove .logout items for users, .login for guests.

6 years agopage: replace error scripts by editable html with placeholders
Mischa POSLAWSKY [Wed, 13 Sep 2017 20:20:22 +0000 (22:20 +0200)]
page: replace error scripts by editable html with placeholders

6 years agopage: prepare static output before dynamic code
Mischa POSLAWSKY [Wed, 13 Sep 2017 19:51:47 +0000 (21:51 +0200)]
page: prepare static output before dynamic code

Give script includes full access to prepared html, greatly simplifying
buffer logic and allowing potential substitutions.  Assumes small pages
since all data flushes are delayed (can be worked around if ever needed).

6 years agoedit: replace executable check by filename validation
Mischa POSLAWSKY [Wed, 13 Sep 2017 18:03:32 +0000 (20:03 +0200)]
edit: replace executable check by filename validation

No more distinction in php files; prefer a-x.

6 years agopage: return 500 status and page on php exceptions
Mischa POSLAWSKY [Wed, 13 Sep 2017 15:16:03 +0000 (17:16 +0200)]
page: return 500 status and page on php exceptions

Significantly catch syntax errors in editor saves.

6 years agopage: rework script control
Mischa POSLAWSKY [Wed, 13 Sep 2017 11:44:27 +0000 (13:44 +0200)]
page: rework script control

Do not match *.html contents to subrequests, only traverse parents for *.php
scripts which now support an additional output layer for appended output.
This allows parent code to prepare how its subpages will be displayed
(for example, a news directory can surround static articles with metadata).

6 years agologin: avoid php notice on missing user
Mischa POSLAWSKY [Wed, 13 Sep 2017 02:04:12 +0000 (04:04 +0200)]
login: avoid php notice on missing user

6 years agoedit: toggle editor dynamically
Mischa POSLAWSKY [Wed, 13 Sep 2017 02:00:59 +0000 (04:00 +0200)]
edit: toggle editor dynamically

Replace predetermined ?edit mode by javascript activation link in header.
Same results without page reload.

6 years agoedit: distinct admin template for missing pages
Mischa POSLAWSKY [Wed, 13 Sep 2017 02:00:15 +0000 (04:00 +0200)]
edit: distinct admin template for missing pages

Similar results to javascript modification but much easier to maintain.

6 years agopage: exclude dynamic output from article container
Mischa POSLAWSKY [Tue, 12 Sep 2017 21:40:13 +0000 (23:40 +0200)]
page: exclude dynamic output from article container

Restrict editor to only static contents.

6 years agologin: replace http authentication by cookie system
Mischa POSLAWSKY [Tue, 12 Sep 2017 21:39:35 +0000 (23:39 +0200)]
login: replace http authentication by cookie system

Extend PHP_AUTH/.htpasswd parser to also control input and storage
for complete control.  No longer shares Apache access control; should be
replaced if still needed to prevent duplicate login requests.

6 years agopage: include path in page includes
Mischa POSLAWSKY [Tue, 12 Sep 2017 19:07:05 +0000 (21:07 +0200)]
page: include path in page includes

Prefer site customisations over minimedit defaults.

6 years agopage: rename head includes
Mischa POSLAWSKY [Tue, 12 Sep 2017 18:56:23 +0000 (20:56 +0200)]
page: rename head includes

Site specific header from head.inc.html to head.inc.php to allow code,
replacing generic page container renamed to more appropriate page.inc.php.

6 years agopage: skip head formatting for script overrides (edit)
Mischa POSLAWSKY [Tue, 12 Sep 2017 18:36:11 +0000 (20:36 +0200)]
page: skip head formatting for script overrides (edit)

Can be included explicitly if wanted.

6 years agopage: global var to indicate edit mode v2.0
Mischa POSLAWSKY [Tue, 12 Sep 2017 00:40:41 +0000 (02:40 +0200)]
page: global var to indicate edit mode

6 years agopage: replace links to current page in menu include
Mischa POSLAWSKY [Tue, 12 Sep 2017 00:19:31 +0000 (02:19 +0200)]
page: replace links to current page in menu include

Replaces similar client-side javascript on Excelsior for direct/static
results.

6 years agopage: wrap menu in header container
Mischa POSLAWSKY [Tue, 12 Sep 2017 00:16:37 +0000 (02:16 +0200)]
page: wrap menu in header container

6 years agopage: route requests through global php handler
Mischa POSLAWSKY [Tue, 12 Sep 2017 00:08:06 +0000 (02:08 +0200)]
page: route requests through global php handler

Move contents of all *.php pages to source *.html, to be included by
page.php depending on requested path.  Dynamic contents can optionally be
added by corresponding *.php includes.

6 years agopage: split head/foot includes
Mischa POSLAWSKY [Mon, 11 Sep 2017 23:57:41 +0000 (01:57 +0200)]
page: split head/foot includes

Separate menu.html for site-specific navigation from head.inc.html,
and move mandatory div/body closing tags out of foot.inc.php.

6 years agologout: clear user var to prevent disallowed edit option v1.3
Mischa POSLAWSKY [Tue, 11 Jul 2017 16:13:46 +0000 (18:13 +0200)]
logout: clear user var to prevent disallowed edit option

6 years agologin: replace page editability var by admin status
Mischa POSLAWSKY [Tue, 11 Jul 2017 15:30:57 +0000 (17:30 +0200)]
login: replace page editability var by admin status

Code cleanup, same results.

6 years agopage: authorise user logins at page start
Mischa POSLAWSKY [Tue, 11 Jul 2017 15:25:57 +0000 (17:25 +0200)]
page: authorise user logins at page start

Move from foot to head to allow usage in all pages.

6 years agologin: custom welcome page after login
Mischa POSLAWSKY [Tue, 11 Jul 2017 15:04:38 +0000 (17:04 +0200)]
login: custom welcome page after login

6 years agologin: separate logout page
Mischa POSLAWSKY [Tue, 11 Jul 2017 15:57:03 +0000 (17:57 +0200)]
login: separate logout page

Move login fallback to a distinct page to allow forced relogin.

6 years agologin: emulate apache authentication to check admin login
Mischa POSLAWSKY [Mon, 10 Jul 2017 04:49:41 +0000 (06:49 +0200)]
login: emulate apache authentication to check admin login

Send 401 response until user validates as admin (replacing ip whitelisting).
Assume all users except for generic 'lid' are allowed.

6 years agopage: move client authentication to php include
Mischa POSLAWSKY [Mon, 10 Jul 2017 03:20:16 +0000 (05:20 +0200)]
page: move client authentication to php include

6 years agoedit: root include from parent directory on subpages
Mischa POSLAWSKY [Tue, 11 Jul 2017 16:19:47 +0000 (18:19 +0200)]
edit: root include from parent directory on subpages

6 years agorename all html files to php
Mischa POSLAWSKY [Mon, 10 Jul 2017 01:52:57 +0000 (03:52 +0200)]
rename all html files to php

Server permissions to set "AddHandler application/x-httpd-php html"
may not be available.  Appropriate extension should work everywhere.

6 years agoconvert ssi html files to php code
Mischa POSLAWSKY [Mon, 10 Jul 2017 02:09:49 +0000 (04:09 +0200)]
convert ssi html files to php code

Replace includes by equivalent php: single head.inc.php sets up same static
head.inc.html but with mandatory edit container, and existing foot.inc.php
(similar ssi variant no longer needed).

Requires httpd to change .html handler from server-parsed (ssi) to
application/x-httpd-php.

6 years agoedit: emulate ip authentication in php footer
Mischa POSLAWSKY [Mon, 10 Jul 2017 01:36:40 +0000 (03:36 +0200)]
edit: emulate ip authentication in php footer

Equivalent to .htaccess rules for SSI foot.inc.html.

6 years agoedit: detect executable files as uneditable
Mischa POSLAWSKY [Mon, 10 Jul 2017 02:44:38 +0000 (04:44 +0200)]
edit: detect executable files as uneditable

6 years ago404: convert error pages to php code
Mischa POSLAWSKY [Mon, 10 Jul 2017 01:49:44 +0000 (03:49 +0200)]
404: convert error pages to php code

Only remaining usage of SSI aside from head/foot inclusion.

6 years agoedit: drop php shebangs
Mischa POSLAWSKY [Mon, 8 May 2017 09:30:26 +0000 (11:30 +0200)]
edit: drop php shebangs

Output literally in certain configurations, including on Xenat servers after
recent upgrade.

7 years agoedit: drop executable bits to mark non-editable
Mischa POSLAWSKY [Wed, 17 Aug 2016 19:58:19 +0000 (21:58 +0200)]
edit: drop executable bits to mark non-editable

Assume CGI compatibility is no longer needed.

9 years agoedit: preview page css in block options
Mischa POSLAWSKY [Fri, 23 Jan 2015 13:54:33 +0000 (14:54 +0100)]
edit: preview page css in block options

9 years agopage: rename head/foot include files v1.2
Mischa POSLAWSKY [Tue, 20 Jan 2015 18:55:07 +0000 (19:55 +0100)]
page: rename head/foot include files

Replace initial common.html and footer.html by a more logical
head.inc.html and foot.inc.html pair.

9 years agoedit: delete page if emptied
Mischa POSLAWSKY [Mon, 19 Jan 2015 19:45:19 +0000 (20:45 +0100)]
edit: delete page if emptied

9 years agoedit: include anchor button to refer news items
Mischa POSLAWSKY [Mon, 19 Jan 2015 08:32:57 +0000 (09:32 +0100)]
edit: include anchor button to refer news items

9 years agoignore untracked ckeditor checkout
Mischa POSLAWSKY [Mon, 19 Jan 2015 08:29:02 +0000 (09:29 +0100)]
ignore untracked ckeditor checkout

9 years agoedit: generic save icon
Mischa POSLAWSKY [Mon, 19 Jan 2015 08:26:02 +0000 (09:26 +0100)]
edit: generic save icon

Exact link doesn't work with compiled/combined icon sets.

9 years agopage: prepare php footer include
Mischa POSLAWSKY [Sun, 18 Jan 2015 18:52:34 +0000 (19:52 +0100)]
page: prepare php footer include

Superset of footer-noedit.html with partial editing features from
footer.html (missing permission checks) for eventual conversion from SSI.

9 years agopage: static footer include alternative
Mischa POSLAWSKY [Sun, 18 Jan 2015 17:29:06 +0000 (18:29 +0100)]
page: static footer include alternative

Variant of footer.html for php/uneditable files (Excelsior bestel page).

9 years agoedit: cgi script (shebang and executable)
Mischa POSLAWSKY [Fri, 31 Oct 2014 23:37:21 +0000 (00:37 +0100)]
edit: cgi script (shebang and executable)

9 years agoedit: report successful saves v1.1
Mischa POSLAWSKY [Thu, 28 Aug 2014 18:19:14 +0000 (20:19 +0200)]
edit: report successful saves

9 years agoedit: encode page url in path
Mischa POSLAWSKY [Thu, 28 Aug 2014 18:18:09 +0000 (20:18 +0200)]
edit: encode page url in path

Included in access logs.

9 years agoedit: force paste as plain text
Mischa POSLAWSKY [Sun, 20 Jul 2014 15:12:08 +0000 (17:12 +0200)]
edit: force paste as plain text

Rich paste contains too much unwanted styling.

9 years agoedit: page class to indicate edit mode
Mischa POSLAWSKY [Sun, 20 Jul 2014 14:48:05 +0000 (16:48 +0200)]
edit: page class to indicate edit mode

On Excelsior to show folded (track) contents while editing.

9 years agoedit: page name fallback for subdirectory index
Mischa POSLAWSKY [Wed, 16 Jul 2014 12:39:25 +0000 (14:39 +0200)]
edit: page name fallback for subdirectory index

9 years agoedit: rooted links to support subdirectories
Mischa POSLAWSKY [Tue, 15 Jul 2014 20:47:51 +0000 (22:47 +0200)]
edit: rooted links to support subdirectories

9 years agoedit: refer to upcoming image upload handler
Mischa POSLAWSKY [Tue, 15 Jul 2014 09:30:31 +0000 (11:30 +0200)]
edit: refer to upcoming image upload handler

9 years agoedit: disable image resizing (plus workaround)
Mischa POSLAWSKY [Fri, 11 Jul 2014 16:07:59 +0000 (18:07 +0200)]
edit: disable image resizing (plus workaround)

Unwanted feature which will cause ugly results if accidentally used.

9 years agoedit: customise default table attributes
Mischa POSLAWSKY [Fri, 11 Jul 2014 16:07:59 +0000 (18:07 +0200)]
edit: customise default table attributes

Prevent unwanted values for styling attributes.

9 years agoedit: compatibility html formatting v1.0
Mischa POSLAWSKY [Tue, 8 Jul 2014 22:12:26 +0000 (00:12 +0200)]
edit: compatibility html formatting

Match format of existing documents.

9 years ago404: ErrorDocument with special case to create as admin
Mischa POSLAWSKY [Tue, 8 Jul 2014 22:10:51 +0000 (00:10 +0200)]
404: ErrorDocument with special case to create as admin

9 years agoedit: link to toggle editing mode
Mischa POSLAWSKY [Tue, 8 Jul 2014 17:42:16 +0000 (19:42 +0200)]
edit: link to toggle editing mode

9 years agoedit: restrict to whitelisted ip addresses
Mischa POSLAWSKY [Tue, 8 Jul 2014 16:52:24 +0000 (18:52 +0200)]
edit: restrict to whitelisted ip addresses

Basic security from Apache configuration:

<Files "edit.php">
Deny from all
Allow from 127.0.0.1/32
</Files>

9 years agoedit: page editor and php save handler
Mischa POSLAWSKY [Tue, 8 Jul 2014 13:28:23 +0000 (15:28 +0200)]
edit: page editor and php save handler

Inline CKEditor to alter static contents in <div class="article">.
Assumes wanted v4.1.2 ckeditor.js in ckeditor/.

10 years agopage: common footer include
Mischa POSLAWSKY [Fri, 7 Jun 2013 01:35:37 +0000 (03:35 +0200)]
page: common footer include

Generic end of HTML as used on all (SSI) pages:

<!--#include virtual="common.html" -->
contents
<!--#include virtual="footer.html" -->

The top part is site-specific but basically contains the opposite.