core: Proper country name internationalisation

0 votes

Vote

Raised 0% of 12 credits
(12 credits = 2 hours or $83.43)

I put through a patch allowing country names to be internationalised.
https://github.com/ocproducts/composr/commit/e8a2e2829f6738cee61001429ff09d33b2894ee6
I did not document it.

However, this is messy because it just overrides the hard-coded English strings. Ideally the English strings should be lang…

Suggested by Chris Graham on 9th May 2019

core_themeing: Support dark mode in default theme

2 votes

Vote

Raised 0% of 120 credits
(120 credits = 20 hours or $834.34)

See Safari's announcement:
https://webkit.org/blog/8718/new-webkit-features-in-safari-12-1/

You can make a website light/dark based on media queries. This would be a really cool feature for Composr's default theme.

Currently it's non-standardised.

What is exciting to me is that this may be cool e…

Suggested by Chris Graham on 5th April 2019

recommend: Support web share API

0 votes

Vote

Raised 0% of 18 credits
(18 credits = 3 hours or $125.15)

https://wicg.github.io/web-share/

At this time I think only Safari supports it, so it's very early days. It is interesting though.

Suggested by Chris Graham on 5th April 2019

core: Simplify multiple isset checks

0 votes

Vote

Raised 0% of 6 credits
(6 credits = 1 hour or $41.72)

Little known trick that PHP's isset can take multiple arguments:
https://twitter.com/ericlbarnes/status/1113869112390967296?s=19

Employ this where appropriate in our code.

Suggested by Chris Graham on 5th April 2019

core_database_drivers: Cleanup queries so can_arbitrary_groupby/remove_duplicate_rows

1 vote

Vote

Raised 0% of 24 credits
(24 credits = 4 hours or $166.87)

In various places we use can_arbitrary_groupby and/or remove_duplicate_rows to strip out duplicated rows coming out of SQL queries.

This is because doing JOINs on tables will multiply up rows on the main table being queried, if the joined table has multiple matching records.
For example, if you are usi…

Suggested by Chris Graham on 3rd April 2019

core: Static cache URL whitelist

0 votes

Vote

Raised 0% of 12 credits
(12 credits = 2 hours or $83.43)

Allow configuring a whitelist (series of regexps) specifying what URLs may be static-cached.

This is to preserve disk space, bots may generate lots of invalid URLs and hence fill up the static cache with junk.

Suggested by Chris Graham on 19th March 2019

core: Support DNS entries in backdoor_ip, and multiple values

0 votes

Vote

Raised 0% of 12 credits
(12 credits = 2 hours or $83.43)

Allow DNS entries, and multiple values, in the backdoor_ip setting.

DNS queries may be better due to dyndns, while users often aren't truly on static IPs, or may want a working backdoor as they move locations. As for security improvement: this is debatable as there are such things as DNS-poisoning attac…

Suggested by Chris Graham on 5th March 2019

galleries: Import from filesystem

1 vote

Vote

Raised 0% of 24 credits
(24 credits = 4 hours or $166.87)

Allow importing galleries from an on-disk directory structure, just like we currently support for the downloads system.

Suggested by Chris Graham on 27th February 2019

core_database_drivers: Clean MySQL 8 support

1 vote

Vote

Raised 0% of 30 credits
(30 credits = 5 hours or $206.85)

MySQL 8 made 3 things keywords which we have used for field names:
1) groups
2) path
3) description

This caused some major havoc. We use 'description' a lot.

I tried to fix it in this commit where I added escaping throughout the codebase https://github.com/ocproducts/composr/commit/e07e7bcbf4cccdd…

Suggested by Chris Graham on 25th February 2019

random_quotes: Allow block cache time to be overridden

0 votes

Vote

Raised 0% of 12 credits
(12 credits = 2 hours or $83.43)

Add a new universal block option, the ttl for that block instance's caching.
That ttl value should become a part of the cache signature, so you can have multiple instances of the same block that are now separately cached (necessary for the main_quote block).

Suggested by Chris Graham on 22nd February 2019