Классический форум-трекер
canvas not supported
Нас вместе: 4 260 379


Устойчивый к блокировкам VPN с высоким уровнем приватности

Ошибка в ссылке при создании ссылки поиска


 
 
RSS
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Информация и поддержка -> Предложения и замечания
Автор Сообщение
volkov888 ®
Стаж: 12 лет 2 мес.
Сообщений: 1813
Ratio: 874.012
Поблагодарили: 100347
100%
При создании ссылки поиска дублируются параметры.

Пример:

1. В поиске по трекеру найти PDF, нажать "Искать", нажать "Получить ссылку":
Получим правильную ссылку: https://nnmclub.to/forum/tracker.php?nm=PDF

2. Затем в результатах поиска нажать на какой-нибудь форум, потом нажать "Получить ссылку":
Получим ссылку с задвоенными параметрами: https://nnmclub.to/forum/tracker.php?f=767&nm=PDF?nm=PDF&f=767
Kalex
Администратор
Стаж: 18 лет 5 мес.
Сообщений: 48213
Ratio: 260.688
Поблагодарили: 15332
100%
nnm-club.gif
volkov888
Не совсем понял, что и как делаете Вы, чтобы получить такой необычный результат, но я не могу подтвердить наличие проблемы.
Всё работает как положено и как задумано.


P.S. Не рекомендую использовать ссылку на результат поиска на трекере, не у всех она покажет тот же результат, что и у Вас.
У меня, например, по Вашему поисковому запросу результат будет вообще нулевой, потому что у меня обычно применены фильтры, которые нужны мне, и они сохраняются автоматически. Именно поэтому в раздачах видео мы требуем отправлять в поиск с результатами на портале. На скриншоте я временно сбросил свои фильтры, затем вернул обратно.

Добавлено спустя 3 минуты 28 секунд:
volkov888 писал(а): Перейти к сообщению
Затем в результатах поиска нажать на какой-нибудь форум, потом нажать "Получить ссылку"

Сначала сброс, пустой поиск, потом нужные фильтры, поисковый запрос, и получаем ссылку, а не как-то иначе.

Добавлено спустя 10 минут 15 секунд:

Основы поиска в tracker.php и синтаксис я писал здесь Новый подраздел в рубрике PS3
volkov888 ®
Стаж: 12 лет 2 мес.
Сообщений: 1813
Ratio: 874.012
Поблагодарили: 100347
100%
Скриншот:
Kalex
Администратор
Стаж: 18 лет 5 мес.
Сообщений: 48213
Ratio: 260.688
Поблагодарили: 15332
100%
nnm-club.gif
volkov888 писал(а): Перейти к сообщению
Скриншот

Покажите видео, начиная со сброса настроек поиска, что там у Вас происходит.
volkov888 ®
Стаж: 12 лет 2 мес.
Сообщений: 1813
Ratio: 874.012
Поблагодарили: 100347
100%
Kalex писал(а): Перейти к сообщению
Покажите видео, начиная со сброса настроек поиска, что там у Вас происходит.
Зачем усложнять, по скриншоту всё понятно.

Смотрим на ссылку и URL в браузере. Левая часть ссылки совпадает с URL.
Следовательно можем предположить, что где-то в коде берётся URL и к нему добавляются параметры.

При нажатии на "Получить ссылку" вызывается функция "get_fs_link()". Смотрим её:
Код: выделить все

