User tests: Successful: Unsuccessful:
I fixed bugs in an old layout override and stumbled over this. This is a very complex way of checking if there is anything in that parameter. We could make it worse by using regex and maybe doing an !empty() check around all of this... Anyway, this check just tries to find out if the description parameter does contain anything of relevance. Relevant is everything that remains after removing spaces from beginning and end of the string, thus a trim() is enough.
Codereview
Please select:
Documentation link for docs.joomla.org:
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
Category | ⇒ | Front End com_users |
Status | New | ⇒ | Pending |
if you look in the history you will see that it was deliberately changed from what you are proposing to what it is now
When reading that old PR‘s code changes I can’t see that it had any trim before. It was comparing the complete unmodified string. So this PR here is not a roll back of the changes from the other PR.
@Hackwar If you want to make it work exactly the same way as the old code regarding other kinds of white space than a single space character, you could use a string with a single space as 2nd parameter for trim, then it would trim only space characters. Not sure if it needs that, but we would play safe and it still has all advantages of your code change.
interesting your change changes the behavior more then I expected:
https://3v4l.org/7LM6I (yours is $z)
Hmm, the zero evaluates to false, too. Indeed a change.
This is why it is always important to look at why code was written the way that it was before changing it
my suggestion is to move it to !empty(trim($value))
Labels |
Added:
PR-5.0-dev
|
Yes, this "changes" behavior. It actually fixes it to be in line with what people expect. The goal is to only show the text when it contains anything. Right now it only removes spaces, but would keep a line break or tab and then show the text. Yes, it also hides it, when the content is only a 0
, but I would also argue, that there is no situation where someone would want a single 0
as description. The goal of this PR is to simplify the code and make it readable for people. We want to remove invisible characters of all kinds, so I'm not going to limit the functionality of trim()
to just remove spaces. If that is not acceptable, then rather lets close this PR than to waste more time on this.
This pull request has been automatically rebased to 5.1-dev.
Labels |
Added:
Feature
|
Title |
|
Seeing the logic comes back with the summary. However, it is not possible for me to perform a test.
Seeing the documentation of PHP trim function, it cleans up all types of blank spaces in a string.
I have tested this item ✅ successfully on 7ca9182
I have read the code proposed in the PR, and I have checked the PHP documentation (https://www.php.net/manual/en/function.trim.php). The PR certainly brings an advantage: it recognizes and removes not only empty spaces but also other hidden special characters.
" " (ASCII 32 (0x20)), an ordinary space.
"\t" (ASCII 9 (0x09)), a tab.
"\n" (ASCII 10 (0x0A)), a new line (line feed).
"\r" (ASCII 13 (0x0D)), a carriage return.
"\0" (ASCII 0 (0x00)), the NUL-byte.
"\v" (ASCII 11 (0x0B)), a vertical tab.
I have tested this item ✅ successfully on 7ca9182
Status | Pending | ⇒ | Ready to Commit |
RTC
This pull request has been automatically rebased to 5.2-dev.
Title |
|
Labels |
Added:
RTC
PR-5.1-dev
PR-5.2-dev
Removed: PR-5.0-dev |
Status | Ready to Commit | ⇒ | Fixed in Code Base |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2024-05-07 08:14:14 |
Closed_By | ⇒ | pe7er |
if you look in the history you will see that it was deliberately changed from what you are proposing to what it is now