<commit_before><?php
/**
 * Регистрация
 *
 * @version 13.09.2016
 * @author <NAME> <<EMAIL>>
 */

namespace MFLPHP\Pages\User;

use MFLPHP\Helpers;

class ActionRegister extends \MFLPHP\Abstracts\ActionModel
{
    /**
     * Выполним действие
     *
     * @param string $user_name  Имя пользователя
     * @param string $user_email Адрес электронной почты
     *
     * @return array
     *
     * @version 13.09.2016
     * @author <NAME> <<EMAIL>>
     */
    public function run($user_name, $user_email)
    {
        $result = [
            'error'   => true,
            'message' => 'Неизвестная ошибка.',
        ];

        // Создадим временный пароль
        $length   = ($this->di->auth->config->password_min_score > 10 ? $this->di->auth->config->password_min_score : 10);
        $password = $this->di->auth->getRandomKey($length);

        // Добавим пользователя
        $registerResult = $this->di->auth->register($user_email, $password, $password);
<commit_msg>Критический баг с регистрацией. Иногда мог создаваться неверный пароль.<commit_after><?php
/**
 * Регистрация
 *
 * @version 14.09.2016
 * @author <NAME> <<EMAIL>>
 */

namespace MFLPHP\Pages\User;

use MFLPHP\Helpers;

class ActionRegister extends \MFLPHP\Abstracts\ActionModel
{
    /**
     * Выполним действие
     *
     * @param string $user_name  Имя пользователя
     * @param string $user_email Адрес электронной почты
     *
     * @return array
     *
     * @version 14.09.2016
     * @author <NAME> <<EMAIL>>
     */
    public function run($user_name, $user_email)
    {
        $result = [
            'error'   => true,
            'message' => 'Неизвестная ошибка.',
        ];

        // Определим длину пароля
        $length = 10;

        // Создадим временный пароль
        $zxcvbn = new \ZxcvbnPhp\Zxcvbn();
        $password = $this->di->auth->getRandomKey($length);
        while ($zxcvbn->passwordStrength($password)['score'] < intval($this->config->password_min_score)) {
            $password = $this->di->auth->getRandomKey($length);
        }

        // Добавим пользователя
        $registerResult = $this->di->auth->register($user_email, $password, $password);

{'fraction_non_alphanumeric': 0.14482758620689656, 'fraction_numerical': 0.01747126436781609, 'mean_word_length': 2.4375987361769353, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 46, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6519613', 'n_tokens_mistral': 774, 'n_tokens_neox': 779, 'n_words': 138}