Ошибка вывода профиля для ника, содержащего заглавные буквы
1
Обновился до ревизии 222 от сегодня. И совершенно случайно попытался зайти на . В результате чего увидел ошибку 404. Для пользователей с никами, не содержащими заглавных букв, странички отображаются нормально. В чём может быть проблема?
upd. Не работает не только , но и . (
upd. Не работает не только , но и . (
- +2
- 09 марта 2009, 21:51
- skachko
Возможно у вас как-то криво встало обновление SVN, возможно что-то в настройках сервера — потому что здесь например открывается без ошибок. У меня тоже на ревизии 222 все нормально.
Что значит «криво»? :)
Я просто удалил сайт (т.к. он валяется без дела уже 4 месяца, ждет обновления LS 0.3 с новым дизом) и залил все заново. Прописал все настройки в конфигах, создал пустую базу, выполнил патч базы. Забил руками старые данные и юзеров.
Так что «криво» встать релиз не мог. Возможно, что-то у хостера не так? firstvds.ru
Я просто удалил сайт (т.к. он валяется без дела уже 4 месяца, ждет обновления LS 0.3 с новым дизом) и залил все заново. Прописал все настройки в конфигах, создал пустую базу, выполнил патч базы. Забил руками старые данные и юзеров.
Так что «криво» встать релиз не мог. Возможно, что-то у хостера не так? firstvds.ru
Зарегистрировал нового юзера — … та же самая петрушка… Что делать? Подскажите хоть, где в коде посмотреть, в каких файлах копаться?
а что будет если на фтп просто создать папку содержащую такие буквы (не имеющего ничего общего с движком), а в нее положить фаил любой, тоже из заглавных букв в имени и попробывать его скачать?
не отрабатывает регулярное выражение
попробуй его заменить на
<code>$this->AddEventPreg('/^[\w\-\_]+$/i','/^(whois)?$/i','EventWhois');</code>попробуй его заменить на
<code>$this->AddEventPreg('/^[a-zA-Z\-\_]+$/i','/^(whois)?$/i','EventWhois');</code>
Поменял. Не помогло. (
<code>protected function RegisterEvent() {
//$this->AddEventPreg('/^[\w\-\_]+$/i','/^(whois)?$/i','EventWhois');
$this->AddEventPreg('/^[a-zA-Z\-\_]+$/i','/^(whois)?$/i','EventWhois');
//$this->AddEventPreg('/^[\w\-\_]+$/i','/^favourites$/i','/^(page(\d+))?$/i','EventFavourite');
$this->AddEventPreg('/^[a-zA-Z\-\_]+$/i','/^favourites$/i','/^(page(\d+))?$/i','EventFavourite');
}</code>
Засада вот где:
Хотя $sUserLogin содержит то, что нужно.
<code>
/**
* Проверяем есть ли такой юзер
*/
if (!($this->oUserProfile=$this->User_GetUserByLogin($sUserLogin))) {
echo 'БОРОДА' . $sUserLogin;
return parent::EventNotFound();
}</code>Хотя $sUserLogin содержит то, что нужно.
Переменная $this->oUserProfile в выражении «if (!($this->oUserProfile=$this->User_GetUserByLogin($sUserLogin)))» ПУСТАЯ! Думаю, так не должно быть. А "$this->User_GetUserByLogin($sUserLogin)" отрабатывает корректно — возвращает массив с данными, который видно через «print_r($this->User_GetUserByLogin($sUserLogin))».
Сорри. Не отрабатывает!!!
Что-то где-то меняет PeTTiNg на petting
<code>[2009-03-10 22:40:55][59083][DEBUG][SELECT
u.*,
IF(uv.user_id IS NULL,0,1) as user_is_vote,
uv.vote_delta as user_vote_delta,
IF(uf.user_id IS NULL,0,1) as user_is_frend
FROM
cook2_user as u
LEFT JOIN (
SELECT
user_id,
vote_delta
FROM cook2_user_vote
WHERE user_voter_id = 45
) AS uv ON uv.user_id = u.user_id
LEFT JOIN (
SELECT
user_id,
user_frend_id
FROM cook2_friend
WHERE user_id = 45
) AS uf ON uf.user_frend_id = u.user_id
WHERE
u.user_login = '<b>petting</b>' ]
[2009-03-10 22:40:55][59083][DEBUG][ -- 19 ms; returned 0 row(s)]</code>Что-то где-то меняет PeTTiNg на petting
Комментарии (19)
RSS свернуть / развернуть