diff --git a/administrator/components/com_users/config.xml b/administrator/components/com_users/config.xml index 56959fee4c39e..39bb03f683e85 100644 --- a/administrator/components/com_users/config.xml +++ b/administrator/components/com_users/config.xml @@ -205,6 +205,17 @@ default="0" /> + +
get('minimum_integers'); $minimumSymbolsp = $params->get('minimum_symbols'); $minimumUppercasep = $params->get('minimum_uppercase'); + $minimumLowercasep = $params->get('minimum_lowercase'); $meterp = $params->get('meter'); $thresholdp = $params->get('threshold'); @@ -67,6 +69,7 @@ public function test(\SimpleXMLElement $element, $value, $group = null, Registry empty($minimumIntegersp) ? : $minimumIntegers = (int) $minimumIntegersp; empty($minimumSymbolsp) ? : $minimumSymbols = (int) $minimumSymbolsp; empty($minimumUppercasep) ? : $minimumUppercase = (int) $minimumUppercasep; + empty($minimumLowercasep) ? : $minimumLowercase = (int) $minimumLowercasep; empty($meterp) ? : $meter = $meterp; empty($thresholdp) ? : $threshold = $thresholdp; } @@ -154,6 +157,22 @@ public function test(\SimpleXMLElement $element, $value, $group = null, Registry } } + // Minimum number of lower case ASCII characters required + if (!empty($minimumLowercase)) + { + $nLowercase = preg_match_all('/[a-z]/', $value, $umatch); + + if ($nLowercase < $minimumLowercase) + { + \JFactory::getApplication()->enqueueMessage( + \JText::plural('COM_USERS_MSG_NOT_ENOUGH_LOWERCASE_LETTERS_N', $minimumLowercase), + 'warning' + ); + + $validPassword = false; + } + } + // Minimum length option if (!empty($minimumLength)) {