Development issueshttps://lab.civicrm.org/groups/dev/-/issues2019-04-22T00:47:10Zhttps://lab.civicrm.org/dev/joomla/-/issues/6Joomla doesn't recognize user in checking permissions from `cv` - can't send ...2019-04-22T00:47:10ZAndie HuntJoomla doesn't recognize user in checking permissions from `cv` - can't send CiviMailThis is basically [CRM-17968](https://issues.civicrm.org/jira/browse/CRM-17968) continued for Joomla (the late comments show that it was never resolved in 4.7.4 as it was for the other CMSes).
This means that `cv api Job.process_mailing...This is basically [CRM-17968](https://issues.civicrm.org/jira/browse/CRM-17968) continued for Joomla (the late comments show that it was never resolved in 4.7.4 as it was for the other CMSes).
This means that `cv api Job.process_mailing --user=cronuser` will fail with
> API permission check failed for Group/get call; insufficient permission: require access CiviCRM
In this scenario, you can retrieve the Joomla user ID from the session
```php
$userId = CRM_Core_Session::singleton()->get('ufID');
```
but when [a null value is supplied to `JFactory::getUser()`](https://github.com/civicrm/civicrm-core/blob/5.9.0/CRM/Core/Permission/Joomla.php#L69), it doesn't return a Joomla user object.
So, a quick solution is to simply retrieve the user ID from the session and supply it to `JFactory::getUser()`, but that's a hacky workaround. Something isn't working quite right in this scenario.
I think there may be something more fundamental that isn't bootstrapping right.
Unfortunately, that means that the CiviMail scheduled job breaks for a lot of Joomla sites. See related reports:
- https://github.com/civicrm/cv/issues/40
- https://civicrm.stackexchange.com/questions/27661/for-some-reason-cron-doesnt-work-on-cms-joomla
- https://issues.civicrm.org/jira/browse/CRM-17968
- https://civicrm.stackexchange.com/questions/9570/mailings-scheduler-fails-after-upgrade-to-4-7-15.14.0https://lab.civicrm.org/dev/user-interface/-/issues/6Remove print icon2019-10-13T18:19:26ZnicolRemove print iconThis was raised by @smaen123 at #Summit19. There is an open #PR needing concept approval [on GH](https://github.com/civicrm/civicrm-core/pull/15322). @Kilakwabt mentioned another issue related to this he might want to elaborate on here o...This was raised by @smaen123 at #Summit19. There is an open #PR needing concept approval [on GH](https://github.com/civicrm/civicrm-core/pull/15322). @Kilakwabt mentioned another issue related to this he might want to elaborate on here or via security@civicrm.org depending on its current status.5.20.0https://lab.civicrm.org/dev/civicrm-asset-plugin/-/issues/6The Resource URL is not set correctly.2020-07-05T00:19:31ZKarinGThe Resource URL is not set correctly.While debugging an issue with menus on a local Lando - Pantheon environment -> I came across a new issue re: D8/Composer installs
STEPS to reproduce:
```
karins-MBP:default sysadmin$ date
Fri 3 Jul 2020 10:21:01 MDT
sudo rm -rf d8civic...While debugging an issue with menus on a local Lando - Pantheon environment -> I came across a new issue re: D8/Composer installs
STEPS to reproduce:
```
karins-MBP:default sysadmin$ date
Fri 3 Jul 2020 10:21:01 MDT
sudo rm -rf d8civicrm.local/
composer create-project drupal/recommended-project:8.8.0 d8civicrm.local
cd d8civicrm.local
composer require civicrm/civicrm-core:5.26.2 civicrm/civicrm-packages:5.26.2 civicrm/civicrm-drupal-8:5.26.2 civicrm/civicrm-asset-plugin:~1.0.1
http://d8civicrm.local -> Install Drupal as usual
chmod +w web/sites/default
go to Extend and enable CiviCRM Core
```
Issue: complaining about **Incorrect Resource URL** -> which is interesting as CiviCRM Resource URL is disabled in the GUI (it says it has been set in civicrm.settings.php during the install process):
![image](/uploads/d625caf530bc9fc1ae0159cc63c44e5b/image.png)
![image](/uploads/f2f97c6baf2314c3f71a674df3c9d3a8/image.png)
Interesting note on `bower_components` (related to another issue that got me to review the `civicrm.settings.php` files) ->
These got installed in two places:
```
/Applications/MAMP/htdocs/d8civicrm.local/vendor/civicrm/civicrm-core/bower_components/
/Applications/MAMP/htdocs/d8civicrm.local/web/libraries/civicrm/core/bower_components/
```
Here's my fresh generated by the install process `civicrm.settings.php` file:
```php
<?php
/*
+--------------------------------------------------------------------+
| CiviCRM version 5 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2020 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
| CiviCRM is free software; you can copy, modify, and distribute it |
| under the terms of the GNU Affero General Public License |
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
| |
| CiviCRM is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| See the GNU Affero General Public License for more details. |
| |
| You should have received a copy of the GNU Affero General Public |
| License and the CiviCRM Licensing Exception along |
| with this program; if not, contact CiviCRM LLC |
| at info[AT]civicrm[DOT]org. If you have questions about the |
| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/
/**
* CiviCRM Configuration File.
*/
global $civicrm_root, $civicrm_setting, $civicrm_paths;
/**
* Content Management System (CMS) Host:
*
* CiviCRM can be hosted in either Drupal 6 or 7, Joomla or WordPress.
*
* Settings for Backdrop CMS:
* define( 'CIVICRM_UF' , 'Backdrop');
*
* Settings for Drupal 7.x:
* define( 'CIVICRM_UF' , 'Drupal');
*
* Settings for Drupal 6.x:
* define( 'CIVICRM_UF' , 'Drupal6');
*
* Settings for Joomla 1.7.x - 2.5.x:
* define( 'CIVICRM_UF' , 'Joomla');
*
* Settings for WordPress 3.3.x:
* define( 'CIVICRM_UF' , 'WordPress');
*
* You may have issues with images in CiviCRM. If this is the case, be sure
* to update the CiviCRM Resource URL field to your CiviCRM root directory
* (Administer::System Settings::Resource URLs).
*/
if (!defined('CIVICRM_UF')) {
if (getenv('CIVICRM_UF')) {
define('CIVICRM_UF', getenv('CIVICRM_UF'));
}
else {
define('CIVICRM_UF', 'Drupal8');
}
}
/**
* Content Management System (CMS) Datasource:
*
* Update this setting with your CMS (Drupal, Backdrop CMS, or Joomla) database username, password, server and DB name.
* If any of these contain a single quote or backslash, escape those characters with a backslash: \' and \\, respectively.
*
* Datasource (DSN) format:
* define( 'CIVICRM_UF_DSN', 'mysql://cms_db_username:cms_db_password@db_server/cms_database?new_link=true');
*/
if (!defined('CIVICRM_UF_DSN') && CIVICRM_UF !== 'UnitTests') {
define( 'CIVICRM_UF_DSN' , 'mysql://myadminuser:dbpass@localhost:3306/d8civicrm_local?new_link=true');
}
// Additional settings generated by installer:
$civicrm_paths['civicrm.files']['url'] = 'http://d8civicrm.local//sites/default/files/civicrm';
$civicrm_paths['civicrm.files']['path'] = '/Applications/MAMP/htdocs/d8civicrm.local/web/sites/default/files/civicrm';
/**
* CiviCRM Database Settings
*
* Database URL (CIVICRM_DSN) for CiviCRM Data:
* Database URL format:
* define( 'CIVICRM_DSN', 'mysql://crm_db_username:crm_db_password@db_server/crm_database?new_link=true');
*
* Drupal and CiviCRM can share the same database, or can be installed into separate databases.
* Backdrop CMS and CiviCRM can also share the same database, or can be installed into separate databases.
*
* EXAMPLE: Drupal/Backdrop and CiviCRM running in the same database...
* DB Name = cms, DB User = cms
* define( 'CIVICRM_DSN' , 'mysql://cms:YOUR_PASSWORD@localhost/cms?new_link=true');
*
* EXAMPLE: Drupal/Backdrop and CiviCRM running in separate databases...
* CMS DB Name = cms, DB User = cms
* CiviCRM DB Name = civicrm, CiviCRM DB User = civicrm
* define( 'CIVICRM_DSN' , 'mysql://civicrm:YOUR_PASSWORD@localhost/civicrm?new_link=true');
*
* If your username, password, server or DB name contain a single quote or backslash, escape those characters
* with a backslash: \' and \\, respectively.
*
*/
if (!defined('CIVICRM_DSN')) {
if (CIVICRM_UF === 'UnitTests' && isset($GLOBALS['_CV']['TEST_DB_DSN'])) {
define('CIVICRM_DSN', $GLOBALS['_CV']['TEST_DB_DSN']);
}
else {
define('CIVICRM_DSN', 'mysql://myadminuser:dbpass@localhost:3306/d8civicrm_local?new_link=true');
}
}
/**
* CiviCRM DSN Mode
* Used to determine if you want CiviCRM to automatically change the dsn to mysqli if its avaliable.
* Uncomment and edit below as necessary
*/
// define ('DB_DSN_MODE', 'auto');
/**
* CiviCRM Logging Database
*
* Used to point to a different database to use for logging (if desired). If unset defaults to equal CIVICRM_DSN.
* The CIVICRM_DSN user needs to have the rights to modify the below database schema and be able to write to it.
*/
if (!defined('CIVICRM_LOGGING_DSN')) {
define('CIVICRM_LOGGING_DSN', CIVICRM_DSN);
}
/**
* File System Paths:
*
* $civicrm_root is the file system path on your server where the civicrm
* code is installed. Use an ABSOLUTE path (not a RELATIVE path) for this setting.
*
* CIVICRM_TEMPLATE_COMPILEDIR is the file system path where compiled templates are stored.
* These sub-directories and files are temporary caches and will be recreated automatically
* if deleted.
*
* IMPORTANT: The COMPILEDIR directory must exist,
* and your web server must have read/write access to these directories.
*
*
* EXAMPLE - Drupal:
* If the path to the Drupal home directory is /var/www/htdocs/drupal
* the $civicrm_root setting would be:
* $civicrm_root = '/var/www/htdocs/drupal/sites/all/modules/civicrm/';
*
* the CIVICRM_TEMPLATE_COMPILEDIR would be:
* define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/var/www/htdocs/drupal/sites/default/files/civicrm/templates_c/');
*
* EXAMPLE - Backdrop CMS:
* If the path to the Backdrop home directory is /var/www/htdocs/backdrop
* the $civicrm_root setting would be:
* $civicrm_root = '/var/www/htdocs/backdrop/modules/civicrm/';
*
* the CIVICRM_TEMPLATE_COMPILEDIR would be:
* define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/var/www/htdocs/backdrop/files/civicrm/templates_c/');
*
* EXAMPLE - Joomla Installations:
* If the path to the Joomla home directory is /var/www/htdocs/joomla
* the $civicrm_root setting would be:
* $civicrm_root = '/var/www/htdocs/joomla/administrator/components/com_civicrm/civicrm/';
*
* the CIVICRM_TEMPLATE_COMPILEDIR would be:
* define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/var/www/htdocs/joomla/media/civicrm/templates_c/');
*
* EXAMPLE - WordPress Installations:
* If the path to the WordPress home directory is /var/www/htdocs/wordpress and the path to the plugin directory is /var/www/htdocs/wordpress/wp-content/plugins
* the $civicrm_root setting would be:
* $civicrm_root = '/var/www/htdocs/wordpress/wp-content/plugins/civicrm/civicrm/';
*
* the CIVICRM_TEMPLATE_COMPILEDIR would be:
* define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/var/www/htdocs/wordpress/wp-content/uploads/civicrm/templates_c/');
*
*/
global $civicrm_root;
$civicrm_root = '/Applications/MAMP/htdocs/d8civicrm.local/vendor/civicrm/civicrm-core/';
if (!defined('CIVICRM_TEMPLATE_COMPILEDIR')) {
define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/Applications/MAMP/htdocs/d8civicrm.local/web/sites/default/files/civicrm/templates_c');
}
/**
* SMARTY Compile Check:
*
* This tells Smarty whether to check for recompiling or not. Recompiling
* does not need to happen unless a template or config file is changed.
* Typically you enable this during development, and disable for production.
*
* Related issue:
* https://lab.civicrm.org/dev/core/issues/1073
*
*/
//if (!defined('CIVICRM_TEMPLATE_COMPILE_CHECK')) {
// define( 'CIVICRM_TEMPLATE_COMPILE_CHECK', FALSE);
//}
/**
* Site URLs:
*
* This section defines absolute and relative URLs to access the host CMS (Backdrop, Drupal, or Joomla) resources.
*
* IMPORTANT: Trailing slashes should be used on all URL settings.
*
*
* EXAMPLE - Drupal Installations:
* If your site's home url is http://www.example.com/drupal/
* these variables would be set as below. Modify as needed for your install.
*
* CIVICRM_UF_BASEURL - home URL for your site:
* define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/drupal/');
*
* EXAMPLE - Backdrop CMS Installations:
* If your site's home url is http://www.example.com/backdrop/
* these variables would be set as below. Modify as needed for your install.
*
* CIVICRM_UF_BASEURL - home URL for your site:
* define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/backdrop/');
*
* EXAMPLE - Joomla Installations:
* If your site's home url is http://www.example.com/joomla/
*
* CIVICRM_UF_BASEURL - home URL for your site:
* Administration site:
* define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/joomla/administrator/');
* Front-end site:
* define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/joomla/');
*
*/
if (!defined('CIVICRM_UF_BASEURL')) {
define( 'CIVICRM_UF_BASEURL' , 'http://d8civicrm.local');
}
/**
* Define any CiviCRM Settings Overrides per http://wiki.civicrm.org/confluence/display/CRMDOC/Override+CiviCRM+Settings
*
* Uncomment and edit the below as appropriate.
*/
// Override the Temporary Files directory.
// $civicrm_setting['domain']['uploadDir'] = '/path/to/upload-dir' ;
// Override the custom files upload directory.
// $civicrm_setting['domain']['customFileUploadDir'] = '/path/to/custom-dir';
// Override the images directory.
// $civicrm_setting['domain']['imageUploadDir'] = '/path/to/image-upload-dir' ;
// Override the custom templates directory.
// $civicrm_setting['domain']['customTemplateDir'] = '/path/to/template-dir';
// Override the Custom php path directory.
// $civicrm_setting['domain']['customPHPPathDir'] = '/path/to/custom-php-dir';
// Override the extensions directory.
// $civicrm_setting['domain']['extensionsDir'] = '/path/to/extensions-dir';
// Override the resource url
// $civicrm_setting['domain']['userFrameworkResourceURL'] = 'http://example.com/example-resource-url/';
// Override the Image Upload URL (System Settings > Resource URLs)
// $civicrm_setting['domain']['imageUploadURL'] = 'http://example.com/example-image-upload-url';
// Override the Custom CiviCRM CSS URL
// $civicrm_setting['domain']['customCSSURL'] = 'http://example.com/example-css-url' ;
// Override the extensions resource URL
// $civicrm_setting['domain']['extensionsURL'] = 'http://example.com/pathtoextensiondir'
// Disable display of Community Messages on home dashboard
// $civicrm_setting['domain']['communityMessagesUrl'] = false;
// Disable automatic download / installation of extensions
// $civicrm_setting['domain']['ext_repo_url'] = false;
// set triggers to be managed offline per CRM-18212
// $civicrm_setting['domain']['logging_no_trigger_permission'] = 1;
// Override the CMS root path defined by cmsRootPath.
// define('CIVICRM_CMSDIR', '/path/to/install/root/');
// Opt-out of announcements by the CiviCRM core team for releases, paid services, events, etc. Separate each preferred optout category with a comma:
// "offers": paid service offers
// "asks": requests for donations or membership signup/renewal to CiviCRM
// "releases": major release announcements
// "events": announcements of local/national upcoming events
// $civicrm_setting['domain']['communityMessagesUrl'] = 'https://alert.civicrm.org/alert?prot=1&ver={ver}&uf={uf}&sid={sid}&lang={lang}&co={co}&optout=offers,asks';
/**
* If you are using any CiviCRM script in the bin directory that
* requires authentication, then you also need to set this key.
* We recommend using a 16-32 bit alphanumeric/punctuation key.
* More info at http://wiki.civicrm.org/confluence/display/CRMDOC/Command-line+Script+Configuration
*/
if (!defined('CIVICRM_SITE_KEY')) {
define( 'CIVICRM_SITE_KEY', 'vIrjjcml7wGdm6pE96g5yYTYVf6SujFnzMBfaiq6lM4');
}
/**
* Enable this constant, if you want to send your email through the smarty
* templating engine(allows you to do conditional and more complex logic)
*
*/
if (!defined('CIVICRM_MAIL_SMARTY')) {
define( 'CIVICRM_MAIL_SMARTY', 0 );
}
/**
* This setting logs all emails to a file. Useful for debugging any mail (or civimail) issues.
* Enabling this setting will not send any email, ensure this is commented out in production
* The CIVICRM_MAIL_LOG is a debug option which disables MTA (mail transport agent) interaction.
* You must disable CIVICRM_MAIL_LOG before CiviCRM will talk to your MTA.
*/
// if (!defined('CIVICRM_MAIL_LOG')) {
// define( 'CIVICRM_MAIL_LOG', '/Applications/MAMP/htdocs/d8civicrm.local/web/sites/default/files/civicrm/templates_c/mail.log');
// }
/**
* This setting will only work if CIVICRM_MAIL_LOG is defined. Mail will be logged and then sent.
*/
//if (!defined('CIVICRM_MAIL_LOG_AND_SEND')) {
// define( 'CIVICRM_MAIL_LOG_AND_SEND', 1);
//}
if (!defined('CIVICRM_DOMAIN_ID')) {
define( 'CIVICRM_DOMAIN_ID', 1);
}
/**
* Setting to define the environment in which this CiviCRM instance is running.
* Note the setting here must be value from the option group 'Environment',
* (see Administration > System Settings > Option Groups, Options beside Environment)
* which by default has three option values: 'Production', 'Staging', 'Development'.
* NB: defining a value for environment here prevents it from being set
* via the browser.
*/
// $civicrm_setting['domain']['environment'] = 'Production';
/**
* Settings to enable external caching using a cache server. This is an
* advanced feature, and you should read and understand the documentation
* before you turn it on. We cannot store these settings in the DB since the
* config could potentially also be cached and we need to avoid an infinite
* recursion scenario.
*
* @see http://civicrm.org/node/126
*/
/**
* If you have a cache server configured and want CiviCRM to make use of it,
* set the following constant. You should only set this once you have your cache
* server up and working, because CiviCRM will not start up if your server is
* unavailable on the host and port that you specify. By default CiviCRM will use
* an in-memory array cache
*
* To use the php extension memcache use a value of 'Memcache'
* To use the php extension memcached use a value of 'Memcached'
* To use the php extension apc use a value of 'APCcache'
* To use the php extension redis use a value of 'Redis'
* To not use any caching (not recommended), use a value of 'NoCache'
*
*/
if (!defined('CIVICRM_DB_CACHE_CLASS')) {
define('CIVICRM_DB_CACHE_CLASS', 'ArrayCache');
}
/**
* Change this to the IP address of your cache server if it is not on the
* same machine (Unix).
*/
if (!defined('CIVICRM_DB_CACHE_HOST')) {
define('CIVICRM_DB_CACHE_HOST', 'localhost');
}
/**
* Change this if you are not using the standard port for your cache server.
*
* The standard port for Memcache & APCCache is 11211. For Redis it is 6379.
*/
if (!defined('CIVICRM_DB_CACHE_PORT')) {
if (CIVICRM_DB_CACHE_CLASS === 'Redis') {
define('CIVICRM_DB_CACHE_PORT', 6379 );
}
else {
define('CIVICRM_DB_CACHE_PORT', 11211);
}
}
/**
* Change this if your cache server requires a password (currently only works
* with Redis)
*/
if (!defined('CIVICRM_DB_CACHE_PASSWORD')) {
define('CIVICRM_DB_CACHE_PASSWORD', '' );
}
/**
* Items in cache will expire after the number of seconds specified here.
* Default value is 3600 (i.e., after an hour)
*/
if (!defined('CIVICRM_DB_CACHE_TIMEOUT')) {
define('CIVICRM_DB_CACHE_TIMEOUT', 3600 );
}
/**
* If you are sharing the same cache instance with more than one CiviCRM
* database, you will need to set a different value for the following argument
* so that each copy of CiviCRM will not interfere with other copies. If you only
* have one copy of CiviCRM, you may leave this set to ''. A good value for
* this if you have two servers might be 'server1_' for the first server, and
* 'server2_' for the second server.
*/
if (!defined('CIVICRM_DB_CACHE_PREFIX')) {
define('CIVICRM_DB_CACHE_PREFIX', '');
}
/**
* The cache system traditionally allowed a wide range of cache-keys, but some
* cache-keys are prohibited by PSR-16.
*/
if (!defined('CIVICRM_PSR16_STRICT')) {
define('CIVICRM_PSR16_STRICT', FALSE);
}
/**
* If you have multilingual site and you are using the "inherit CMS language"
* configuration option, but wish to, for example, use fr_CA instead of the
* default fr_FR (for French), set one or more of the constants below to an
* appropriate regional value.
*/
// define('CIVICRM_LANGUAGE_MAPPING_FR', 'fr_CA');
// define('CIVICRM_LANGUAGE_MAPPING_EN', 'en_CA');
// define('CIVICRM_LANGUAGE_MAPPING_ES', 'es_MX');
// define('CIVICRM_LANGUAGE_MAPPING_PT', 'pt_BR');
// define('CIVICRM_LANGUAGE_MAPPING_ZH', 'zh_TW');
/**
* Native gettext improves performance of localized CiviCRM installations
* significantly. However, your host must enable the locale (language).
* On most GNU/Linux, Unix or MacOSX systems, you may view them with
* the command line by typing: "locale -a".
*
* On Debian or Ubuntu, you may reconfigure locales with:
* # dpkg-reconfigure locales
*
* For more information:
* http://wiki.civicrm.org/confluence/x/YABFBQ
*/
// if (!defined('CIVICRM_GETTEXT_NATIVE')) {
// define('CIVICRM_GETTEXT_NATIVE', 1);
// }
/**
* Define how many times to retry a transaction when the DB hits a deadlock
* (ie. the database is locked by another transaction). This is an
* advanced setting intended for high-traffic databases & experienced developers/ admins.
*/
define('CIVICRM_DEADLOCK_RETRIES', 3);
/**
* Configure MySQL to throw more errors when encountering unusual SQL expressions.
*
* If undefined, the value is determined automatically. For CiviCRM tarballs, it defaults
* to FALSE; for SVN checkouts, it defaults to TRUE.
*/
// if (!defined('CIVICRM_MYSQL_STRICT')) {
// define('CIVICRM_MYSQL_STRICT', TRUE );
// }
/**
* Specify whether the CRM_Core_BAO_Cache should use the legacy
* direct-to-SQL-mode or the interim PSR-16 adapter.
*/
// define('CIVICRM_BAO_CACHE_ADAPTER', 'CRM_Core_BAO_Cache_Psr16');
if (CIVICRM_UF === 'UnitTests') {
if (!defined('CIVICRM_CONTAINER_CACHE')) define('CIVICRM_CONTAINER_CACHE', 'auto');
if (!defined('CIVICRM_MYSQL_STRICT')) define('CIVICRM_MYSQL_STRICT', true);
}
/**
*
* Do not change anything below this line. Keep as is
*
*/
$include_path = '.' . PATH_SEPARATOR .
$civicrm_root . PATH_SEPARATOR .
$civicrm_root . DIRECTORY_SEPARATOR . 'packages' . PATH_SEPARATOR .
get_include_path( );
if ( set_include_path( $include_path ) === false ) {
echo "Could not set the include path<p>";
exit( );
}
if (!defined('CIVICRM_CLEANURL')) {
if ( function_exists('variable_get') && variable_get('clean_url', '0') != '0') {
define('CIVICRM_CLEANURL', 1 );
}
elseif ( function_exists('config_get') && config_get('system.core', 'clean_url') != 0) {
define('CIVICRM_CLEANURL', 1 );
}
elseif( function_exists('get_option') && get_option('permalink_structure') != '' ) {
define('CIVICRM_CLEANURL', 1 );
}
else {
define('CIVICRM_CLEANURL', 0);
}
}
// force PHP to auto-detect Mac line endings
ini_set('auto_detect_line_endings', '1');
// make sure the memory_limit is at least 64 MB
$memLimitString = trim(ini_get('memory_limit'));
$memLimitUnit = strtolower(substr($memLimitString, -1));
$memLimit = (int) $memLimitString;
switch ($memLimitUnit) {
case 'g': $memLimit *= 1024;
case 'm': $memLimit *= 1024;
case 'k': $memLimit *= 1024;
}
if ($memLimit >= 0 and $memLimit < 134217728) {
ini_set('memory_limit', '128M');
}
require_once 'CRM/Core/ClassLoader.php';
CRM_Core_ClassLoader::singleton()->register();
```https://lab.civicrm.org/dev/core/-/issues/3227getAddressColumns defined `street_name` twice.2022-04-22T15:51:17ZJonGoldgetAddressColumns defined `street_name` twice.As reported [on Stack Exchange](https://civicrm.stackexchange.com/questions/26457/columns-available-for-sorting-in-civireport-seem-arbitrary-random), you can't sort by `address_name`, even though it's defined to allow it. That's because...As reported [on Stack Exchange](https://civicrm.stackexchange.com/questions/26457/columns-available-for-sorting-in-civireport-seem-arbitrary-random), you can't sort by `address_name`, even though it's defined to allow it. That's because it's defined twice in the `$spec` array.5.7JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3292Upgrade select2 to stable version 4.0.4 and fix compatibility issues in Civi2024-02-23T17:58:01ZMonish DebUpgrade select2 to stable version 4.0.4 and fix compatibility issues in CiviCurrently, Civi is using select2 3.5 which we need to upgrade to latest stable 4.0.4 (https://github.com/select2/select2/releases) and also resolve compatibility issues with CiviCRM.
Major issues:
1. Auto appending values doesn't work a...Currently, Civi is using select2 3.5 which we need to upgrade to latest stable 4.0.4 (https://github.com/select2/select2/releases) and also resolve compatibility issues with CiviCRM.
Major issues:
1. Auto appending values doesn't work anymore
Error: Uncaught TypeError: Cannot read property 'prop' of undefined
LOC - https://github.com/civicrm/civicrm-core/blob/master/js/crm.searchForm.js#L9
Reference - https://select2.org/upgrading/migrating-from-35#select2-val
2. Placeholder broken
Error: Uncaught TypeError: Cannot read property 'id' of undefined
As per 3.5 - placeholderOption is used to set the placeholder value for select2 widget
As per 4.0.4 - placeholder option can now accept placeholder value both in string and object
Reference - https://select2.org/upgrading/migrating-from-35#more-flexible-placeholders
3. EntityRef select2 fields are broken
Error: Uncaught Error: No select2/compat/initSelection
As per 4.0.4 - Removed the requirement of 'initSelection'
Reference - https://select2.org/upgrading/migrating-from-35#removed-the-requirement-of-initselection
4. Navigation menu style is not applied
Error: Uncaught TypeError: Cannot read property 'prop' of undefined
As per 4.0.4 - $("select").val("1").trigger("change"); // instead of $("select").select2("val", "1");
Reference - https://select2.org/upgrading/migrating-from-35#select2-val
5. Broken entityRef field
There are multiple issues with an entityRef field which are listed below:
1. Placeholder doesn't show
2. Unable to populate data via REST API link
3. Create contact dialog box doesn't render below the search field
4. Escape text doesn't show up
6. Action-menu select2 doesn't work on selecting record(s) in a search list
It throws an error `Uncaught TypeError: Cannot read property 'apply' of undefined` after Search and also action-menu field doesn't behave on selecting a record.
7. The native crm CSS styling doesn't apply on select2/4.0+ widget
Minor issues
1. Multi select2 widget doesn't show downarrow placeholder icon
2. select2 css style aren't applied after upgradehttps://lab.civicrm.org/dev/core/-/issues/3328Membership updates not recorded in contact log2022-04-22T16:17:17ZedvanleeuwenMembership updates not recorded in contact logI have noticed that not all changes in the membership records are registered in the contact log. See attachments.![activity](/uploads/95e4d88c1b16c40fa685032cb4b97b75/activity.png)![log](/uploads/878cd7f93d4967ae70047de240f502d7/log.png)I have noticed that not all changes in the membership records are registered in the contact log. See attachments.![activity](/uploads/95e4d88c1b16c40fa685032cb4b97b75/activity.png)![log](/uploads/878cd7f93d4967ae70047de240f502d7/log.png)https://lab.civicrm.org/dev/core/-/issues/3549On multilingual mode, choosing mailing group doesn't affect recipient count a...2022-06-11T14:50:42ZMonish DebOn multilingual mode, choosing mailing group doesn't affect recipient count and list## Steps to reproduce
1. Enable multilingual mode
2. Go to `Mailing => New Mailing`
3. Choose one or more mailing group.
__Observe__: The recipient count doesn't affect
## Context
This appears to be a regression in 4.7.31. Related...## Steps to reproduce
1. Enable multilingual mode
2. Go to `Mailing => New Mailing`
3. Choose one or more mailing group.
__Observe__: The recipient count doesn't affect
## Context
This appears to be a regression in 4.7.31. Related PRs:
* https://issues.civicrm.org/jira/browse/CRM-21260
* https://issues.civicrm.org/jira/browse/CRM-21316
* https://issues.civicrm.org/jira/browse/CRM-21749
* https://github.com/civicrm/civicrm-core/pull/11142/
* https://github.com/civicrm/civicrm-core/pull/11653/5.0.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/3293Make menu more accessible2022-04-22T16:04:20ZJoeMurrayMake menu more accessiblePreliminary tasks, many from https://lab.civicrm.org/dev/accessibility/issues/1#note_4855 below:
1. [x] Hide D7 menubar
1. [x] Fix for D8
1. [x] After getting focus into top menu, tabbing and back-tabbing revealed there was something hid...Preliminary tasks, many from https://lab.civicrm.org/dev/accessibility/issues/1#note_4855 below:
1. [x] Hide D7 menubar
1. [x] Fix for D8
1. [x] After getting focus into top menu, tabbing and back-tabbing revealed there was something hidden between Quick Search textbox and the CiviCRM icon. Opening submenus and back-tabbing revealed it was the search options for the Quick Search textbox. Please remove this from tab order.
1. [x] After getting focus into top menu, Space did not open (and when repeated, close) child menu on current item. It should act similarly to Return.
1. [x] When focus is on an item that could be selected to navigate somewhere, Return worked fine but Space did not replicate this.
1. [x] When on an open sub-submenu (eg Contributions > Accounting Batches with Open Batches with focus), using left arrow correctly moved focus to Accounting Batches, but it did not close the sub-submenu.
1. [x] When on a submenu, using left arrow should close the submenu and move focus to parent item. Instead it moved focus to menu item to left of parent item. The submenu was left open when it should have been closed.
~~1. [ ] When on a sub-submenu, escape should only close that level of menu but closes both the sub-submenu and the submenu.~~
1. [ ] "First item in menu bar should be in the tab order (tabindex=0)." (https://staff.washington.edu/tft/tests/menus/index.html). This may be a bit of work to implement in all CMSes but I think tabindex=0 for CiviCRM menu makes sense as the default on CiviCRM pages on default CMS installs. The CiviCRM Menu left item should be considered the QuickSearch. There appears to be an item for a div around the textarea and a separate way to focus on the textarea itself. The div around the textarea should be tabindex=0.
1. [ ] The cited spec is relatively silent, but other accessible menus have different implementations on the following: 1) When focus is on top menu item and its submenu is open, left and right cycle focus to left and right top menu items and shift which submenu is open to the one under the top menu focussed item. 2a) When focus is on a submenu item left closes the submenu, cycles focus to left on top menu and opens that top menu's submenu. 2b) When focus is on a submenu item without a subsubmenu, right similarly closes submenu, cycles focus right on top menu and opens that top menu item's submenu. 2c) When focus is on a submenu item with a subsubmenu, right opens the subsubmenu. Let's change behaviour 1), 2a) and 2b) to not opening new submenu. Leave 2c) as is.
~~1. [ ] When focus is not on the menu, cursor hovering over a menu item brings focus to it and opens submenu. Submenu should not open until click, return or space.~~
A user should be able to navigate the menu bar by use of the keyboard:
1. [ ] The menu bar should occupy one tab stop
1. [ ] When focused on a menu at the top level:
1. [ ] The right arrow key should move the user to the next top-level menu
1. [ ] The left arrow key should move the user to the previous top level menu
1. [ ] User focus should wrap to the beginning if the user advances past the final menu item. Likewise, if the user tries to navigate to the previous item from the first menu, focus should wrap to the last menu.
1. [ ] The down-arrow and ENTER keys should expand a child menu and focus the user on the first item
~~1. [ ] When a character is typed, the next menu item starting with that letter receives the focus, circling around to first when there are no more. If no menu item starts with the typed character, focus does not move. (deprecated by HTML 5.2 accesskey standard)~~
1. [ ] When focused on a child menu
1. [ ] The down arrow key should move the user to the next menu item
1. [ ] The up arrow key should move the user to the previous menu item
1. [ ] The right arrow key should expand a menu item with a submenu and place user focus on the first item in that submenu. If there is no submenu, then no action is taken.
1. [ ] The left arrow key should collapse a submenu and place user focus on the parent of that submenu
1. [ ] The ESC key should close the active child menu, and any submenus, and return user focus to the parent menu at the top level.
~~1. [ ] When a character is typed, the next child menu item starting with that letter receives the focus, circling around to first when there are no more. If no child menu item starts with the typed character, focus does not move. (deprecated by HTML 5.2 accesskey standard)~~
Test the menu works on default installs (ie default theme!) on
1. [x] Drupal 7
1. [x] WordPress
1. [x] Joomla
1. [x] Backdrop
1. [x] Drupal 8
(NB: deliberately ignoring support for Drupal 6.)
Test the menu works on:
1. [x] Drupal 7 site with shoreditch theme installed
1. [x] Drupal 7 site with mosaico installed, on a CiviMail mosaico page.
A more detailed functional spec is provided at http://lists.w3.org/Archives/Public/wai-xtech/2007Dec/att-0025/index.html#menu
A good implementation that might be useful for its implementation details (seeing View Source) is https://staff.washington.edu/tft/tests/menus/simplyaccessible/index.html. As there are no sub-submenus, I imagine the code implementation needs to be extended to opening sub-submenus properly.
Was https://issues.civicrm.org/jira/browse/CRM-20824
Original description from https://civicrm.stackexchange.com/questions/17735/access-for-blind-users-to-civicrm/17752#17752
The menu bar is keyboard accessible, but awkwardly. Generally I find it best to focus on the first item then TAB (as opposed to arrowing) to the top level menu the user wants to interact with before pressing ENTER to activate the pop-up menu. You will then have to locate the HTML list element containing the menu choices. Often this element appears after the menu bar, or at the bottom of the virtual document (sometimes depending on the CMS theme, sometimes depending on, seemingly, the browser’s mood). In either case, it will not appear immediately “under” the activated menu.https://lab.civicrm.org/dev/wordpress/-/issues/3Create CiviCRM Block for new Gutenberg Editor2023-12-07T22:18:11ZkcristianoCreate CiviCRM Block for new Gutenberg EditorWP is introducing a new editor in v 5.0 - https://github.com/WordPress/gutenberg
As of this post: https://make.wordpress.org/core/2018/07/06/whats-new-in-gutenberg-6th-july/ Gutenberg has been declared to be at the MVP stage and a me...WP is introducing a new editor in v 5.0 - https://github.com/WordPress/gutenberg
As of this post: https://make.wordpress.org/core/2018/07/06/whats-new-in-gutenberg-6th-july/ Gutenberg has been declared to be at the MVP stage and a merge proposal will be submitted "soon". The current target date is "august", but that can move.
Based on the above, it would be a good time to explore what will be needed to convert our CiviCRM shortcode button to a Gutenberg block.https://lab.civicrm.org/dev/drupal/-/issues/7Problem: How to address `civicrm.config.php` without running `GenCode`2020-10-01T00:47:38ZtottenProblem: How to address `civicrm.config.php` without running `GenCode`We aim to allow installing CiviCRM on Drupal 8 via composer/git _without_ requiring the admin to run `GenCode`.
The file `civicrm.config.php` is currently produced by `GenCode`, and it's required by various backend scripts (`extern/*` a...We aim to allow installing CiviCRM on Drupal 8 via composer/git _without_ requiring the admin to run `GenCode`.
The file `civicrm.config.php` is currently produced by `GenCode`, and it's required by various backend scripts (`extern/*` and `bin/*`). A naive approach might be to simply commit this file -- however, that's problematic because there are ~4 variants of this file (for `civicrm-drupal`, `civicrm-wordpress`, `civicrm-joomla`, and `civicrm-backdrop`).
There are a couple ways we might do this:
* (a) Audit each entry-point (`extern/*`, `bin/*`). For each, figure out some alternative way to address it without needing `civicrm.config.php`.
* __Challenge__: There are several entry-points, and each will likely have its own series of issues/patches. In this approach, it's hard to control the scope of work.
* (b) Import the universal CMS boot script from `cv.git` or `civicrm-wordpress.git` to `civicrm-core.git` (related: #5). All backend scripts (`extern/*`, `bin/*`) should use a fallback-behavior. (*"If `civicrm.config.php` exists, call it. Otherwise, call the universal boot script."*)
* __Challenge__: People like to do funny things with their builds, and there's no fixed spec for "all possible builds". A "universal" CMS boot script will probably be broken for someone.
* (c) `composer.json` integration -- for anyone installing Civi via `composer`, tell them to put some extra script calls in their root `composer.json`. The script creates `civicrm.config.php`.
* __Challenge__: This makes the installation experience more complicated.
* (d) Update all backend scripts (`extern/*`, `bin/*`) to use a fallback-behavior. (*"If `./drupal/civicrm.config.php.drupal` exists, call it. If `../civicrm.config.php.wordpress` exists, call it. Ad nauseum."*)
* __Challenge__: People like to do funny things with their builds, and there's no fixed spec for "all possible builds". A "universal" CMS boot script will probably be broken for someone.D8 General Availabilityhttps://lab.civicrm.org/dev/core/-/issues/7recurring authorize IPN results in contribution with incorrect payment_instru...2023-06-23T17:54:21Zjamierecurring authorize IPN results in contribution with incorrect payment_instrument_idIf you create a recurring contribution in authorize.net, the second time it goes through, it will result in a contribution with payment instrument type set to check, instead of credit card (or perhaps a different value if you have a diff...If you create a recurring contribution in authorize.net, the second time it goes through, it will result in a contribution with payment instrument type set to check, instead of credit card (or perhaps a different value if you have a different default payment instrument id).
This seems related to this issue: https://issues.civicrm.org/jira/browse/CRM-19186 which fixed it for paypal but not for authorize.net.https://lab.civicrm.org/dev/translation/-/issues/7Update Localizing Documentation (Drupal configurations)2019-01-14T15:52:50ZshaneonabikeUpdate Localizing Documentation (Drupal configurations)There is some special mapping configurations for multilingual Drupal sites to map the proper languages between Drupal and CiviCRM. Is there a way I could update the existing documentation?
https://docs.civicrm.org/user/en/latest/the-civ...There is some special mapping configurations for multilingual Drupal sites to map the proper languages between Drupal and CiviCRM. Is there a way I could update the existing documentation?
https://docs.civicrm.org/user/en/latest/the-civicrm-community/localising-civicrm/
`"Inherit CMS language" and regional translations (ex: fr_CA)
If you have a multi-lingual site and you are using the "inherit CMS language" configuration option, but wish to, for example, use fr_CA instead of the default fr_FR (for French), you can define a constant in your "civicrm.settings.php" to override the default behavior.
See CRM-9558 for more information.
define('CIVICRM_LANGUAGE_MAPPING_FR', 'fr_CA');
`
From https://wiki.civicrm.org/confluence/display/CRMDOC/i18n+Administrator%27s+Guide%3A+Using+CiviCRM+in+your+own+languagehttps://lab.civicrm.org/dev/financial/-/issues/7Proposal - Invoices - change placement of 'Notes or Standard Terms'2018-11-09T21:46:15Zellen_compucorpProposal - Invoices - change placement of 'Notes or Standard Terms'**Current:** Notes or Standard terms is a UI configurable element on invoices (img 1 below), On ‘payment pending’ invoices the Notes or Standard Terms appear below the dotted line. On payment complete invoices, Notes or Standard Terms do...**Current:** Notes or Standard terms is a UI configurable element on invoices (img 1 below), On ‘payment pending’ invoices the Notes or Standard Terms appear below the dotted line. On payment complete invoices, Notes or Standard Terms do not appear.
**Proposed:** To move Notes or Standard Terms above the dotted line for pending contributions, and for them to also appear on ‘complete’ contribution invoices (img 2).
This has been requested by a number of our clients as the Notes or Standard Terms box is often used by organisations to display information that they would like to be visible to all invoice recipients (eg. VAT number, charity registration number).
[image.webp](/uploads/b1662b8e94f3ca6b7a8ff21d408b0241/image.webp)
[image__1_.webp](/uploads/ebf59eadbca4d18f4a23af8e0f977100/image__1_.webp)https://lab.civicrm.org/dev/wordpress/-/issues/7Group Jobs2021-07-23T06:17:12ZGhost UserGroup JobsThis is a feature request to group jobs that have similar recommended frequency of call so the process of setting up jobs is less complex.This is a feature request to group jobs that have similar recommended frequency of call so the process of setting up jobs is less complex.https://lab.civicrm.org/dev/release/-/issues/7Publish the zetamailcomponents-mail fork on Packagist?2019-04-04T12:29:07ZbgmPublish the zetamailcomponents-mail fork on Packagist?Follow-up to https://lab.civicrm.org/dev/drupal/issues/36: since we cannot un-fork, can we publish our fork on Packagist?
This would help simplify the composer workflow, assuming we could then run `composer require civicrm/zetacomponent...Follow-up to https://lab.civicrm.org/dev/drupal/issues/36: since we cannot un-fork, can we publish our fork on Packagist?
This would help simplify the composer workflow, assuming we could then run `composer require civicrm/zetacomponents-mail` instead of having to edit the `composer.json` file manually.tottentottenhttps://lab.civicrm.org/dev/joomla/-/issues/7Contribution Field Map not saving Soft Credit Type2019-01-09T17:16:43ZphilmorbruContribution Field Map not saving Soft Credit TypeWhen importing Contributions with Soft Credits and saving a field mapping, the Soft Credit fields do not save the type of soft credit in the mapping. When reusing the saved mapping, the user must change the "Matching CiviCRM Field" to a ...When importing Contributions with Soft Credits and saving a field mapping, the Soft Credit fields do not save the type of soft credit in the mapping. When reusing the saved mapping, the user must change the "Matching CiviCRM Field" to a field other than Soft Credit, and then change it back to Soft Credit to select the proper choice. Compare attached files of incorrect and expected/correct behavior.![wrong](/uploads/d4ebc3db40919ac2542c95449f817086/wrong.jpeg)![right](/uploads/a1914fa45e5d1b85af0c0de6c4ec6011/right.jpeg)
Replicated on clean install of 5.7.0 on Joomla 3.9.https://lab.civicrm.org/dev/user-interface/-/issues/7Ability to exclude activities that appear on the actions button on a contact ...2019-10-07T13:29:15ZHeatherOliverAbility to exclude activities that appear on the actions button on a contact recordAll activity types that are added to CiviCRM are included in the Actions button when you view a contact record. For sites with a lot of activities (particularly those which are used in connection with Drupal webforms andnot normally trig...All activity types that are added to CiviCRM are included in the Actions button when you view a contact record. For sites with a lot of activities (particularly those which are used in connection with Drupal webforms andnot normally triggered in CiviCRM directly) this becomes a bit frustrating to manage.
Adding / filtering activities in other places uses the look up function, meaning the the length of the list in those places isn't really an issue.
See two attached images as an example. This isn't even all the activities for this site.
![image-1](/uploads/9b605ca4b8c666484a20ffb6be744651/image-1.PNG)![image-2](/uploads/56b30fe891eeaa9bbab310c74328cfb5/image-2.PNG)https://lab.civicrm.org/dev/civicrm-asset-plugin/-/issues/7Why isn't there a Module called CiviForum2020-07-09T19:56:34ZwebdevtimWhy isn't there a Module called CiviForumYes I know that all the CMS's have a Forum component. It just seems to me that CiviForum should almost be assumed. With Smart Groups and a CiviForum, we could assigned people to forums in their area of interest on signup, so I don't see ...Yes I know that all the CMS's have a Forum component. It just seems to me that CiviForum should almost be assumed. With Smart Groups and a CiviForum, we could assigned people to forums in their area of interest on signup, so I don't see why this doesn't exist.https://lab.civicrm.org/dev/core/-/issues/3264Transaction Date filter in Bookkeeping Transactions report2022-04-22T15:53:09ZMWestergaardTransaction Date filter in Bookkeeping Transactions reportIn the Bookkeeping Transactions report, the filter for Transaction Date does not include time values and leads to missing data. For example, if today is February 10 and I filter Transaction Date on "Yesterday", the WHERE clause looks li...In the Bookkeeping Transactions report, the filter for Transaction Date does not include time values and leads to missing data. For example, if today is February 10 and I filter Transaction Date on "Yesterday", the WHERE clause looks like:
> ( financial_trxn.trxn_date >= '20190209') AND ( financial_trxn.trxn_date <= '20190209' )
Only transactions that occurred exactly at midnight are included. Contrast that with the filter for Date Received:
> ( contribution.receive_date >= '20190209000000') AND ( contribution.receive_date <= '20190209235959' )
I verified on dmaster and wpmaster.5.12.0https://lab.civicrm.org/dev/core/-/issues/3297replace select2 with latest stable2022-04-22T16:04:56ZJoeMurrayreplace select2 with latest stableCurrently, Civi is using select2 3.5 which we need to upgrade to latest stable 4.0.5, maybe 4.0.6 (https://github.com/select2/select2/releases) and then resolve compatibility issues with CiviCRM.
The upgrade from 3.5 to 4.x contains num...Currently, Civi is using select2 3.5 which we need to upgrade to latest stable 4.0.5, maybe 4.0.6 (https://github.com/select2/select2/releases) and then resolve compatibility issues with CiviCRM.
The upgrade from 3.5 to 4.x contains numerous breaking changes that affect the calling code in CiviCRM.
Major issues:
1. Auto appending values doesn't work anymore
Error: Uncaught TypeError: Cannot read property 'prop' of undefined
LOC - https://github.com/civicrm/civicrm-core/blob/master/js/crm.searchForm.js#L9
Reference - https://select2.org/upgrading/migrating-from-35#select2-val
2. Placeholder broken
Error: Uncaught TypeError: Cannot read property 'id' of undefined
As per 3.5 - placeholderOption is used to set the placeholder value for select2 widget
As per 4.0.4 - placeholder option can now accept placeholder value both in string and object
Reference - https://select2.org/upgrading/migrating-from-35#more-flexible-placeholders
3. EntityRef select2 fields are broken
Error: Uncaught Error: No select2/compat/initSelection
As per 4.0.4 - Removed the requirement of 'initSelection'
Reference - https://select2.org/upgrading/migrating-from-35#removed-the-requirement-of-initselection
4. Navigation menu style is not applied
Error: Uncaught TypeError: Cannot read property 'prop' of undefined
As per 4.0.4 - $("select").val("1").trigger("change"); // instead of $("select").select2("val", "1");
Reference - https://select2.org/upgrading/migrating-from-35#select2-val
Minor issues
1. Multi select2 widget doesn't show downarrow placeholder icon
2. select2 css style isn't applied after upgrade
migration of old JIRA issue with some additional discussion at https://issues.civicrm.org/jira/browse/CRM-21263