Поэтому сделал небольшой хак, добавляющий возможность авторизации по нику.
Делать особо ничего не надо, просто изменить public static function login в файле \system\core\user.php
Убираем проверку мыла на мыльность и меняем местами слово email на nickname:
public static function login($nickname, $password, $remember=false) { $model = cmsCore::getModel('users'); $model->filterEqual('nickname', $nickname); $model->filterFunc('password', "MD5(CONCAT(MD5('{$password}'), i.password_salt))"); $user = $model->getUser(); if(!$user) { $model->filterEqual(('email'), $nickname); $model->filterFunc('password', "MD5(CONCAT(MD5('{$password}'), i.password_salt))"); $user = $model->getUser(); } if(!$user) { } $user = cmsEventsManager::hook('user_login', $user); 'id' => $user['id'], 'groups' => $user['groups'], 'time_zone' => $user['time_zone'], 'perms' => self::getPermissions($user['groups'], $user['id']), 'is_admin' => $user['is_admin'], )); if ($remember){ $auth_token = string_random(32, $email); } 'ip' => self::getIp() )); return $user['id']; }
Если это как-то нарушает безопасность или еще что — знатокам просьба сообщить.