Скрипт отправки сообщений об ошибках

Скрипт проверки ошибок на сайте

На нашем сайте - сайте, посвященном ошибкам, очень желательно было установить систему устранения этих самых ошибок. В Рунете для этих целей уже традиционно используется система Orphus.

Одно время скрипт этой системы успешно работал на сайте, но в один прекрасный момент вдруг перестал, и все попытки реанимировать его оказались тщетными.

Пришлось разрабатывать свой скрипт. Как оказалось, все не так-то просто. Помогли уроки JavaScript, ну и, конечно же, Google с Яндексом. В итоге, при сложении нескольких найденных блоков скрипта и почерпнутых из учебника знаний получился вполне рабочий модуль для проверки ошибок на сайте. Для его работы необходима поддержка PHP на хостинге.

Последняя версия скрипта 4.1 основана на плагине typo к CMS Drupal. Автор плагина Роман Архаров. В этой версии появилась функция отображения окружающего ошибку текста, сама же ошибка выделяется красным.

Модуль состоит из четырех файлов: mistakes.js, mistakes.css, mistakes.php и overlay.png.
Скачать можно отсюда.

Чтобы его подключить, нужно поместить эти файлы в директорию своего сайта, например в папку «mistakes» и на всех страницах сайта между тегами «head» вставить две строки:

<script type="text/javascript" charset="windows-1251" src="/путь до файла/mistakes.js"></script> <link href="/путь до файла/mistakes.css" rel="stylesheet" type="text/css" />

При этом после src=" и href=" нужно прописать путь к файлу mistakes.js и mistakes.css соответственно.

Файл mistakes.js. В этом файле нужно изменить значение переменной misphploc (то, что между кавычками "") на путь к файлу mistakes.php.

Файл mistakes.php.
Здесь нужно изменить значение нескольких переменных:
$title - заголовок сообщения,
$to, - email, на который будут отправлятся сообщения,
$mymail - email, от кого пришло сообщение.

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

На сайте работает система проверки ошибок. Обнаружив неточность в тексте, выделите ее и нажмите Ctrl + Enter.

Также открыть окошко отправки сообщения можно, кликнув по ссылке:

Отправить сообщение об ошибке

Код ссылки:

<a href="javascript:void(0)" onclick="PressLink()">Отправить сообщение об ошибке</a>

Исходная кодировка скрипта windows-1251. Если ваш сайт работает на utf-8, то создайте в папке со скриптом файл .htaccess и добавьте в нем строку:

AddDefaultCharset windows-1251

Также вам скорее всего нужно будет переформатировать в utf-8 файл mistakes.js

Скачать модуль mistakes-4.1.zip (zip архив 7Kb).

Если вас по каким-либо причинам не устраивает последняя версия, попробуйте предыдущую - 3.3. mistakes3.3.zip (zip архив 6Kb).

Успешной вам борьбы с опечатками)) Вопросы и пожелания оставляйте в комментариях.

Комментарии

Аватар пользователя Newsman

Решение нашёл:

Решение нашёл:

>> Исходная кодировка скрипта windows-1251. Если ваш сайт работает на utf-8, то создайте в папке со скриптом файл .htaccess и добавьте в нем строку:
>> AddDefaultCharset windows-1251
>> Также вам скорее всего нужно будет переформатировать в utf-8 файл mistakes.js

Делать необходимо не так как в описании:
1. .htaccess создавать не нужно
2. mistakes.js и mistakes.php конвертируем в UTF-8 без BOOM
3. в mistakes.php в трёх местах меняем windows-1251 на utf-8

Аватар пользователя Сергей

Пожалуйста, обратите внимание

Пожалуйста, обратите внимание: скрипт некорректно работает с выделенными гиперссылками (выделить ссылку и нажать Ctrl+Enter) и на страницах с фреймами - в последнем случае он вообще зависает.

Аватар пользователя Вася

Подтверждаю! Если выделить

Подтверждаю! Если выделить текст, в котором присутствует гиперпересылка, то показывает в форме отправки ошибки и близко не тот текст, что выделен, а который в начале. Это серьёзно вводит в заблуждение. Как это можно исправить?

Аватар пользователя Андрей

Может стоит позаимствовать

Может стоит позаимствовать часть кода выделения из самого орпхус или вот есть плагин для вордпресс Mistape.
Просто если ссылка или ещё что, то действительно абсолютно не тот текст показывает в окне выделения. Это весьма дезориентирует тех, кто отправляют сообщения о ошибках.

Аватар пользователя Евгений

Здравствуйте! Большое спасибо

Здравствуйте! Большое спасибо за скрипт! Но, есть вопрос. Почему то не возможно выделить скажем 2 строки подряд, выделяется только какая то часть первой строки (если выделять 2 хотя бы, а если выделяю одну, то выделяется вся). Максимальное число символов выставил в 1000 вместо 300. Мне нужна такая возможность, чтобы админ сайта мог мне прислать сообщение об ошибке типа нотайс например, когда php пишет номер строки, ошибку, адрес файла и т.д. ,но это не получается сделать. Где что поправить, чтобы можно было копировать несколько строк? Спасибо!

Страницы

Добавить комментарий