Details
-
Type: Bug
-
Status: Open
-
Priority: Trivial
-
Resolution: Unresolved
-
Affects Version/s: 4.6
-
Fix Version/s: Unscheduled
-
Component/s: None
-
Labels:
-
Versioning Impact:Patch (backwards-compatible bug fixes)
-
Documentation Required?:None
Description
In the following environment:
- Drupal
- Multi-lingual
- Using path prefix language negotiation (ex: https://example.org/fr/civicrm/dashboard?reset=1)
If we install CiviCRM extensions in /vendor/civicrm/, and those extensions load custom CSS files, the URL generated for those CSS files will include the language prefix as well.
If you look at CRM/Core/Config.php, _setUserFrameworkConfig :
if (defined('CIVICRM_UF_BASEURL')) {
$this->userFrameworkBaseURL = CRM_Utils_File::addTrailingSlash(CIVICRM_UF_BASEURL, '/');
//format url for language negotiation, CRM-7803
$this->userFrameworkBaseURL = CRM_Utils_System::languageNegotiationURL($this->userFrameworkBaseURL);
[...]
Then in CRM/Extension/System.php getFullContainer(), we see :
$containers['cmsvendor'] = new CRM_Extension_Container_Basic(
$vendorPath,
$this->parameters['userFrameworkBaseURL'] . DIRECTORY_SEPARATOR . 'vendor',
$this->getCache(),
'cmsvendor'
);
And so userFrameworkBaseURL gets used for the URL base for CSS.