Имя пользователя при редиректе

Автор ignatby, 21 марта 2011, 13:27:48

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

ignatby

Добрый день.

У меня появилась надобность при редиректе, когда пользователь заходит в подраздел, на который установлен редирект на другой сайт, чтобы к редиректу добавлялось бы имя пользователя, который переходит, в виде GET-данных.

Т.е. чтобы было не просто http://site.ru, а что-то вроде http://site.ru/?имя_пользователя, чтобы потом на другом сайте это имя "подхватывать".

Само имя буду брать из переменной $context, ссылка редиректа подраздела лежит в таблице boards (поле redirect), но вот где именно это всё подставить ?

Рылся по поиску - ничего такого не нашёл. Порылся в файлах smf - чего-то ничего пока не получилось...

Хотя бы узнать, где именно и как обрабатываются форумом "редиректорные" ссылки, хотя бы в каком файле...

ignatby

Неужели никто не знает ? Хотя бы в общих чертах...  :-\

ignatby

В общем, решил я эту проблему.  O0

Чтобы другие не искали, кому понадобиться подобное, выкладываю решение.

Правим файл Subs.php. В нем находим функцию redirectexit($setLocation = '', $refresh = false).

В ней находим строки:

       // We send a Refresh header only in special cases because Location looks better. (and is quicker...)
        if ($refresh && !WIRELESS)
                header('Refresh: 0; URL=' . strtr($setLocation, array(' ' => '%20')));
        else
                header('Location: ' . str_replace(' ', '%20', $setLocation));


В частности, нам нужна вот эта:
header('Location: ' . str_replace(' ', '%20', $setLocation));

Её приводим к следующему виду:
header('Location: ' . str_replace(' ', '%20', $setLocation).'?N='.str_replace(' ', '%20', $context['user']['username']));
где переменная $context['user']['username'] и есть имя пользователя.

В итоге имеем запись типа http://site.ru?N=имя_пользователя. N - частный случай, мне надо было именно эту буковку...  ;)

Если нужно передавать отображаемое имя, то username нужно поменять на name. А вообще в переменной
context есть много чего...


Всем спасибо за внимание.
^-^