• last updated 10 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Reinstate the notnull validation constraint where missing

    • -1
    • +1
    • -2
    • +2
    • -2
    • +2
  1. … 10 more files in changeset.
re-add notnull value constraint on message_id

This constraint was removed about 14 days ago. Without this constraint,

errors like the following will show up....

[30/Aug/2022:14:07:29.820625][3102633.7f152c28d700][-conn:openacs.org:default:0:196214-] Error: rp_handler no-script-abort: errorMsg can't read "message(forum_id)": no such variable while serving GE

T /forums/message-view?message_id HTTP/1.1

: ad_url </forums/message-view> maps to file </var/www/openacs.org/packages/forums/www/message-view.adp>


: can't read "message(forum_id)": no such variable

: while executing

: "forum::get -forum_id $message(forum_id) -array forum"

Probably, in many more cases, the incorrect removal of the notnull constrain performed by [1]

requires the same fix.

[1] https://github.com/openacs/forums/commit/c403e3134ce4e73ba94a80540a8b0f3cb1651ed0#diff-d35c736495ede0174fb39791ab660c5cd1a4ca467db2c4741cfc935167d7e5a8

    • -2
    • +2
handle clases, where "nt_load_end" is not provided

Replace message keys inside message keys. Many thanks to Monika Andergassen.

Harden page contract

Make script more robust to agents that won't specify the tmpfile via using the api to retrieve the file information

Fix typo

template::element validation reform: do not run custom user-defined validation on fields that are not formally correct

Rationale: user-defined validation often assumes some basic consistency of the submitted value. When this is not formally correct, users might have to reimplement the whole formal validation in their custom fields in order to prevent exceptions. By preventing their custom blocks from being executed, users can rely on their custom fields to be run only against sane values.

Restore formatting in procs doc

Normalize indentation according to editor hints

comment tags, which are NOT supported by HTML5, allow "abbr" in enhanced text

Fix query syntax

improve styling for Bootstrap 5

provide exception handler for cleanup

further improve recording, when just navigational timing is effective

Improved robustness

When not nt_con_st or nt_con_end is provided, set nt_tcp_time to 0

Reduce verbosity

Test template::util::list_to_lookup

Deprecate template::util::nvl

Deprecate template::util::list_to_array

Deprecate template::util::is_true, implemented as a simple string command oneliner since 2015 and inline occurrences

  1. … 19 more files in changeset.
Fix typo

implemented ad_html_security_check based on ns_parsehtml

Shorten idiom

Test template::util::is_nil

Use "ns_parsehtml" for speed and correctness when available

The new NaviServer built-in command "ns_parsehtml" is used on

several occasions in the code when available, namely in

- util_close_html_tags

- escaping disallowed HTML tags in ad_text_to_html

- util_close_html_tags

The command "util_close_html_tags" has a long history of troubles,

since it was implemented originally based on regular expressions. It

was reported in Jan 2009, that the function took on certain forums

entries 6 to 9 hours (e.g. /forums/message-view?message_id=357753) to

finish. Therefore, at this time a quick version based on tdom was

introduced, which reduced at that time the performance to 7.3

seconds. However, the tdom-based version tend to fail on invalid HTML,

so it could cover only a few cases. The new "ns_parsehtml" is more

robust and works very stable on openacs.org with the know problem

cases. Furthermore, this version is also significantly faster than the

tdom version.

Fix doc

Deprecate template::util::array_to_vars and template::util::vars_to_array: their functionality can be easily inlined by using the array command

improve spelling

Use existing api to tell whether a formfield is disabled or not and to set/unset disabled on a field, handle the case of checkboxes and select fields, where the attribute should not be set whe it is false (e.g. disabled=0 == disabled)

This fixes upstream automated tests on xowiki and xowf