User tests: Successful: Unsuccessful:
Login and Logout form actions set to "index.php", in doing so undoing the change made Dec 8, 2014.
Reason for this change is that JRoute::_() doesn't honor the third parameter (the "usesecure" flag) when a complete URL is passed, this is due to the following lines in that method:
if (!is_array($url) && (strpos($url, '&') !== 0) && (strpos($url, 'index.php') !== 0))
{
return $url;
}
Assume that http://www.example.org/index.php is the current URL which is passed as a string as first parameter to JRoute::_(). A string is not an array, there is no "&" in the string (so strpos() returns false which is not identical to "0") and the substring "index.php" doesn't start at position 0 in the string. Therefore the given URL is returned without any modifications, here: no changing of the scheme to HTTPS if the flag "usesecure" is set.
It is no problem to pass simply "index.php" here as action since the real target after logging in is passed in the hidden field "return".
For testing this change you need a current Joomla installation with the sample data installed.
Preparations
Status Quo
http://<server>/index.php
Changes
https://<server>/index.php
https://<server>/index.php
| Category | ⇒ | Front End Modules |
| Status | New | ⇒ | Pending |
| Labels |
Added:
?
|
||
I have tested this item
| Status | Pending | ⇒ | Ready to Commit |
2 good testers. RTC
| Labels |
Added:
?
|
||
| Status | Ready to Commit | ⇒ | Fixed in Code Base |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2016-08-13 21:32:16 |
| Closed_By | ⇒ | wilsonge |
| Labels |
Removed:
?
|
||
I have tested this item✅ successfully on 8dd80b3
works as expected.
IMHO we should have the same behaviour in the offline pages (protostar and system).
But i guess that needs a parameter at user component level.
This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/11533.