/** * {@inheritdoc} */ protected function findDefinitions() { $definitions = parent::findDefinitions(); // Sort definitions by weight uasort($definitions, array('Drupal\\Component\\Utility\\SortArray', 'sortByWeightElement')); return $definitions; }
/** * {@inheritdoc} */ protected function findDefinitions() { $definitions = parent::findDefinitions(); if (isset($definitions['default'])) { // Always put default first. $definitions = ['default' => $definitions['default']] + $definitions; } return $definitions; }
/** * Supplement parent findDefinitions values with Matchers defined in Zxcvbn * library. * * Each entry must be defined as 'NamespacedClass' => 'Description' * * It then massages the data in the structure needed to represent a plugin * definition. * * @return array */ protected function findDefinitions() { $definitions = parent::findDefinitions(); $zxcvbn_matchers = array('ZxcvbnPhp\\Matchers\\DateMatch' => 'Matching the use of dates in passwords', 'ZxcvbnPhp\\Matchers\\DigitMatch' => 'Matching the use of three or more digits in a row in passwords', 'ZxcvbnPhp\\Matchers\\L33tMatch' => 'Matching l33t speak words used in passwords', 'ZxcvbnPhp\\Matchers\\RepeatMatch' => 'Matching the use of three or more of the same character in passwords', 'ZxcvbnPhp\\Matchers\\SequenceMatch' => 'Matching alphanumerical sequences of characters in passwords', 'ZxcvbnPhp\\Matchers\\SpatialMatch' => 'Matching keyboard character spatial locality in passwords', 'ZxcvbnPhp\\Matchers\\YearMatch' => 'Matching years in passwords', 'ZxcvbnPhp\\Matchers\\DictionaryMatch' => 'Matching words used in passwords pulled from a dictionary'); foreach ($zxcvbn_matchers as $matcher_class => $matcher_description) { $class = ltrim(strrchr($matcher_class, '\\'), '\\'); $name = 'zxcvbn_' . strtolower($class); $definitions[$name] = array('id' => $name, 'title' => new TranslationWrapper($matcher_description), 'description' => new TranslationWrapper('Zxcvbn Library ' . $class . ' Matcher'), 'class' => $matcher_class, 'provider' => 'password_strength'); } return $definitions; }