ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

Кнопка "kick"

 

596
Сергей @Князь_Пипецкий
Только сразу не ругайтесь 😀

Для удобства модераторов решил смастерить функцию kick под кнопку.
Смысл?
В селекторе много разных команд, пока выберешь нужную - актуальность пинка уже вроде бы теряет свою остроту 😀
Вот и решил сделать кнопку для быстрого доступа к команде.
Но по неопытности видимо чего-то не учел.

вот код: <input type="submit" class="ok" onclick="cmd.value='/kick ';" value="пнуть" title="Вывести из чата">

Сама кнопка функционально работает. Нарушитель вылетает как родной.
Но есть побочный эффект.
После этого если пишешь в чат на какой то ник, или просто в общак - продолжает действовать функция kick если отправляешь сообщение enter.
Если отправлять сообщение кнопкой "в обшак" или " в приват" - то все нормально.

Если не очень глупый вопрос - подскажите.
Если туплю - просто удалите сообщение 😀

4619
Web3r @Web3r
cmd.value+='/kick ';return false"

1007
BETEPAH @BETEPAH
Князь_Пипецкий пишет:

Для удобства модераторов решил смастерить функцию kick под кнопку.

Продолжает действовать, потому что Вы не сбрасываете после отправки cmd.value, видимо.
Я у себя реализовал так:
<a href="#" title="удалить" onclick="moder('kill','Удалить?');return false">kill</a> |
<a href="#" title="выпнуть" onclick="moder('kick','Выпнуть?');return false">kick</a> |
<a href="#" title="закидать окнами" onclick="moder('windows','Закидать окнами?');return false">windows</a>

<script>
function moder(moderact, confirmact){
if (confirm(confirmact)) {
parent.write.location.href = 'index.php?inc=write&'+ parent.yourkey+'&text=/'+moderact+' '+document.fmsg.tonick.value+' '+document.fmsg.text0.value;
document.fmsg.cmd.value=document.fmsg.text0.value=document.fmsg.tonick.value='';
} else {
alert("отменено")
}
}
</script>

Действие с подтверждением, чтоб случайно не забанить кого-то 😉

P.S. если чат безфреймовый, то наверное надо parent.write заменить на hidden

Отредактировано BETEPAH - 16.12.2011
596
Сергей @Князь_Пипецкий
Спасибо огромное! Все получилось!
Работает так как я и хотел!
Теперь только вместо надписей кнопочки поставлю....и будет красота 😀

1007
BETEPAH @BETEPAH
Князь_Пипецкий пишет:

Теперь только вместо надписей кнопочки поставлю....и будет красота 😀

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

596
Сергей @Князь_Пипецкий
Как прописать условие - это как раз не сложно:

if(parent.admin==1) (или так)

if(parent.status==1) (или так)


а вот как записать " контейнер, который виден только модераторам" - ну перепробовал несколько вариантов ..... или выспаться нужно, или оставить эту идею 😀

сначала пробовал как в селекторе команд скрыта модерская часть:

<script>
if(parent.admin==1) { здесь прячутся команды }
</script>

как результат - вообще этих команд не видит никто, спрятал надежно 😀

Отредактировано Князь_Пипецкий - 17.12.2011
2615
Сергей @Pegass
<script>
function moder(moderact, confirmact){
if (confirm(confirmact)) {
parent.write.location.href = 'index.php?inc=write&'+ parent.yourkey+'&text=/'+moderact+' '+document.fmsg.tonick.value+' '+document.fmsg.text0.value;
document.fmsg.cmd.value=document.fmsg.text0.value=document.fmsg.tonick.value='';
} else {
alert("отменено")
}
}
</script>

<script>
if(parent.admin==1) {
document.write("<a href=\"#\" title=\"удалить\" onclick=\"moder('kill','Удалить?');return false\">kill</a> | <a href=\"#\" title=\"выпнуть\" onclick=\"moder('kick','Выпнуть?');return false\">kick</a> | <a href=\"#\" title=\"закидать окнами\" onclick=\"moder('windows','Закидать окнами?');return false\">windows</a>");
}
</script>

1007
BETEPAH @BETEPAH
Князь_Пипецкий пишет:

Как прописать условие - это как раз не сложно:
if(parent.admin==1) (или так)
if(parent.status==1) (или так)
а вот как записать " контейнер, который виден только модераторам" - ну перепробовал несколько вариантов ..... или выспаться нужно, или оставить эту идею 😀
сначала пробовал как в селекторе команд скрыта модерская часть:
<script>
if(parent.admin==1) { здесь прячутся команды }
</script>
как результат - вообще этих команд не видит никто, спрятал надежно 😀

Как-то так:
<script>
if (parent.mynick == 'Князь_Пипецкий' || parent.admin == 1 || parent.status == 1) document.write('<a href="#" title="удалить" onclick="moder(\'kill\',\'Удалить?\');return false">kill</a> | <a href="#" title="выпнуть" onclick="moder(\'kick\',\'Выпнуть?\');return false">kick</a> | <a href="#" title="закидать окнами" onclick="moder(\'windows\',\'Закидать окнами?\');return false">windows</a>');
</script>

Если будете заменять ссылки на кнопки, внимательно следите за чередованием и экранированием кавычек.

Отредактировано BETEPAH - 17.12.2011
596
Сергей @Князь_Пипецкий
Глупо, конечно, после того, как дело сделано, вопросы задавать..... но я понять хочу на перспективу.

вот два куска одного и того же кода:

Рабочий:

