Dark404
мне нужно, чтобы при заходе юзера ко мне на сайт, в хвост ссылки на каждой тумбе дописывался параметр ?id=domain.com, значение которого - домен сайта реферера.
реализовал я это, дописав в сабмемплейт к ссылке аута такую php строку:
Код:
out.php?link=face%url=#URL#?id=<?echo substr(substr($_SERVER['HTTP_REFERER'],strpos($_SERVER['HTTP_REFERER'],'//')+2),0,strpos(substr($_SERVER['HTTP_REFERER'],strpos($_SERVER['HTTP_REFERER'],'//')+2),'/'));?>
сдесь никаких ошибок нету. в стримротаторе, например, работает как надо - реферер определяется правильно и дописывается в хвост.
проблема возникла совершенно в неожиданном месте. дело в том, что DTR при сохранении темплейта (ну и при реранке естественно) рендерит php код, и в файле результата (/dtr/results/main.inc) вместо необходимого мне php кода (просто в виде текста, который я написал чуть выше) выдаётся уже готовый результат работы php. т.е. при работе сайта, вместо реферера посетителя, в параметре id тупо торчит имя домена моего сайта. т.к. реферером дтр считает тот сайт, на котором он стоит (подсказывает мне капитан очевидность)
пробовал решить следующими способами:
1. создал в папке результата файл .htaccess со строчкой php_flag engine off - не помогло.
2. пытался создать строковую переменную, которой присвоить значение кода, (который я вначале написал), а потом эту переменную вставить в нужное место в сабтемплейте. но этот вариант не работает, потому что в коде (тот что я вверху написал) куча специальных символов, на которые ругается компилятор. и что меня окончательно взбесило это то, что если ставить косой слеш перед специальными символами (типа \$ итд), то DTR сука их тоже отрендерит и вместо \$ получится $ и как следствие - вылезет ошибка. из-за этого невозможно в редакторе темплейтов DTR присвоить строковой переменной такой код (то что я вверху написал) !!
3. гуглил-гуглил - ничо не нагуглил
4. еще несколько всяких шизанутых способов пробовал - но они тоже не работают.
интересно, что в файле сабтемплейта в папке /dtr/templates php код не отрендереный. просто как текст. вот точно такое же мне нужно только в файле результата. у кого есть мысли на эту тему ?
elektronik
Если DTR транслирует код всего один раз, можно попробовать сделать пхп код, который печатает нужный пхп код, например, так
Код:
out.php?link=face%url=#URL#?id=<? echo '<? echo substr(substr($_SERVER["HTTP_REFERER"],strpos($_SERVER["HTTP_REFERER"],"//")+2),0,strpos(substr($_SERVER["HTTP_REFERER"],strpos($_SERVER["HTTP_REFERER"],"//")+2),"/"));?>'?>
Dark404
джой вчера мне два файла по почте скинул, которые заменить надо чтоб пхп не рендерило. и действительно заработало так как мне нужно. а вот сегодня с тренировки пришёл, включаю статистику тумб в дтр - смотрю, а там все тумбы удалены нахер почемуто. я обновил темплейт и вобще в админку заходить перестало - выдаёт ошибку:
Код:
пытаюсь обратно старые файлы по фтп залить - пишет ошибку (в WinSCP):
Код:
General failure (server should provide error description).
Error code: 4
Error message from server: Failure
Request code: 3
короче не ясно толи со скриптом что-то, толи мне сервак взломали. одно ясно точно - моему сиджу уже пизда, т.к. минимум 15 часов морда стоит без тумб.
elektronik вроде такое я еще непробовал. если удастся наладить работу сиджа - попробую твой вариант