Название: Жалоба на материал
Автор: Богдан
Описание: Думаю, что еще кому-то пригодится. Данный скрипт отправляет жалобы на форум в специальную тему. Теперь не один главный админ будет рассматривать все жалобы, а и модераторы тоже. Это ускорит процесс рассмотрения жалоб и жизнь админу.
Шаблон страница материала и комментариев к нему, после $ВОDY$:
Code
<script type="text/javascript">
badEntry = {forum: "http://rucoz.com/forum/17-138-1", open: function(){ new _uWnd('a', 'Жалоба на материал', 350, 230, {align: 0, modal: 1}, '<fieldset><legend>Причина жалобы</legend><select id="themeBadEntry" onchange="badEntry.type(this.value);return false;"><option value="0">Выберите один из вариантов</option><option value="1">Нарушение авторских прав</option><option value="2">Материал не по тематики сайта</option><option value="3">Неправильное оформление материала</option><option value="4">Ссылка на скачивание битая</option><option value="5">Другое</option></select></fieldset><fieldset><legend>Текст жалобы</legend><textarea style="width: 100%" rows="4" id="reasonBadEntry" onblur="$(\'#sendBadButton\').focus();"></textarea></fieldset><fieldset><center><input type="button" id="sendBadButton" value="Отправить" onclick="badEntry.go();"></center></fieldset>');},type: function (a){switch (a) {case "1": this.theme = "Нарушение авторских прав"; break;case "2": this.theme = "Материал не по тематики сайта"; break;case "3": this.theme = "Неправильное оформление материала"; break; case "4": this.theme = "Ссылка на скачивание битая"; break; case "5": this.theme = "Другое"; break; default: this.theme = "Тема не выбрана";}; $("#themeBadEntry").replaceWith("<b>" + this.theme + "</b>"); $("#reasonBadEntry").focus();}, go: function(){var messg = $("#reasonBadEntry").val(); if (this.theme == undefined) {alert('Тема жалобы не выбрана'); return;} if (messg.length < 10) {alert('Текст вашей жолобы слишком короткий'); return;} $.get(this.forum, function(f){var mymess = encodeURIComponent('[b]Причина жалобы:[/b] ' + badEntry.theme + '\n[b]Ссылка на материал:[/b] [url]' + location.href + '[/url]\n[b]Текст жалобы:[/b] '+ messg); badEntry.stringMess = $("form[name='addform']",f).serialize().replace("message=", "message=" + mymess); badEntry.seckey = $("input[name='seckey']", f).val() || null; if (badEntry.seckey) { _uWnd.close('a'); new _uWnd('cap', 'Каптча', 300, 85, {autosize: 0, oncontent: function(){ $("#capImg").html($("#secImgForum", f).clone()); }}, '<span id="capImg"></span> <input type="text" id="capVal" style="width: 110px; height: 35px; font-size: 16px; font-weight: bold; color: blue; text-align: center;" maxlength="4"> <input type="button" value="OK" onclick="badEntry.capSend()" style="height: 35">');} else {$.post("/forum", badEntry.stringMess, function(re){ var _t = $(re).text(); if (_t.indexOf("был успешно добавлен") != -1) { _uWnd.close('a'); _uWnd.alert('Успешно отправлено', 'Информация', {w: 220, h: 90, tm: 3000});} else { alert('Ошибка'); }});}});}, capSend: function(){var s = $("#capVal").val(); $.post("/forum", badEntry.stringMess.replace("code=", "code="+s), function(re){ var _t = $(re).text(); if (_t.indexOf("Неправильный код")!= -1) { $("#secImgForum").trigger("click"); $("#capVal").val(""); _uWnd.alert('Неправильный код безопасности', 'Ошибка', {w: 220, h: 90, tm: 3000});} if (_t.indexOf("был успешно добавлен") != -1) { _uWnd.close('cap'); _uWnd.alert('Успешно отправлено', 'Информация', {w: 220, h: 90, tm: 3000});} if (_t.indexOf("Найдены запрещенные ББкоды") != -1) { _uWnd.close('cap'); alert('Вашей группе запрещено использовать ББ коды на форуме.\n Обратитесь за помощью к администрации.'); }});}};
</script>
Это в этот-же шаблон, куда хотите:
Code
<a href="javascript://" onclick="badEntry.open();return false;">Жаловаться на материал</a>
forum: "http://rucoz.com/forum/17-138-1"
http://rucoz.com/forum/17-138-1 заменяем на ссылку на тему, в которую отправлять жалобы.
В правах групп придется разрешить Использование ББ-коды [URL] и [IMG] или изменить в скрипте текст отправляемого сообщения, иначе будет всплывать такая ошибка: "Вашей группе запрещено использовать ББ коды на форуме. Обратитесь за помощью к администрации."
P.S. Если пользователь в группе, где нет каптчи, то ее вводить не придется и жалоба отправится сразу.