NvG Опубликовано 19 Апреля 2005 Жалоба Поделиться Опубликовано 19 Апреля 2005 // Я здесь новичок — если не там создал тему, не пинайте Итак, «живое» удаление.Этот мод позволяет удалять сообщения не уходя со страницы! Причём как для простых пользователей, так и для модераторов.Установка делается полностью через админ. панель — путём правки скинов форума.P.S.: делалось для русского модифицированного IPB 1.3 Final, но может подойти и к 2.0.P.P.S.: если у Вас в администраторской панели настройках «Topic View Sections» нет секции «quick_reply_new», то работайте с секцией «quick_reply_box_open».Устанавливается очень просто:1. Идём в администраторскую панель форума.2. Слева выбираем «HTML шаблоны».3. Справа выбираем шаблон, который используется для текущего скина (если их несколько, повторите следующие действия для каждого).Следующее нужно сделать для каждого используемого скина:1. Идём в «Topic View Sections».2. Нажодим «Header» и жмём «Редактировать» справа от него.3. Ищём что-то вроде://--></script>и перед этим добавляем:function live_delete_post(pid,mid) { if (document.forms['live_post_deleter']) { post = document.getElementById('mainpost_div_'+pid); document.forms['live_post_deleter'].p.value = pid; var ok = confirm('Вы действительно хотите удалить сообщение №'+pid+'?'); if (ok) { post.innerHTML = '<big><font color="red">Идёт удаление…</font></big>'; document.forms['live_post_deleter'].submit(); setTimeout(function(){post.innerHTML = '<big><font color="red">Сообщение удалено</font></big>';},4999); elt = document.getElementById('posts_of_'+mid); if (elt) elt.innerHTML = elt.innerHTML - 1; } else alert('И слава богу =)'); window.live_deleter_return = false; return false; } else { alert('Видимо какая-то ошибка… фиг знает…'); window.live_deleter_return = true; return true; } }и сохраняем изменения.4. Далее идём в «Post Entry». Ищем:{$author['member_posts']}меняем на:Сообщений: <span id="posts_of_{$post['id']}">{$post['posts']}</span>. Потом ищем:{$post['delete_button']}меняем на:<span onmousedown="live_delete_post({$post['pid']},{$post['id']}); return window.live_deleter_return;" onclick="return window.live_deleter_return;">{$post['delete_button']}</span>и сохраняем изменения.5. Далее идём в «quick_reply_new» (у кого её нет, идём в «quick_reply_box_open»). В конец добавляем:<form name='live_post_deleter' method='get' action='index.php' target='modNullFrame'> <input type='hidden' name='act' value='Mod' /> <input type='hidden' name='CODE' value='04' /> <input type='hidden' name='f' value='$fid' /> <input type='hidden' name='t' value='$tid' /> <input type='hidden' name='p' value='#DYNAMIC#' /> <input type='hidden' name='auth_key' value='$key' /> </form> <iframe name='modNullFrame' id='modNullFrame' width='0' height='0' onload="setTimeout("this.src = '#';",1999);" onclick="alert('Очень круто — ты попал!!! =)');"></iframe>и сохраняем изменения.6. Идём в «Mod Options Drop Down». В конец добавляем:<form name='live_post_deleter' method='get' action='index.php' target='modNullFrame'> <input type='hidden' name='act' value='Mod' /> <input type='hidden' name='CODE' value='04' /> <input type='hidden' name='f' value='$fid' /> <input type='hidden' name='t' value='$tid' /> <input type='hidden' name='p' value='#DYNAMIC#' /> <input type='hidden' name='auth_key' value='$key' /> </form> <iframe name='modNullFrame' id='modNullFrame' width='0' height='0' onload="setTimeout("this.src = '#';",1999);" onclick="alert('Очень круто — ты попал!!! =)');"></iframe>и сохраняем изменения.7. Можно пробовать [1113910378:1113910678]P.S.: все надписи можно спокойно менять. И onclick="alert('Очень круто — ты попал!!! =)');"тоже можно убрать — это я для прикола вставил.P.P.S.: как работает, можно увидеть здесь — я там техподдержка, собственно, именно для того форума это и писалось.P.P.P.S.: если будут баги, сообщайте Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 21 Апреля 2005 Жалоба Поделиться Опубликовано 21 Апреля 2005 Чего-то я не наблюдаю самого интересного: в каком месте скрипта идёт запуска URLа на удаление поста. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
GiV Опубликовано 21 Апреля 2005 Жалоба Поделиться Опубликовано 21 Апреля 2005 Чего-то я не наблюдаю самого интересного: в каком месте скрипта идёт запуска URLа на удаление поста.<{POST_SNAPBACK}>в жава скрипте лалала.submit(); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 21 Апреля 2005 Жалоба Поделиться Опубликовано 21 Апреля 2005 Так а где он в этом моде? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 21 Апреля 2005 Жалоба Поделиться Опубликовано 21 Апреля 2005 Так а где он в этом моде?<{POST_SNAPBACK}> if (ok) { post.innerHTML = '<big><font color="red">Идёт удаление…</font></big>'; [b]document.forms['live_post_deleter'].submit();[/b] Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
NvG Опубликовано 1 Мая 2005 Автор Жалоба Поделиться Опубликовано 1 Мая 2005 Упс… нашёл несколько косяков. Изменить нужно п. 3:(если Вы его выполняли , то нужно удалить всё, что было добавлено).3. Ищём что-то вроде://--></script>и перед этим добавляем:function live_delete_post(pid,mid) { if (document.forms['live_post_deleter']) { document.forms['live_post_deleter'].p.value = pid; var ok = confirm('Вы действительно хотите удалить сообщение №'+pid+'?'); if (ok) { window.status = 'Идёт удаление…'; document.forms['live_post_deleter'].submit(); setTimeout(function(){alert('Сообщение удалено');},4999); elt = document.getElementById('posts_of_'+mid); if (elt) elt.innerHTML = elt.innerHTML - 1; } else alert('И слава богу =)'); window.live_deleter_return = false; return false; } else { alert('Видимо какая-то ошибка… фиг знает…'); window.live_deleter_return = true; return true; } }и сохраняем изменения. И ещё п. 6 желательно изменить (во избежанние глюков в не-крых браузерах).(если Вы его выполняли , то нужно удалить всё, что было добавлено).6. Идём в «Mod Options Drop Down». В конец добавляем:<script language='javascript' type='text/javascript'><!-- var html = ''; if (!document.forms['live_post_deleter']) { html += "<form name='live_post_deleter' method='get' action='index.php' target='modNullFrame'>"; html += "<input type='hidden' name='act' value='Mod' />"; html += "<input type='hidden' name='CODE' value='04' />"; html += "<input type='hidden' name='f' value='$fid' />"; html += "<input type='hidden' name='t' value='$tid' />"; html += "<input type='hidden' name='p' value='#DYNAMIC#' />"; html += "<input type='hidden' name='auth_key' value='$key' />"; html += "</form>"; } if (!document.frames['modNullFrame']) html += "<iframe name='modNullFrame' id='modNullFrame' width='1' height='1'></iframe>"; document.write(html); //--></script>и сохраняем изменения. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.