Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tinyboard #683

Closed
ghost opened this issue Sep 17, 2014 · 11 comments
Closed

Tinyboard #683

ghost opened this issue Sep 17, 2014 · 11 comments

Comments

@ghost
Copy link

ghost commented Sep 17, 2014

FF31, Последние scriptish и кукла.

Если попробовать ответить в тред прямо из доски, на форме вместо кнопки ответа «в тред» будет «новый топик», и сам пост не отправится. Баги с разметкой: курсив обрамляется парами одинарных кавычек, и доской не понимается.

Там

tinyboard + vichan

@SthephanShinkufag
Copy link
Owner

ответить в тред прямо из доски
tinyboard

Это сделать невозможно. Надо запретить кнопки ответа на доске.

@SthephanShinkufag
Copy link
Owner

К сожалению, тиниборд содержит антибот-защиту (чому я его терпеть не могу, как разработчик свистоперделок). Сломать ее напрямую не получится.
Возможен выход - загружать аяксом форму ответа из треда. Я уже пытался этим заняться, но чего-то у меня не вышло. Це надо много думать и погроммировать не один вечер.

@desudesutalk
Copy link

Це надо много думать и погроммировать не один вечер.

Да укради же уже!
https://github.com/desudesutalk/desudesutalk/blob/master/src/misc/boards.js#L9

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

success: function(data, textStatus, jqXHR) {
    var doc = document.implementation.createHTMLDocument('');
    doc.documentElement.innerHTML = data;

    // Собираем все поля антибота.
    var l = $("form[action*=post]", doc).serializeArray();
    l = l.filter(function(a){
        if(["name","email","subject","post","spoiler","body","file","file_url","password","thread","board"].indexOf(a.name) > -1) return false;
        return true;
    });

    // Не забываем правильную надпись на кнопке "отправить"
    l.push({"name": "post", "value": $('#de-pform input[type=submit]').val()});

    // вызываем настоящую функцию отправки    
    _sendBoardForm(file, l);  
},

А если это у нас не тиниборд, то просто вызываем _sendBoardForm(file).

А вот уже в самой функции _sendBoardForm если передали список полей, то делаем так

if(formAddon.length > 0){
    formData = formData.filter(function(a){
        if(["name","email","subject","post","spoiler","body","file","file_url","password","thread","board"].indexOf(a.name) > -1) return true;
        return false;
    });
    formData.push.apply(formData, formAddon);
}

Тут у нас formAddon это тот самый параметр содержащий свежие антибот поля. Соответственно оставляем в нашей форме только нормальные поля и добавляем те, что нам передали. А дальше всё как обычно.

@ghost
Copy link
Author

ghost commented Sep 19, 2014

Це надо много думать и погроммировать не один вечер.

Главное ведь, чтоб непонятки не возникали. Раз надо в тред — значит, надо. Всё равно потом во вкладке держать его буду.

@ghost ghost closed this as completed Sep 19, 2014
@desudesutalk
Copy link

Стёпа, займись таки ТиниБордом. А то часть форчана переехала на окточан и у них там сейчас проблема, ибо им не хватает 4ChanX. Даже вроде бабало где-то собирают дабы его портировать на окточан. Ну и плюс ещё все кому не лень пишут свои свистоперделочные улучшайзеры.

А тут ты такой красавец с готовым куклоскриптом который WORKS. Народ оценит.

@ghost
Copy link
Author

ghost commented Sep 22, 2014

имблаигн народ кен инто канщя

@desudesutalk
Copy link

Честно - не понял что ты хотел этим сказать.

@ghost
Copy link
Author

ghost commented Sep 22, 2014

К тому, что надо ль оно за мнимого журавля в небе?

@desudesutalk
Copy link

А в самом деле не надо, там уже и так норм. Можно без куклоскрипта пользоваться. #pooleclosed

@SthephanShinkufag
Copy link
Owner

Да пилю же.

@desudesutalk
Copy link

Слушай, походу Окточан придётся поддерживать отдельно от Тиниборда. И вот я сейчас смотрю и сдаётся мне что торопиться не стоит на самом деле. Они там что-то взялись мутить свои приблуды и пока это дело не очень стабильно.

Особенно там есть своя система автоапдейта тредов, которую надо гасить (она иногда успевает отрабатывать поперёк куклоскрипта). И что-то вот она у них какая-то странная. Раз в три секунды и похоже запускается два раза два раза. Ну, так было когда я её изучал.

Ну, это я так, на всякий случай сообщаю.

@SthephanShinkufag SthephanShinkufag changed the title Баги на lainchan.org Tinyboard Oct 18, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants