Drupal issueshttps://lab.civicrm.org/dev/drupal/-/issues2020-09-18T09:50:52Zhttps://lab.civicrm.org/dev/drupal/-/issues/69Drupal8: Problem with user registration confirm email flow2020-09-18T09:50:52ZwannesderoyDrupal8: Problem with user registration confirm email flowIn our Drupal8 & CiviCRM setup we allow visitors to create accounts, with email verification. These users are created by CiviCRM when they sign up for a membership.
We encountered some issues around the registration process: the user wa...In our Drupal8 & CiviCRM setup we allow visitors to create accounts, with email verification. These users are created by CiviCRM when they sign up for a membership.
We encountered some issues around the registration process: the user was denied permission to the password form. And the onetime login link in the mail was always invalid.
In the CRM/Utils/System/Drupal8.php file we changed some of the user registration logic to be the same as the default Drupal 8 way.
1) First issue was that the user account was not set to 1 (active) when $verify_mail_conf was set to true. In default drupal this is the case.
2) Second issue was the user was logged in immediately after sending the verification mails, this should not happen when the verify_mail_conf setting is true. User may only be logged in when checking the mail and following the onetime login link.
[civicrm-core-d8-create-user-fix.patch](/uploads/876064009461686e9ef556adb5ae4676/civicrm-core-d8-create-user-fix.patch)https://lab.civicrm.org/dev/drupal/-/issues/139Drupal8: ckeditor, unable to upload images to event info2020-09-30T17:43:55ZAlanDixonDrupal8: ckeditor, unable to upload images to event infoSimilar to https://lab.civicrm.org/dev/drupal/-/issues/77
I can fix it the same way (add a .htaccess the undoes Drupal's inherited rewrite), but curious whether there's a nicer solution similar to 77's solution, or whether these ckedito...Similar to https://lab.civicrm.org/dev/drupal/-/issues/77
I can fix it the same way (add a .htaccess the undoes Drupal's inherited rewrite), but curious whether there's a nicer solution similar to 77's solution, or whether these ckeditor direct access issues should be addressed in a different way altogether?https://lab.civicrm.org/dev/drupal/-/issues/115Let's make some D8 upgrade documentation2020-10-20T21:12:09ZStoobLet's make some D8 upgrade documentation[This single stack exchange](https://civicrm.stackexchange.com/questions/33945/how-can-i-update-civicrm-installed-with-drupal-8-using-composer) the best documentation yet I've found about upgrading Drupal 8 and it is varied and cluttered...[This single stack exchange](https://civicrm.stackexchange.com/questions/33945/how-can-i-update-civicrm-installed-with-drupal-8-using-composer) the best documentation yet I've found about upgrading Drupal 8 and it is varied and cluttered. With a security update of Civi planned for April, we need to provide a more consolidated way to provide upgrade instructions. I volunteer to help, but since I have not yet been successful upgrading my Composer-installed Civi on D8 (hosted by CiviHosting) myself I am not qualified to write it. I am currently looking for solutions and collaborators.2020-04-11https://lab.civicrm.org/dev/drupal/-/issues/142D8/D9 - Define composer upgrade test protocol2020-10-22T04:39:49ZtottenD8/D9 - Define composer upgrade test protocolWith composer-based distribution, there's an extra dimension/risk that you don't see in D7/WP/BD distribution -- Civi and Drupal build on some of the same packages (eg `symfony/*`), and they pull in various plugins, and the different tem...With composer-based distribution, there's an extra dimension/risk that you don't see in D7/WP/BD distribution -- Civi and Drupal build on some of the same packages (eg `symfony/*`), and they pull in various plugins, and the different templates have different conventions. It is entirely plausible for problems to sneak into the dependency-graph that are then awkward for system-implementers to resolve.
During the test/review/RC processes, we currently run [upgrade tests to check the DB-update procedure](https://github.com/civicrm/civicrm-upgrade-test/) against a range of older DB versions. This would be a sort of parallel for checking the composer-code-update procedure.
Ideally, as part of the release-cycle, one might run an upgrade-matrix. Example:
| Drupal Template | Drupal Version | CiviCRM Old Version | CiviCRM New Version |
| -- | -- | -- | -- |
| `drupal-composer/drupal-project` | `8.7.0` | `5.27.0` | `5.31.0` |
| `drupal/legacy-project` | `8.8.0` | `5.29.0` | `5.31.0` |
| `drupal/recommended-project` | `8.9.0` | `5.28.0` | `5.31.0` |
| `drupal/recommended-project` | `9.0.0` | `5.29.0` | `5.31.0` |
Of course, there are a huge number of permutations, and we're not gonna test all of them, but it would be appropriate to ensure that several distinct (in each column) do get tested.https://lab.civicrm.org/dev/drupal/-/issues/92Drupal8 - Solarium/Solarium 5.13 breaks Civicrm2020-10-24T21:12:08ZRar9Drupal8 - Solarium/Solarium 5.13 breaks CivicrmIf Solarium/Solarium 5.13 is used all Drupal 8 breaks
I was forced to apply composer require symfony/event-dispatcher:"4.3.4 as 3.4.99"
But this gives
PHP Fatal error: Uncaught Error: Class 'Symfony\Component\EventDispatcher\Contai...If Solarium/Solarium 5.13 is used all Drupal 8 breaks
I was forced to apply composer require symfony/event-dispatcher:"4.3.4 as 3.4.99"
But this gives
PHP Fatal error: Uncaught Error: Class 'Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher' not found in /var/www/vhosts/XXX/vendor/civicrm/civicrm-core/Civi/Core/CiviEventDispatcher.php:18
![image](/uploads/cfcf9db6c5faf6acecd610b4b2933197/image.png)
If civicrm is disabled site works again.https://lab.civicrm.org/dev/drupal/-/issues/64Drupal8/Backdrop: Bad URL on ACL page linking to CMS permissions2020-11-04T20:49:06ZJonGoldDrupal8/Backdrop: Bad URL on ACL page linking to CMS permissions`CRM_Admin_Page_Access::run()` attempts to generate a URL to the CMS permission page. It uses a switch to give a CMS-specific URL.
I wrote a Backdrop and D8-specific code, using `url()` and `\Drupal\Core\Url::fromUri()` respectively - ...`CRM_Admin_Page_Access::run()` attempts to generate a URL to the CMS permission page. It uses a switch to give a CMS-specific URL.
I wrote a Backdrop and D8-specific code, using `url()` and `\Drupal\Core\Url::fromUri()` respectively - but I think this is overcomplicated. Couldn't we just pass a string instead? Or is there some oddball situation (multi-site?) where you need to generate the URL using the Drupal-specific functions?JonGoldJonGoldhttps://lab.civicrm.org/dev/drupal/-/issues/152Installing CiviCRM on some Distributions causes error Failed to find next ins...2021-01-13T19:55:59ZHeneryHInstalling CiviCRM on some Distributions causes error Failed to find next installable packageOne could argue that since CiviCRM installs of a clean core then it isn't its problem if there are errors on other distributions. But I have had this error when installing on a variety of different distis.
Maybe the root problem is in ...One could argue that since CiviCRM installs of a clean core then it isn't its problem if there are errors on other distributions. But I have had this error when installing on a variety of different distis.
Maybe the root problem is in some module somewhere or maybe the problem is in CiviCRM and it just doesn't manifest itself on a clean install of core.
I am not sure the data that I can help collect on this but I am now seeing it while trying to load CiviCRM on top of the Thunder disti.
Any ideas on what data collection would help?
```
composer create-project thunder/thunder-project $drupal_root --stability dev --no-interaction --no-install
.
.
.
vi composer.json # (to add the path for docroot to the civicrm-asset extras)
composer config extra.enable-patching true
composer -vvv require civicrm/civicrm-asset-plugin:'~1.1'
composer -vvv require civicrm/civicrm-{core,packages,drupal-8}:'~5.33-dev'
.
.
.
.
Writing lock file
Generating autoload files
- CiviCRM asset map
83 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Skip extra file civicrm/civicrm-core:angular
Skip extra file civicrm/civicrm-core:angular-bootstrap
Skip extra file civicrm/civicrm-core:angular-file-upload
Skip extra file civicrm/civicrm-core:angular-jquery-dialog-service
Skip extra file civicrm/civicrm-core:angular-mocks
Skip extra file civicrm/civicrm-core:angular-route
Skip extra file civicrm/civicrm-core:angular-sanitize
Skip extra file civicrm/civicrm-core:angular-ui-sortable
Skip extra file civicrm/civicrm-core:angular-ui-utils
Skip extra file civicrm/civicrm-core:angular-unsavedchanges
Skip extra file civicrm/civicrm-core:angular-xeditable
Skip extra file civicrm/civicrm-core:checklist-model
Skip extra file civicrm/civicrm-core:ckeditor
Skip extra file civicrm/civicrm-core:crossfilter-1.3.x
Skip extra file civicrm/civicrm-core:crossfilter2
Skip extra file civicrm/civicrm-core:css-color-names
Skip extra file civicrm/civicrm-core:d3
Skip extra file civicrm/civicrm-core:d3-3.5.x
Skip extra file civicrm/civicrm-core:datatables
Skip extra file civicrm/civicrm-core:dc-2.1.x
Skip extra file civicrm/civicrm-core:es6-promise
Skip extra file civicrm/civicrm-core:ext-greenwich-bootstrap3
Skip extra file civicrm/civicrm-core:font-awesome
Skip extra file civicrm/civicrm-core:marked
Skip extra file civicrm/civicrm-core:monaco-editor
Skip extra file civicrm/civicrm-core:google-code-prettify
Skip extra file civicrm/civicrm-core:jquery
Skip extra file civicrm/civicrm-core:jquery-ui
Skip extra file civicrm/civicrm-core:jquery-validation
Skip extra file civicrm/civicrm-core:json-formatter
Skip extra file civicrm/civicrm-core:jstree
Skip extra file civicrm/civicrm-core:lodash-compat
Skip extra file civicrm/civicrm-core:phantomjs-polyfill
Skip extra file civicrm/civicrm-core:select2
Skip extra file civicrm/civicrm-core:js-yaml
Skip extra file civicrm/civicrm-core:smartmenus
Executing command (/var/www/thunder/docroot): git ls-files --error-unmatch '/var/www/thunder/docroot//autoload.php'
Executing command (/var/www/thunder): git rev-parse --show-toplevel
[civicrm-asset-plugin] Found drupal/core. Defaults will be based on tarball.
[RuntimeException]
Error: Failed to find next installable package. Remaining: npm-asset/shariff thunder/thunder-distribution thunder/t
hunder-project
Exception trace:
() at /var/www/thunder/vendor/civicrm/composer-compile-plugin/src/PackageSorter.php:103
Civi\CompilePlugin\PackageSorter::sortPackages() at /var/www/thunder/vendor/civicrm/composer-compile-plugin/src/TaskList.php:42
Civi\CompilePlugin\TaskList->load() at /var/www/thunder/vendor/civicrm/composer-compile-plugin/src/Command/CompileCommand.php:60
Civi\CompilePlugin\Command\CompileCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:281
Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:113
Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:61
require() at /usr/local/bin/composer:24
compile [--all] [-N|--dry-run] [--soft-options [SOFT-OPTIONS]] [--] [<filterExpr>]...
Subcommand @composer compile returned with error code 1
Installation failed, reverting ./composer.json to its original content.
[RuntimeException]
Subcommand @composer compile returned with error code 1
Exception trace:
() at /var/www/thunder/vendor/civicrm/composer-compile-plugin/src/Util/ComposerPassthru.php:72
Civi\CompilePlugin\Util\ComposerPassthru->run() at /var/www/thunder/vendor/civicrm/composer-compile-plugin/src/CompilePlugin.php:117
Civi\CompilePlugin\CompilePlugin->runTasks() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:164
Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:96
Composer\EventDispatcher\EventDispatcher->dispatchScript() at phar:///usr/local/bin/composer/src/Composer/Installer.php:338
Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/RequireCommand.php:248
Composer\Command\RequireCommand->doUpdate() at phar:///usr/local/bin/composer/src/Composer/Command/RequireCommand.php:205
Composer\Command\RequireCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:281
Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:113
Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:61
require() at /usr/local/bin/composer:24
require [--dev] [--prefer-source] [--prefer-dist] [--fixed] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--update-with-all-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--] [<packages>]...
```https://lab.civicrm.org/dev/drupal/-/issues/150Drupal 9 - [RuntimeException] - Error: Failed to find next installable packa...2021-01-15T21:39:04ZRar9Drupal 9 - [RuntimeException] - Error: Failed to find next installable package. Remaining: drupal/chosen drupal/chosen_libUpdating civicrm 5.30.1 on Drupal 9.0.9 with composer 1.10.17 + php 7.4.12 will produce a conflict with drupal chosen module
![Civicrm](/uploads/e3fb0c573f5a1d2bda26e0e0269302ec/Civicrm.jpg)
it brings in these changes and something in ...Updating civicrm 5.30.1 on Drupal 9.0.9 with composer 1.10.17 + php 7.4.12 will produce a conflict with drupal chosen module
![Civicrm](/uploads/e3fb0c573f5a1d2bda26e0e0269302ec/Civicrm.jpg)
it brings in these changes and something in this breaks composer:
- Installing totten/lurkerlite (1.3.0): Loading from cache
- Installing civicrm/composer-compile-plugin (v0.14): Loading from cache
- Updating civicrm/composer-downloads-plugin (v2.1.1 => v3.0.1): Loading from cache
- Installing tubalmartin/cssmin (v4.1.1): Loading from cache
- Installing padaliyajay/php-autoprefixer (1.3): Loading from cache
- Installing scssphp/scssphp (v1.4.0): Loading from cache
- Installing civicrm/composer-compile-lib (v0.4): Loading from cache
- Updating civicrm/civicrm-core (5.30.1 => 5.31.1): Checking out e8825b4e60
[composer.json](https://lab.civicrm.org/-/snippets/60)https://lab.civicrm.org/dev/drupal/-/issues/155Installer does not recognize https urls when installing and setting civicrm.s...2021-02-04T20:02:47ZHeneryHInstaller does not recognize https urls when installing and setting civicrm.settings.php variablesTwo instances of url are in the settings file and when I install on an https site I need to edit the file manually to change the http to https.
Can the installer detect this and set the proper URL?Two instances of url are in the settings file and when I install on an https site I need to edit the file manually to change the http to https.
Can the installer detect this and set the proper URL?https://lab.civicrm.org/dev/drupal/-/issues/62Possible rework on path checking on function civicrm_user_form_validate for 7...2021-02-05T10:40:39ZVangelisPPossible rework on path checking on function civicrm_user_form_validate for 7.x branchI have had some issues with a civicrm profile validation (even with the default `Name and Address`) when it was being exposed in the drupal user registration page after adding some ajax there.
Problem that appears when you ajaxify the ...I have had some issues with a civicrm profile validation (even with the default `Name and Address`) when it was being exposed in the drupal user registration page after adding some ajax there.
Problem that appears when you ajaxify the form itself, is that contents are getting replaced. When this happens, `civicrm_user_form_validate` doesn't work. Specifically, arg(0) & arg(1) are changing (see below).
Searching a little bit more, I have noticed on [line ~~681~~ 707](https://github.com/civicrm/civicrm-drupal/blob/7.x-master/civicrm.module#L707) that there's an arg() comparison so that Civi can understand what path users are coming from ([here](https://github.com/civicrm/civicrm-drupal/blob/7.x-master/civicrm.module#L694))
May I suggest (i can make a MR) instead of doing a path search using the arg() variable, check the form `#action` or `#user_category` instead, like:
* `$register = (($form['#action'] == '/user/register' || $form['#action'] == '/admin/people/create') ? TRUE : FALSE);`
or
* `$register = (($form['#user_category'] == 'account' || $form['#user_category'] == 'register')) ? TRUE : FALSE);` (This is taken from `user_account_form_validate` [function here](https://api.drupal.org/api/drupal/modules!user!user.module/function/user_account_form_validate/7.x))
This way, validation is always there, as long as the form `#action` or `#user_category` keeps the same name(s).
One relatively easy way to reproduce is this:
On a/any environment having Drupal 7.x:
* Download and enable [bootstrap](https://www.drupal.org/project/bootstrap) as the default theme
* Download and enable [bootstrap_login_modal](https://www.drupal.org/project/bootstrap_login_modal) which will add AJAX to the user login and user register form(s). This will also cause the non-validation issue i am referring to.
* Try to register yourself and don't add a first and last name, validation will not kick-in.
Now change the civicrm.module on line 681 with the above and re-try to register yourself. Validations will now work.
There is another issue there but it'm still looking at it: The warning comes back, eg. First name is a required field but the CiviCRM profile fields do not light up, they don't inherit the class `.has-error`.https://lab.civicrm.org/dev/drupal/-/issues/160No dashboard displaying after installing and configuring CiviCRM with Backdrop2021-05-03T14:54:29ZcedeweyNo dashboard displaying after installing and configuring CiviCRM with BackdropI just installed CiviCRM on my Backdrop CMS site and walked through the configuration checklist.
When I click on the CiviCRM admin menu link I am taken to an essentially blank page. It seems like I must be missing a configuration or per...I just installed CiviCRM on my Backdrop CMS site and walked through the configuration checklist.
When I click on the CiviCRM admin menu link I am taken to an essentially blank page. It seems like I must be missing a configuration or permission setting, but I can't find what that might be. I am logged in as user 1 (administrator).
Also, when I hover over the CiviCRM menu item, no subpages appear in a dropdown as I have seen on other CiviCRM sites.
![civicrm-no-dashboard-no-menu](/uploads/ee163fe2b83d699e94b2185e85da0e5c/civicrm-no-dashboard-no-menu.png)https://lab.civicrm.org/dev/drupal/-/issues/144D8 kcfinder needs to be in two locations, currently in one2021-07-15T05:43:44Zbails@circle-interactive.co.ukD8 kcfinder needs to be in two locations, currently in oneWe've had to
Symlink from vendor/civicrm/civicrm-packages/kcfinder web/libraries/civicrm/core/packages/
ln -s vendor/civicrm/civicrm-packages/kcfinder web/libraries/civicrm/core/packages/
Then ensure the sites civicrm.settings.php con...We've had to
Symlink from vendor/civicrm/civicrm-packages/kcfinder web/libraries/civicrm/core/packages/
ln -s vendor/civicrm/civicrm-packages/kcfinder web/libraries/civicrm/core/packages/
Then ensure the sites civicrm.settings.php contains the following lines:
$civicrm_paths['civicrm.bower']['path'] = '/home/user/public_html/web/libraries/civicrm/core/bower_components';
$civicrm_paths['civicrm.bower']['url'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/core/bower_components/';
$civicrm_paths['civicrm.packages']['path'] = '/home/user/public_html/vendor/civicrm/civicrm-packages/';
$civicrm_paths['civicrm.packages']['url'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/core/packages/';
And also:
Add settings_location.php inside web/libraries/civicrm/core/ and /libraries/civicrm/
<?php
define('CIVICRM_CONFDIR', dirname(dirname(dirname(__FILE__))) . '/../sites');
And finally:
# Allow access to CKEditor for CiviCRM.
RewriteCond %{REQUEST_URI} !/libraries/civicrm/core/packages/kcfinder/[a-z_/]+\.php$https://lab.civicrm.org/dev/drupal/-/issues/125Cron url not found and other cron challenges2021-10-01T15:48:59ZHeneryHCron url not found and other cron challengesI just installed CiviCRM 5.29.alpha (dev-master) on top of Drupal 8.9.2 and it seems to have worked for the most part.
I'm having some trouble with the cron jobs. Trying all different flavors with little success.
In my instance, this ...I just installed CiviCRM 5.29.alpha (dev-master) on top of Drupal 8.9.2 and it seems to have worked for the most part.
I'm having some trouble with the cron jobs. Trying all different flavors with little success.
In my instance, this URL is not found
http://my.domain.org/sites/all/modules/civicrm/bin/cron.php
I searched for the php file and it is here.
`<cms-root>/vendor/civicrm/civicrm-core/bin/cron.php`
Any hints on getting this URL method to work?
On another method...
When I run this command line, it seems to work but my cron table in CiviCRM never shows an updated execution event.
```
<cms-root>$ sudo -u www-data cv api job.version_check --user=admin --cwd=/var/www/drupal/web
{
"is_error": 0,
"version": 3,
"count": 1,
"values": 1
}
```
yet the table sever updates...
![Screen_Shot_2020-07-13_at_12.08.12_PM](/uploads/b7eddaeb0bcc02ed011603173503314c/Screen_Shot_2020-07-13_at_12.08.12_PM.png)https://lab.civicrm.org/dev/drupal/-/issues/170kcfinder error 5002021-12-16T13:14:52Zolivierkcfinder error 500Civicrm 5.43 and 5.44 under Drupal 8, launching kcfinder from ckeditor give an 500 error.
Php script integration/civicrm.php try to call civicrm.config.php located in web/libraries/civicrm/, and this file does not exist.
Copying this fil...Civicrm 5.43 and 5.44 under Drupal 8, launching kcfinder from ckeditor give an 500 error.
Php script integration/civicrm.php try to call civicrm.config.php located in web/libraries/civicrm/, and this file does not exist.
Copying this file from an Drupal 7 installation is not sufficent, because civicrm.settings.php is not searched in correct location.
```
--- ../../mcm65/sites/all/modules/civicrm/civicrm.config.php 2021-11-15 21:42:13.000000000 +0100
+++ libraries/civicrm/civicrm.config.php 2021-12-07 21:14:33.380121826 +0100
@@ -87,6 +87,11 @@
return $confdir;
}
+ if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . 'default' .
+ DIRECTORY_SEPARATOR . 'civicrm.settings.php')) {
+ return $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . 'default';
+ }
+
if (!file_exists($confdir) && !$skipConfigError) {
echo "Could not find valid configuration dir, best guess: $confdir<br/><br/>\n";
exit();
```
Another point, .htaccess in /web directory Deny access to most php files in public directory.
We must allow access to php files under kcfinder directory :
```
# For security reasons, deny access to other PHP files on public sites.
# Note: The following URI conditions are not anchored at the start (^),
# because Drupal may be located in a subdirectory. To further improve
# security, you can replace '!/' with '!^/'.
# Allow access to PHP files in /core (like authorize.php or install.php):
RewriteCond %{REQUEST_URI} !/core/[^/]*\.php$
# Allow access to test-specific PHP files:
RewriteCond %{REQUEST_URI} !/core/modules/system/tests/https?.php
# Allow access to Statistics module's custom front controller.
# Copy and adapt this rule to directly execute PHP files in contributed or
# custom modules or to run another PHP application in the same directory.
RewriteCond %{REQUEST_URI} !/core/modules/statistics/statistics.php$
RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/[a-z_]+\.php$
RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/.*/[a-z_]+\.php$
# Deny access to any other PHP files that do not match the rules above.
# Specifically, disallow autoload.php from being served directly.
RewriteRule "^(.+/.*|autoload)\.php($|/)" - [F]
```https://lab.civicrm.org/dev/drupal/-/issues/173Leaking cacheability metadata2022-02-09T22:36:58ZfkohrtLeaking cacheability metadataAfter installing CiviCRM 5.45 on a fresh Drupal 9.3.2 running on Ubuntu 20.04.3 LTS, the [SAML Authentication](https://www.drupal.org/project/samlauth) module issues a warning after every successful authentication event:
> While process...After installing CiviCRM 5.45 on a fresh Drupal 9.3.2 running on Ubuntu 20.04.3 LTS, the [SAML Authentication](https://www.drupal.org/project/samlauth) module issues a warning after every successful authentication event:
> While processing SAML authentication response, code leaked cacheability metadata. This indicates a bug somewhere (but it is hard to pinpoint where): if the same code is called in other scenarios too, it may cause fatal crashes, or bloat the render cache unnecessarily. Please investigate. Metadata: i:6;:O:37:"Drupal\Core\Render\BubbleableMetadata":4:{s:16:"*cacheContexts";a:0:{}s:12:"*cacheTags";a:0:{}s:14:"*cacheMaxAge";i:-1;s:14:"*attachments";a:0:{}}
One of the maintainers of the `samlauth` module explains in a corresponding ticket:
> the samlauth module isn't leaking metadata. It's detecting that some other code in your website, which was executed during the login process, is leaking metadata and should be fixed.
>
> — roderik, “[Code leaked cacheability metadata](https://www.drupal.org/project/samlauth/issues/3232577)”, [comment #4](https://www.drupal.org/project/samlauth/issues/3232577#comment-14354950)
Before installing CiviCRM, no warnings appeared in the log, therefore I'd say the appearance of the warnings somehow correspond to the fact that CiviCRM has been installed: CiviCRM code for Drupal might leak cacheability metadata.https://lab.civicrm.org/dev/drupal/-/issues/175Call to deprecated function CRM_Contribute_PseudoConstant::pcpStatus in drupa...2022-03-08T14:11:00ZDaveDCall to deprecated function CRM_Contribute_PseudoConstant::pcpStatus in drupal 7 views modulehttps://civicrm.stackexchange.com/questions/41350/why-am-i-getting-deprecated-function-warnings
Coming from https://github.com/civicrm/civicrm-drupal/blob/e22d89a50108a2b4da99e971d0fdcdd656edd56c/modules/views/civicrm/civicrm_handler_fi...https://civicrm.stackexchange.com/questions/41350/why-am-i-getting-deprecated-function-warnings
Coming from https://github.com/civicrm/civicrm-drupal/blob/e22d89a50108a2b4da99e971d0fdcdd656edd56c/modules/views/civicrm/civicrm_handler_filter_pseudo_constant.inc#L45
`$this->_pseudo_constant = call_user_func_array($this->definition['pseudo class'] . "::" . $this->definition['pseudo method'], $pseudo_args);`
```
1 .../sites/all/modules/civicrm/CRM/Contribute/PseudoConstant.php(352): CRM_Core_Error::deprecatedFunctionWarning("Function pcpStatus will be removed")
2 .../sites/all/modules/civicrm/drupal/modules/views/civicrm/civicrm_handler_filter_pseudo_constant.inc(45): CRM_Contribute_PseudoConstant::pcpStatus()
3 .../sites/all/modules/views/includes/handlers.inc(65): civicrm_handler_filter_pseudo_constant->construct()
4 .../sites/all/modules/views/includes/handlers.inc(87): _views_create_handler((Array:8), "handler", "filter")
5 .../sites/all/modules/views/views.module(1399): _views_prepare_handler((Array:8), (Array:18), "status", "filter")
6 .../sites/all/modules/date/date_views/includes/date_views_fields.inc(59): views_get_handler("civicrm_pcp", "status", "filter")
7 .../sites/all/modules/date/date_views/date_views.module(156): _date_views_fields("civicrm_contact")
8 .../sites/all/modules/calendar/includes/calendar.views_template.inc(37): date_views_fields("civicrm_contact")
9 .../sites/all/modules/views/views.module(1520): calendar_views_templates()
10 .../sites/all/modules/views/views_ui.module(56): views_get_all_templates()
11 .../includes/menu.inc(2831): views_ui_menu()
12 .../includes/menu.inc(2794): menu_router_build()
13 .../includes/menu.inc(468): menu_rebuild()
14 .../includes/menu.inc(1779): menu_get_item()
15 .../includes/menu.inc(1794): menu_get_custom_theme(TRUE)
16 .../includes/common.inc(5402): menu_set_custom_theme()
17 .../includes/bootstrap.inc(2602): _drupal_bootstrap_full()
18 .../index.php(20): drupal_bootstrap(7)
19 {main}
```https://lab.civicrm.org/dev/drupal/-/issues/177Cannot resolve path using "cms.root.url"2022-04-29T09:11:35ZalmadorxCannot resolve path using "cms.root.url"Hi! I'm having the issue with
```
In Paths.php line 140:
Cannot resolve path using "cms.root.url"
```
I'm using Drupal 9 and the last version of CiviCRM
I've tried the solution from here
([regression `cv` fails on CiviCRM 5.15.0](htt...Hi! I'm having the issue with
```
In Paths.php line 140:
Cannot resolve path using "cms.root.url"
```
I'm using Drupal 9 and the last version of CiviCRM
I've tried the solution from here
([regression `cv` fails on CiviCRM 5.15.0](https://lab.civicrm.org/dev/drupal/-/issues/75))
\vendor\civicrm\civicrm-core\CRM\Utils\System\Drupal8.php:
` public function getCurrentLanguage() {
// Drupal might not be bootstrapped if being called by the REST API.
if (!class_exists('Drupal') || !\Drupal::hasContainer()) {
return NULL;`
I've replaced _return NULL;_ with _return $url;_ but that doesn't solved the issue.https://lab.civicrm.org/dev/drupal/-/issues/185CiviCRM public theme always the same as the CiviCRM Administrator theme2023-01-30T10:28:23ZspalmstromCiviCRM public theme always the same as the CiviCRM Administrator themeWhen running CiviCRM 5.57.1 under Drupal 9.5.2 under IIS it seems that the public theme setting is ignored; CiviCRM just uses the theme set for CiviCRM administration. To replicate got to Manage -> Appearance and select the various theme...When running CiviCRM 5.57.1 under Drupal 9.5.2 under IIS it seems that the public theme setting is ignored; CiviCRM just uses the theme set for CiviCRM administration. To replicate got to Manage -> Appearance and select the various themes. It doesn't appear to be browser related, I see the same with Edge, Chrome, Opera and Firefox. I don't know if it is IIS specific, but, of course, being theme related can't be replicated in the Demo environment.https://lab.civicrm.org/dev/drupal/-/issues/187Installing drupal/fontawesome causes CiviCRM to freeze the browser.2023-05-24T06:53:44Zdarren.woodsInstalling drupal/fontawesome causes CiviCRM to freeze the browser.Install vanilla Drupal 9 via composer.
Installed CiviCRM via composer according to docs.
Installed the Fontawesome module: composer require 'drupal/fontawesome:^2.25'
Loading any CiviCRM paths /civicrm/admin causes the browser to enter...Install vanilla Drupal 9 via composer.
Installed CiviCRM via composer according to docs.
Installed the Fontawesome module: composer require 'drupal/fontawesome:^2.25'
Loading any CiviCRM paths /civicrm/admin causes the browser to enter an infinite loop once the DOM is loaded.
Tracked it down to all.js from Fontawesome.
Removing Fontawesome module resolves it: composer remove 'drupal/fontawesome'
Could this be related to the civicrm asset plugin?
Before the browser freezes, I can see there are two icons for each admin menu option.
We would dearly love to use fa icons in our Drupal theme :pray:https://lab.civicrm.org/dev/drupal/-/issues/188drupal 9: Event registration with drupal user creation crashes if using first...2023-06-28T07:09:49ZDaveDdrupal 9: Event registration with drupal user creation crashes if using first+last+email dedupe ruleThis is pulled out from https://lab.civicrm.org/dev/drupal/-/issues/186 since it's not recent and while touching a similar code area it's not exactly the same.
Part of the problem here is it only sends on the email to createUser, but as...This is pulled out from https://lab.civicrm.org/dev/drupal/-/issues/186 since it's not recent and while touching a similar code area it's not exactly the same.
Part of the problem here is it only sends on the email to createUser, but as in the other ticket it already has the contact id so it shouldn't need to do dedupe rules, it's just how to get that contact id to get passed on to synchronizeUFMatch: https://github.com/civicrm/civicrm-core/blob/c0a3d0e01a7d8df34786a1510d8a4661dffee82b/CRM/Event/Form/Registration.php#L807. Using $_POST is not great, but it needs to be something that gets passed on from the _drupal_ insert hook. And it would be nice to re-use whatever mechanism for the contact user add task too.