<script>
if (parent.mynick == 'Князь_Пипецкий' || parent.admin == 1 || parent.status == 1) document.write('<a href="#" title="Предупредить" onclick="moder(\'warn\',\'Предупредить?\');return false"><img src=img/warn.png /a> <a href="#" title="Запретить говорить" onclick="moder(\'warn\',\'Запретить говорить?\');return false"><img src=img/shut.png /a> <a href="#" title="Забанить на час" onclick="moder(\'kill\',\'Забанить на час?\');return false"><img src=img/kill.png /></a> <a href="#" title="Выпнуть" onclick="moder(\'kick\',\'Выпнуть?\');return false"><img src=img/kick.png /a> <a href="#" title="Закидать окнами" onclick="moder(\'windows\',\'Закидать окнами?\');return false"><img src=img/windows.png /></a> <a href="#" title="Удалить фразу" onclick="moder(\'remove\',\'Удалить фразу?\');return false"><img src=img/remove.png /a>');
</script>


Не Рабочий:

<script>
if (parent.mynick == 'Князь_Пипецкий' || parent.admin == 1 || parent.status == 1) document.write
('<a href="#" title="Предупредить" onclick="moder(\'warn\','\Предупредить?\');return false"><img src=img/warn.png /></a>
<a href="#" title="Запретить говорить" onclick="moder('\shut\','\Запретить говорить?\');return false"><img src=img/shut.png /></a>
<a href="#" title="Выпнуть" onclick="moder('\kick\','\Выпнуть?\');return false"><img src=img/kick.png /></a>
<a href="#" title="Забанить на час" onclick="moder('\kill\','\Забанить на час?\');return false"><img src=img/kill.png /></a>
<a href="#" title="Закидать окнами" onclick="moder('\windows\','\Закидать окнами?\');return false"><img src=img/windows.png /></a>
<a href="#" title="Стереть фразу" onclick="moder('\remove\','\Стереть фразу?\');return false"><img src=img/remove.png /></a>');
</script>


чуть глаза не лопнули......но разницы не увидел 🙁



А за подсказку спасибо!

2615
Сергей @Pegass
А я вижу и называется она - Символы переноса на новую строку, которых в параметре функции document.write(%параметр%); быть не должно)))

Отредактировано Pegass - 18.12.2011
10
bogomol @bogomol
сделайте все кнопки модерации так проще будет!

596
Сергей @Князь_Пипецкий
Уже сделано 😀

415
Денис @FeNIX74
Подскажите а, возможно ли решение в 3 посте сделать не кнопками а, так же выбором из селектора как в стандарте только чтоб предупреждало. Если да то подскажите как?

135
заблокирован @yoda23
FeNIX74 пишет:

Подскажите а, возможно ли решение в 3 посте сделать не кнопками а, так же выбором из селектора как в стандарте только чтоб предупреждало. Если да то подскажите как?

А ещё круче 6ыло 6ы если 6ы напротив каждого ника 6ыла кнопка кика))) в никлисте

2970
удалён @Foggy
yoda23, выдам решение за $5.

Если лазаешь по форуму и придумываешь какую-то функцию, которой пока нигде не видел - ожидай такого ответа)))

135
заблокирован @yoda23
Foggy пишет:

yoda23, выдам решение за $5.

Если лазаешь по форуму и придумываешь какую-то функцию, которой пока нигде не видел - ожидай такого ответа)))

Ну это лишь до тех пор пока на форуме не появиться какой нить кодер альтруист типо ридза))) Да и воо6ще эта опция 6ыла 6ы полезной для всех чатов. Я думал смысл существования форума как раз в том что6ы придумывать тут за 6есплатно что то нужное для всех чатов. А за деньги люди так и так кодеров нашли 6ы где ни6удь.

Отредактировано yoda23 - 07.02.2015
2615
Сергей @Pegass
а я то думал фишка форума в том чтобы пользователи учились новому и делали сами аналоги того что описано уже, но по другому, за лень же надо платить - 5$

135
заблокирован @yoda23
Pegass пишет:

а я то думал фишка форума в том чтобы пользователи учились новому и делали сами аналоги того что описано уже, но по другому, за лень же надо платить - 5$

Все я понял тут что то подправить помогают по халяве а с нуля пишут за деньги верно?

2615
Сергей @Pegass
не верно
бесплатно только подсказывают и выдают простые решения если они до этого не обсуждались никогда.
ну или когда просят помочь с чем то над чем думают но что-то не выходит
а ещё если задача настолько занимательна и интересна самому разработчику что он готов пожертвовать своим временем просто так

60
Lilith @lilith
И снова здравствуйте уважаемые знатоки, вот код

<div style="position: absolute; top: 9%; right: 0%;">
<script>
function moder(moderact, confirmact){
if (confirm(confirmact)) {
parent.write.location.href = 'index.php?inc=write&'+ parent.yourkey+'&text=/'+moderact+' '+document.fmsg.tonick.value+' '+document.fmsg.text0.value;
document.fmsg.cmd.value=document.fmsg.text0.value=document.fmsg.tonick.value='';
} else {
alert("отменено")
}
}
</script>

<script>
if(parent.admin==1) {
document.write("<a href=\"#\" title=\"удалить\" onclick=\"moder('kill','Удалить?');return false\"><img src='https://imgs.su/upload/180/2140302038.png'></a><br><a href=\"#\" title=\"Запретить говорить\" onclick=\"moder('shut','Запретить?');return false\"><img src='https://imgs.su/upload/180/2140302038.png'></a><br><a href=\"#\" title=\"Предупреждение\" onclick=\"moder('warn','Предупредить?');return false\"><img src='https://imgs.su/upload/180/2140302038.png'></a> ");
}
</script>
</div>


окно с подтверждением вылетает но действие не выполняется