• last updated 3 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Fix typo

make lang::conn::language able to run running disconnected; improve documentation

make lang::conn::locale more robust when running disconnected

Whitespace cleanup

    • -10
    • +9
Fix typo

Doc formatting changes

Keep supporting previously undocumented use cases for lc_time_fmt:

- database timestamps e.g. "2019-12-16 12:58:10.370124+01"

- short timestamps without seconds e.g. "2019-12-16 12:58"

Improved documentation and extended test cases

    • -1
    • +32
Address lc_time_fmt shortcomings:

- use clock scan to enforce supported date formats, 'YYYY-MM-DD' (undocumented, but explicitly checked for in the code) and 'YYYY-MM-DD HH:MM:SS'

- leverage clock scan capabilities to correctly handle 'impossible dates' such as 1999-02-29

- leverage clock format to obtain the correct week day

- leverage clock api to correctly handle gregorian/julian dates

- implement documented formats that had an empty entry in format array (%W, u, %U, %j)

Rename 'random', 'randomInit' and 'randomRange' procs to something compliant to OpenACS naming convention, replace occurrences, create deprecated wrapper

  1. … 7 more files in changeset.
Rename clock_to_ansi to lc_clock_to_ansi to comply with naming convention, replace occurrences, create deprecated wrapper

  1. … 5 more files in changeset.
improve handling of invalid (hacked) ad_locale cookies.

Previously, invalid ad_locale cookies lead to an error, which in turn

prevented all communication with OpenACS. So, a user had to delete the

cookie manually. Now, we just produce a warning, ignore and delete such

broken cookies.

Use 'ns_log Error' for error logging, instead of 'ns_log Notice: Error...'

  1. … 4 more files in changeset.
Fix typo

Do not rely on error trapping for file retrieval, introduce a test for this proc

improve spelling

  1. … 9 more files in changeset.
Prefer '==' over 'eq' on numeric comparison

  1. … 3 more files in changeset.
Prefer '==' over 'eq' on numeric comparison

lc_content_size_pretty: go the extra mile and return a localized 'byte' when the result is just 1 byte. Bump acs-lang version to reload message keys.

    • -1
    • +7
  1. … 33 more files in changeset.
Move 'util::content_size_pretty' into 'acs-lang' and rename it to 'lc_content_size_pretty', localicing 'bytes' and adapting automated tests. Bump 'acs-lang' version.

    • -0
    • +60
  1. … 40 more files in changeset.
Fix for issue #3409

improve spelling

improve spelling

  1. … 17 more files in changeset.
Add 'message-undelete' page to make use of the new '::message::undelete' proc for undeleting messages, a couple of icons, the undelete option in 'message-list' and the undelete action in automated tests

  1. … 6 more files in changeset.
Add 'lang::message::undelete', in order to provide an API for undeletion of messages deleted via 'lang::message::delete', and modify 'lang::message::edit' accordingly. Next step would be to provide a user interface for it.

Exclude locales that are not enabled from test

Do not test deleted keys

Display error message when the test fails

Update test case for lang::util::default_locale_from_lang

Redefine ad_locales.language table column as varchar to avoid Oracle idiosyncrasies when comparing a char(n) with other string datatypes when using bind variables (following insightful LARS's remark)

char(n) in Oracle are automatically padded to be n characters long. Apparently, comparing char(n) -> char(n) is "blanks insensitive", while comparing char(n) -> varchar2(n) will account for such automatically inserted blanks. When using bind variables, one should carefully specify the type to use to avoid surprises with char(n) (for this we should touch the oracle driver), normalize the value via trim/pad all the time or replace every char(n) datatype with varchar2. ...are there other places where this is happening?

  1. … 5 more files in changeset.
Rewrite the query to leverage transparent variable quoting, replace count with quicker existance check, bring sql inline