The include/languages.inc file was not removed as it's used in other
repositories. It should be removed after migration.
Tests were added to ensure that the global variables and the constants
are in sync with each other.
Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
* Replace `ob_get_contents();ob_clean()` with `ob_get_clean()`
`ob_get_clean()` is equivalent to `ob_get_contents()` followed by `ob_clean()`.
* Replace `intval()` calls with `(int)` type cast
This is a micro-optimization because `intval()` is a function call, and the type cast is about 6 times fast.
* Replace `preg_replace` call that could be done with an `rtrim()` call
In `./error.php`, there is a `preg_replace('!/+$!', '', $URI);` call that essentially is equivalent to `rtrim()`, that both calls removing trailing slash characters in `$URI`.
The `rtim()` call is more legible and faster.
* Combine consecutive `str_replace` calls to a single `str_replace` call
* Use short ternary operator where possible
Improves code readability.
* Cascade various `else` statements where possible
Cleans up the code by removing unnecessary `else` blocks and moving the code to the parent context if the previous `if` block exits the function by either terminating the script, or with a `return` statement.
* Combine multiple `isset()` calls to a single `isset()`
`isset()` accepts multiple parameters and returns `true` only if all of the parameters are `isset`. It makes sense to combine multiple individual `isset` calls to a single call for better readability.
* Replace `for` loop with a `foreach` loop
* Remove unnecessary character escapes in regular expressions
Regular expression special characters are context-sensitive. For example, special characters such as `.` are not considered special within square braces (`[]`).
This removes several of such instances that certain characters are escaped, but it is not strictly necessary within the context. This improves the readability of the expression.
See more information at [PHP.Watch: Writing better Regular Expressions in PHP](https://php.watch/articles/php-regex-readability#reduce-escape)
* Remove unnecessary break statement
* Remove unnecessary PHP close tags
* Remove redundant JSON_ERROR_NONE check
Remove unnecessary `json_last_error() == JSON_ERROR_NONE` where the decoded object is inspected already.
Closes GH-603.
The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.
In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.
This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.
- the creation of $_.. vars
- global-ing them before usage
These are not needed anymore, we have all mirrors with
PHP > 4.1.0, and those having old versions are disabled
them disabled now, so autoglobal vars should work on
all mirrors without special preparation
Use $_SERVER['DOCUMENT_ROOT'] for includes
instead of a user defined constant, as the docroot
value is always available [even before prepend.inc]
This ensures consistency and causes no stat() calls
Add myphpnet_...() functions to load, get/set and save
the user preferences, and use them everywhere. This
enables us to easily add new preferences to the same
cookie. Every preference will last for a year this way,
and the cookie will only be set again, if someone
modifies his data on my.php
If this works nicely, then we can easily add a preferred
mirror site setting (and more)
[These changes seem to work on my local mirror]
a cookie for all mirror sites, and use it for
country and last language cookies set by our
code
Also add code to remember the last search term
and selected search option in a cookie (JS code
will come to handle this on the client side)
about how we have parsed their accept-language
Add the first version of my.php (which will enable users to set their
own languages). Please don't spread the word, this needs testing, before
it can go live for all users...
Refactor the code to be under a function, so temp variables are lost, and there
is no global namespace solution. Also remove ?> from the end, so there won't be
any whitespace outoput in any case...
strip out any other language flavor specified in the accept language, as
we have no support for flavors of other languages (eg. en-us or en-gb will
become en).