Skip to content
Snippets Groups Projects
Commit b85e2d79 authored by Kevin Cristiano's avatar Kevin Cristiano :earth_americas:
Browse files

civicrm-47: 4.7.22 release

parent 8dbcc72f
No related branches found
No related tags found
No related merge requests found
Showing
with 790 additions and 735 deletions
......@@ -2046,6 +2046,14 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr
if (!empty($this->_ccid)) {
$this->_params['contribution_id'] = $this->_ccid;
}
//Set email-bltID if pre/post profile contains an email.
if ($this->_emailExists == TRUE) {
foreach ($this->_params as $key => $val) {
if (substr($key, 0, 6) == 'email-' && empty($this->_params["email-{$this->_bltID}"])) {
$this->_params["email-{$this->_bltID}"] = $this->_params[$key];
}
}
}
// add a description field at the very beginning
$this->_params['description'] = ts('Online Contribution') . ': ' . (($this->_pcpInfo['title']) ? $this->_pcpInfo['title'] : $this->_values['title']);
......
......@@ -227,6 +227,7 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form {
// lets just bump this to a regular session error and redirect user to main page
$this->controller->invalidKeyRedirect();
}
$this->_emailExists = $this->get('emailExists');
// this was used prior to the cleverer this_>getContactID - unsure now
$this->_userID = CRM_Core_Session::singleton()->getLoggedInContactID();
......@@ -652,6 +653,7 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form {
!in_array($profileContactType, array('honor', 'onbehalf'))
) {
$this->_emailExists = TRUE;
$this->set('emailExists', TRUE);
}
}
......
......@@ -62,6 +62,16 @@ class CRM_Upgrade_Incremental_php_FourSeven extends CRM_Upgrade_Incremental_Base
if ($rev == '4.7.13') {
$preUpgradeMessage .= '<p>' . ts('A new permission has been added called %1 This Permission is now used to control access to the Manage Tags screen', array(1 => 'manage tags')) . '</p>';
}
if ($rev == '4.7.22') {
// Based on support inquiries for 4.7.21, show message during 4.7.22.
// For affected users, this issue prevents loading the regular status screen.
if (!$this->checkImageUploadDir()) {
$preUpgradeMessage .= '<p>' . ts('There appears to be an inconsistency in the configuration of "Image Upload URL" and "Image Upload Directory".') . '</p>'
. '<p>'
. ts('Further advice will be displayed at the end of the upgrade.')
. '</p>';
}
}
}
/**
......@@ -122,6 +132,26 @@ class CRM_Upgrade_Incremental_php_FourSeven extends CRM_Upgrade_Incremental_Base
$postUpgradeMessage .= '<p>civicrm_sms_provider ' . ts('has now had a domain id column added. As there is more than 1 domains in this install you need to manually set the domain id for the providers in this install') . '</p>';
}
}
if ($rev == '4.7.22') {
// Based on support inquiries for 4.7.21, show message during 4.7.22.
// For affected users, this issue prevents loading the regular status screen.
if (!$this->checkImageUploadDir()) {
$config = CRM_Core_Config::singleton();
$postUpgradeMessage .=
'<h3>' . ts('Warning') . '</h3>'
. '<p>' . ts('There appears to be an inconsistency in the configuration of "Image Upload URL" and "Image Upload Directory".') . '</p>'
. sprintf("<ul><li><b>imageUploadDir</b>: <code>%s</code></li><li><b>imageUploadURL</b>: <code>%s</code></li></ul>", htmlentities($config->imageUploadDir), htmlentities($config->imageUploadURL))
. '<p>'
. ts('You may need to check that: <ul><li>(a) the path and URL match,</li><li> (b) the httpd/htaccess policy allows requests for files inside this folder,</li><li>and (c) the web domain matches the normal web domain.</ul>')
. '</p>'
. '<p><em>'
. ts('(Note: Although files should be readable, it is best if they are not listable or browseable.)')
. '</em></p>'
. '<p>'
. ts('If this remains unresolved, then some important screens may fail to load.')
. '</p>';
}
}
}
/**
......@@ -1144,4 +1174,13 @@ FROM `civicrm_dashboard_contact` JOIN `civicrm_contact` WHERE civicrm_dashboard_
return TRUE;
}
/**
* @return bool
*/
protected function checkImageUploadDir() {
$config = CRM_Core_Config::singleton();
$check = new CRM_Utils_Check_Component_Security();
return $config->imageUploadDir && $config->imageUploadURL && $check->isDirAccessible($config->imageUploadDir, $config->imageUploadURL);
}
}
<?php
function civicrmVersion( ) {
return array( 'version' => '4.7.21',
return array( 'version' => '4.7.22',
'cms' => 'Wordpress',
'revision' => '' );
}
......
......@@ -569,7 +569,7 @@ class InstallRequirements {
$host = implode(':', $hostParts);
}
else {
$port = '';
$port = NULL;
}
$conn = @mysqli_connect($host, $username, $password, $database, $port);
return $conn;
......
......@@ -15,6 +15,12 @@ Other resources for identifying changes are:
* https://github.com/civicrm/civicrm-wordpress
## CiviCRM 4.7.22
Released July 12, 2017
- **[Bugs resolved](release-notes/4.7.22.md#bugs)**
## CiviCRM 4.7.21
Released July 5, 2017
......
......@@ -23904,4 +23904,4 @@ INSERT INTO `civicrm_report_instance`
VALUES
( @domainID, 'Survey Details', 'survey/detail', 'Detailed report for canvassing, phone-banking, walk lists or other surveys.', 'access CiviReport', 'a:39:{s:6:"fields";a:2:{s:9:"sort_name";s:1:"1";s:6:"result";s:1:"1";}s:22:"assignee_contact_id_op";s:2:"eq";s:25:"assignee_contact_id_value";s:0:"";s:12:"sort_name_op";s:3:"has";s:15:"sort_name_value";s:0:"";s:17:"street_number_min";s:0:"";s:17:"street_number_max";s:0:"";s:16:"street_number_op";s:3:"lte";s:19:"street_number_value";s:0:"";s:14:"street_name_op";s:3:"has";s:17:"street_name_value";s:0:"";s:15:"postal_code_min";s:0:"";s:15:"postal_code_max";s:0:"";s:14:"postal_code_op";s:3:"lte";s:17:"postal_code_value";s:0:"";s:7:"city_op";s:3:"has";s:10:"city_value";s:0:"";s:20:"state_province_id_op";s:2:"in";s:23:"state_province_id_value";a:0:{}s:13:"country_id_op";s:2:"in";s:16:"country_id_value";a:0:{}s:12:"survey_id_op";s:2:"in";s:15:"survey_id_value";a:0:{}s:12:"status_id_op";s:2:"eq";s:15:"status_id_value";s:1:"1";s:11:"custom_1_op";s:2:"in";s:14:"custom_1_value";a:0:{}s:11:"custom_2_op";s:2:"in";s:14:"custom_2_value";a:0:{}s:17:"custom_3_relative";s:1:"0";s:13:"custom_3_from";s:0:"";s:11:"custom_3_to";s:0:"";s:11:"description";s:75:"Detailed report for canvassing, phone-banking, walk lists or other surveys.";s:13:"email_subject";s:0:"";s:8:"email_to";s:0:"";s:8:"email_cc";s:0:"";s:10:"permission";s:17:"access CiviReport";s:6:"groups";s:0:"";s:9:"domain_id";i:1;}');
 
UPDATE civicrm_domain SET version = '4.7.21';
UPDATE civicrm_domain SET version = '4.7.22';
......@@ -399,7 +399,7 @@ UNLOCK TABLES;
 
LOCK TABLES `civicrm_domain` WRITE;
/*!40000 ALTER TABLE `civicrm_domain` DISABLE KEYS */;
INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `config_backend`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,NULL,'4.7.21',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `config_backend`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,NULL,'4.7.22',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
/*!40000 ALTER TABLE `civicrm_domain` ENABLE KEYS */;
UNLOCK TABLES;
 
4.7.21
\ No newline at end of file
4.7.22
\ No newline at end of file
......@@ -4,4 +4,4 @@
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit15273363a8ff4b798eb304902c5f2b23::getLoader();
return ComposerAutoloaderInita288f404cef1fb6e72cf5dc6d74b004a::getLoader();
......@@ -18,7 +18,7 @@ return array(
'Psr\\Log\\' => array($vendorDir . '/psr/log'),
'PHPUnit_' => array($baseDir . '/packages'),
'PEAR' => array($vendorDir . '/pear/pear_exception'),
'Net' => array($vendorDir . '/pear/net_socket', $vendorDir . '/pear/net_smtp', $vendorDir . '/phpseclib/phpseclib/phpseclib'),
'Net' => array($vendorDir . '/phpseclib/phpseclib/phpseclib', $vendorDir . '/pear/net_socket', $vendorDir . '/pear/net_smtp'),
'Math' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
'FontLib\\' => array($vendorDir . '/phenx/php-font-lib/src'),
'File' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
......
......@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit15273363a8ff4b798eb304902c5f2b23
class ComposerAutoloaderInita288f404cef1fb6e72cf5dc6d74b004a
{
private static $loader;
......@@ -19,9 +19,9 @@ class ComposerAutoloaderInit15273363a8ff4b798eb304902c5f2b23
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit15273363a8ff4b798eb304902c5f2b23', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInita288f404cef1fb6e72cf5dc6d74b004a', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit15273363a8ff4b798eb304902c5f2b23', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInita288f404cef1fb6e72cf5dc6d74b004a', 'loadClassLoader'));
$includePaths = require __DIR__ . '/include_paths.php';
array_push($includePaths, get_include_path());
......@@ -31,7 +31,7 @@ class ComposerAutoloaderInit15273363a8ff4b798eb304902c5f2b23
if ($useStaticLoader) {
require_once __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit15273363a8ff4b798eb304902c5f2b23::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInita288f404cef1fb6e72cf5dc6d74b004a::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
......@@ -52,19 +52,19 @@ class ComposerAutoloaderInit15273363a8ff4b798eb304902c5f2b23
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInit15273363a8ff4b798eb304902c5f2b23::$files;
$includeFiles = Composer\Autoload\ComposerStaticInita288f404cef1fb6e72cf5dc6d74b004a::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire15273363a8ff4b798eb304902c5f2b23($fileIdentifier, $file);
composerRequirea288f404cef1fb6e72cf5dc6d74b004a($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequire15273363a8ff4b798eb304902c5f2b23($fileIdentifier, $file)
function composerRequirea288f404cef1fb6e72cf5dc6d74b004a($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;
......
......@@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInit15273363a8ff4b798eb304902c5f2b23
class ComposerStaticInita288f404cef1fb6e72cf5dc6d74b004a
{
public static $files = array (
'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
......@@ -126,9 +126,9 @@ class ComposerStaticInit15273363a8ff4b798eb304902c5f2b23
array (
'Net' =>
array (
0 => __DIR__ . '/..' . '/pear/net_socket',
1 => __DIR__ . '/..' . '/pear/net_smtp',
2 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib',
0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib',
1 => __DIR__ . '/..' . '/pear/net_socket',
2 => __DIR__ . '/..' . '/pear/net_smtp',
),
),
'M' =>
......@@ -323,10 +323,10 @@ class ComposerStaticInit15273363a8ff4b798eb304902c5f2b23
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit15273363a8ff4b798eb304902c5f2b23::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit15273363a8ff4b798eb304902c5f2b23::$prefixDirsPsr4;
$loader->prefixesPsr0 = ComposerStaticInit15273363a8ff4b798eb304902c5f2b23::$prefixesPsr0;
$loader->classMap = ComposerStaticInit15273363a8ff4b798eb304902c5f2b23::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInita288f404cef1fb6e72cf5dc6d74b004a::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInita288f404cef1fb6e72cf5dc6d74b004a::$prefixDirsPsr4;
$loader->prefixesPsr0 = ComposerStaticInita288f404cef1fb6e72cf5dc6d74b004a::$prefixesPsr0;
$loader->classMap = ComposerStaticInita288f404cef1fb6e72cf5dc6d74b004a::$classMap;
}, null, ClassLoader::class);
}
......
......@@ -7,10 +7,10 @@ $baseDir = dirname($vendorDir);
return array(
$vendorDir . '/tecnickcom',
$vendorDir . '/phpseclib/phpseclib/phpseclib',
$vendorDir . '/pear/pear_exception',
$vendorDir . '/pear/auth_sasl',
$vendorDir . '/pear/net_socket',
$vendorDir . '/pear/net_smtp',
$vendorDir . '/pear/auth_sasl',
$vendorDir . '/phpseclib/phpseclib/phpseclib',
$vendorDir . '/pear/validate_finance_creditcard',
);
This diff is collapsed.
......@@ -602,8 +602,8 @@ class Net_SMTP
if (PEAR::isError($result = $this->_parseResponse(220))) {
return $result;
}
if (isset($this->socket_options['ssl']['crypto_method'])) {
$crypto_method = $this->socket_options['ssl']['crypto_method'];
if (isset($this->_socket_options['ssl']['crypto_method'])) {
$crypto_method = $this->_socket_options['ssl']['crypto_method'];
} else {
/* STREAM_CRYPTO_METHOD_TLS_ANY_CLIENT constant does not exist
* and STREAM_CRYPTO_METHOD_SSLv23_CLIENT constant is
......@@ -612,7 +612,7 @@ class Net_SMTP
| @STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
| @STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT;
}
if (PEAR::isError($result = $this->socket->enableCrypto(true, $crypto_method))) {
if (PEAR::isError($result = $this->_socket->enableCrypto(true, $crypto_method))) {
return $result;
} elseif ($result !== true) {
return PEAR::raiseError('STARTTLS failed');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment