Поле extended ломает профиль юзера
        Доброго времени. Удивительную вещь заметил — стоит сохранить в любом расширенном поле имя отчество (пробовал только со своим) — мой профиль перестает загружаться. Причем это происходит, если сохранять программно или через админку.
Как-то так выглядит.
github.com/modxcms/revolution/blob/2.x/manager/controllers/default/security/user/update.class.php#L119
но вот тока версия у меня 2.3.3 и код иначе выглядит.
    
    
                                                                                
            Как-то так выглядит.
$user = $modx->getObject('modUser',['id'=>1])->Profile;
$ext = $user->get('extended');;
$ext['surname'] = 'Ант Владимирович';
print_r($ext);
$user->set('extended',$ext);
$user->save();Ан Владимирович — все ок, Антон Владимиро тоже, а вот Антон Владимиров уже ломает профиль. И дело не в длине сохраняемой строки. Чисто принт-эром нашел, что все ломается где-то здесь, в _parseCustomDatagithub.com/modxcms/revolution/blob/2.x/manager/controllers/default/security/user/update.class.php#L119
но вот тока версия у меня 2.3.3 и код иначе выглядит.
private function _parseCustomData(array $remoteData = array(),$path = '') {
        $fields = array();
        foreach ($remoteData as $key => $value) {
            $field = array(
                'name' => $key,
                'id' => (!empty($path) ? $path.'.' : '').$key,
            );
            if (is_array($value)) {
                $field['iconCls'] = 'icon-folder';
                $field['text'] = $key;
                $field['leaf'] = false;
                $field['children'] = $this->_parseCustomData($value,$key);
            } else {
                $v = $value;
                if (strlen($v) > 30) { $v = substr($v,0,30).'...'; }
                $field['iconCls'] = 'icon-terminal';
                $field['text'] = $key.' - <i>'.$v.'</i>';
                $field['leaf'] = true;
                $field['value'] = $value;
            }
            $fields[] = $field;
        }
        return $fields;
    }Меня сильно попросили добавить кой-чего в старый сайт и вот такая беда. Я конечно выкручюсь, свою таблицу там создам или типа того, но что это в принципе может быть за напасть?    Комментарии: 2
                substr против mb_substr(в новой версии), просто ломается UTF-8 последовательность, и из-за этого ломается JS в админке            
                    
                Спасибо. Решать теперь как это лучше пофиксить — то ли просто substr на mb_substr заменить, то ли правда что user_attributes своими полями расширить, а extended забить… Ну, это уж риторичный вопрос.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.