function get_fs_link() {
    var n = $("#fs").val(),
        o = $("#nm").val(),
        r = $("#pn").val();
    return o = encodeURI(o),
      o = o.replace(/\(/g, "%28"),
      o = o.replace(/\)/g, "%29"),
      o = o.replace(/\'/g, "%27"),
      o = o.replace(/\:/g, "%3A"),
      o = o.replace(/\;/g, "%3B"),
      null != n && -1 == $.inArray("-1", n) && "" != o && "" != r ?
        window.prompt("Ваша ссылка:", "" + window.location + "?nm=" + o + "&f=" + n.sort().join() + "&pn=" + r) : null != n && -1 == $.inArray("-1", n) && "" != o ?
        window.prompt("Ваша ссылка:", "" + window.location + "?nm=" + o + "&f=" + n.sort().join()) : "" != o && "" != r ?
        window.prompt("Ваша ссылка:", "" + window.location + "?nm=" + o + "&pn=" + r) : "" != o ?
        window.prompt("Ваша ссылка:", "" + window.location + "?nm=" + o) : alert("У Вас пустая строка поиска"), !1
}

Предположение оказалось верно, в коде есть строки: window.location + "?nm="
Так делать нельзя, т.к. window.location уже содержит параметры.
Гуглим решение: https://stackoverflow.com/questions/6257463/how-to-get-the-url-without-any-parameters-in-javascript

Код можно поправить например так:
"window.location" заменить на "location.origin + location.pathname"
Код: выделить все

function get_fs_link() {
    var url = window.location.origin + window.location.pathname;
    var n = $("#fs").val(),
        o = $("#nm").val(),
        r = $("#pn").val();
    return o = encodeURI(o),
        o = o.replace(/\(/g, "%28"),
        o = o.replace(/\)/g, "%29"),
        o = o.replace(/\'/g, "%27"),
        o = o.replace(/\:/g, "%3A"),
        o = o.replace(/\;/g, "%3B"),
        null != n && -1 == $.inArray("-1", n) && "" != o && "" != r ?
            window.prompt("Ваша ссылка:", "" + url + "?nm=" + o + "&f=" + n.sort().join() + "&pn=" + r) : null != n && -1 == $.inArray("-1", n) && "" != o ?
            window.prompt("Ваша ссылка:", "" + url + "?nm=" + o + "&f=" + n.sort().join()) : "" != o && "" != r ?
            window.prompt("Ваша ссылка:", "" + url + "?nm=" + o + "&pn=" + r) : "" != o ?
            window.prompt("Ваша ссылка:", "" + url + "?nm=" + o) : alert("У Вас пустая строка поиска"), !1
}
Kalex
Администратор
Стаж: 18 лет 5 мес.
Сообщений: 48213
Ratio: 260.688
Поблагодарили: 15332
100%
nnm-club.gif
volkov888 писал(а): Перейти к сообщению
Зачем усложнять, по скриншоту всё понятно.

Вам понятно, а мне нет, я не смог воспроизвести это и сколько лет пользуюсь поиском на трекере, фильтрами, генерацией ссылок и обучением основам поиска других, никаких проблем не было, я с таким не сталкивался.

Я передам пожелания разработчикам, спасибо Вам за багрепорт, ЕСЛИ это реально баг, косяк, и "проблема" подтвердится, ИЛИ ЕСЛИ в результате этого можно будет что-то улучшить с нашей стороны, чтобы у Вас работало так, как используете это Вы.

Добавлено спустя 21 минуту 23 секунды:

volkov888
Проверьте еще раз так, как делали Вы, должно работать нормально.
volkov888 ®
Стаж: 12 лет 2 мес.
Сообщений: 1813
Ratio: 874.012
Поблагодарили: 100347
100%
Kalex писал(а): Перейти к сообщению
Проверьте еще раз так, как делали Вы, должно работать нормально.


Если перейти по этой ссылке: https://nnmclub.to/forum/tracker.php?f=767&nm=PDF
и нажать "Получить ссылку", то будет ссылка https://nnmclub.to/forum/tracker.php?nm=PDF&f=767
Для таких ссылок проблема исправлена.

Если перейти по этой ссылке: https://nnmclub.to/forum/tracker.php?nm=PDF
и нажать "Получить ссылку", то будет ссылка https://nnmclub.to/forum/tracker.php?nm=PDF?nm=PDF
Для таких ссылок проблема повторяется, параметры дублируются.
Kalex
Администратор
Стаж: 18 лет 5 мес.
Сообщений: 48213
Ratio: 260.688
Поблагодарили: 15332
100%
nnm-club.gif
volkov888 писал(а): Перейти к сообщению
Если

Так "если", или всё же сразу "по скриншоту всё понятно"? Хех...

Ладно, передам и это разработчикам. Хотя вряд ли задумывалось, чтобы вот так всё это использовать, это же надо было придумать такое :кругом голова:
volkov888 ®
Стаж: 12 лет 2 мес.
Сообщений: 1813
Ratio: 874.012
Поблагодарили: 100347
100%
Kalex писал(а): Перейти к сообщению
это же надо было придумать такое :кругом голова:

Ничего особенного, простое тестирование кода, обычно это должны делать разработчики когда пишут код.

Сейчас функция выглядит так:
Код: выделить все

function get_fs_link(){
  var n=$("#fs").val(),o=$("#nm").val(),r=$("#pn").val();
  return o=encodeURI(o),
    o=o.replace(/\(/g,"%28"),
    o=o.replace(/\)/g,"%29"),
    o=o.replace(/\'/g,"%27"),
    o=o.replace(/\:/g,"%3A"),
    o=o.replace(/\;/g,"%3B"),
    null!=n&&-1==$.inArray("-1",n)&&""!=o&&""!=r?
      window.prompt("Ваша ссылка:",""+window.location.origin+window.location.pathname+"?nm="+o+"&f="+n.sort().join()+"&pn="+r):null!=n&&-1==$.inArray("-1",n)&&""!=o?
      window.prompt("Ваша ссылка:",""+window.location.origin+window.location.pathname+"?nm="+o+"&f="+n.sort().join()):""!=o&&""!=r?
      window.prompt("Ваша ссылка:",""+window.location.origin+window.location.pathname+"?nm="+o+"&pn="+r):""!=o?
      window.prompt("Ваша ссылка:",""+window.location+"?nm="+o):alert("У Вас пустая строка поиска"),
      !1
}

Здесь в первых трех случаях window.location поменяли на window.location.origin+window.location.pathname, а в четвертом забыли, поэтому если используется только один параметр "nm", то работать будет неправильно.

Вообще, в этой функции код плохо написан, есть дублирование кода: здесь четыре вызова window.prompt, а по хорошему в этой функции должен быть только один вызов.
Kalex
Администратор
Стаж: 18 лет 5 мес.
Сообщений: 48213
Ratio: 260.688
Поблагодарили: 15332
100%
nnm-club.gif
volkov888
Передал дальше ссылку на Ваш комментарий.
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Информация и поддержка -> Предложения и замечания Часовой пояс: GMT + 3
Страница 1 из 1