• last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
make spelling more consistent

Util user message reform: when a message is repeated, do not create a new entry, but just increase a counter, which will be displayed when the message is retrieved

Increase test coverage

  1. … 1 more file in changeset.
Ignore also class definitions in the ignored namespaces

Ignore the ::nsshell namespace: this is a NaviServer module, hence outside the OpenACS source tree

Consider @see annotations as sufficient documentation

Make test more precise: some procs have just a newline in their doc instead of meaningful documentation...

Centralize retrieval of the test URL

  1. … 4 more files in changeset.
Increase proc coverage

Increase test coverage

Test some system information api

The test shows that ad_acs_admin_node has so far returned a boolean, countrary to what the documentation says

file acs-kernel-procs.tcl was initially added on branch oacs-5-10.

Test demoting/promoting of a user + a buch of other api

This test fails now when checking if a demoted user is still an swa, one needs to flush the permissions as well

Test acs_user::ScreenName

Test acs_object_type_hierarchy

Test acs_object_type::get_table_name

Test acs_object_name api

Test acs_magic_object

Test various URL generating procs

file defs-procs.tcl was initially added on branch oacs-5-10.

Deprecate util_commify_number, replace occurrences and translate automated tests

  1. … 9 more files in changeset.
Extend regression test

Fix self-inflicted bug: one should indeed be able to specify the same form var multiple time, test the behavior for the future

  1. … 2 more files in changeset.
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.

  1. … 1 more file in changeset.
improve spelling

  1. … 3 more files in changeset.
Fix typo

use icanuse "ns_parsehtml" and new interface

Deprecate ad_parameter_all_values_as_list: it does not provide much value and was also often use improperly

  1. … 4 more files in changeset.
tmpfile page contract filter reform:

do not allow acs-subsite TmpDir parameter to define where the tmpfolder is located anymore. This MUST be the one configured in the server-wide configuration. Tmpfiles cannot be in a subfolder of the tmpfolder, they MUST be direct children instead. A tmpfile MUST exist beforehand and be owned, be readable and writable by the user running the nsd process. This complies with the definition of a tmpfile by AolServer/NaviServer when they are created to store content coming from a file upload.

  1. … 4 more files in changeset.
Reimplement ad_page_contract_filter_proc_tmpfile using security::safe_tmpfile_p

Some of the features implemented by this filter have been ported into the api, namely the possibility to fetch the valid temp folders from the subsite TmpDir parameter and the possibility to relax the check and allow also files deeper in the tmpfolder hierachy.

Notably, the hardcoded tmpfolders "/var/tmp" and "/tmp" have NOT been ported. One should configure these values via the many available options. security::safe_tmpfile_p is also more restrictive when a file exists, because it checks for ownership and read and write permissions on the file.

  1. … 2 more files in changeset.
Declare proc coverage

  1. … 1 more file in changeset.