Скрипт Выделите ошибку и нажмите Ctrl + Enter

Выделите ошибку и нажмите Ctrl + Enter

#1 25 августа 2012 в 18:50
Скрипт состоит из четырех файлов: mistakes.js, mistakes.css, mistakes.php и overlay.png.
Скачать можно здесь: mistakes3.3.zip
Чтобы его подключить, нужно поместить эти файлы в директорию своего сайта, например в папку «mistakes» и на всех страницах сайта между тегами
  1. <head> </head>
вставить две строки:
  1. <script type="text/javascript" src="/путь до файла/mistakes.js"></script>
  2. <link href="/путь до файла/mistakes.css" rel="stylesheet" type="text/css" />
При этом после src=" и href=" нужно прописать путь к файлу mistakes.js и mistakes.css соответственно.
Файл mistakes.js. В этом файле нужно изменить значение переменной misphploc (то, что между кавычками "") на путь к файлу mistakes.php.
  1. var loc = window.location;
  2. var mis;
  3. nN = navigator.appName;
  4. function createMessage() {
  5. // Измените следующую строку. Здесь нужно указать путь к файлу mistakes.php
  6. var misphploc = '/mistakes/mistakes.php'
  7. var container = document.createElement('div')
  8. var scroll = dde.scrollTop || db.scrollTop;
  9. var mtop = scroll + 100 + 'px';
  10. var mleft = Math.floor(dde.clientWidth/2) - 175 + 'px';
  11. container.innerHTML = '<div id="mistake">\
  12. <div id="m_window" style="top:' + mtop + '; left:' + mleft + '";>\
  13. <iframe frameborder="0" name="mis" id="m_frame" src="' + misphploc + '"></iframe></div> \
  14. </div></div>'
  15. return container.firstChild
  16. }
Файл mistakes.php.
Здесь нужно изменить значение нескольких переменных:
$title — заголовок сообщения,
$to, — email, на который будут отправлятся сообщения,
$mymail — email, от кого пришло сообщение.
В файле есть коментарии что где редачить.
у и, конечно же, для того чтобы посетитель знал, что он может посодействовать в исправлении ошибок, нужно разместить на страницах вашего сайта, например, такую фразу:
На сайте работает система проверки ошибок. Обнаружив неточность в тексте, выделите ее и нажмите Ctrl + Enter.
Также открыть окошко отправки сообщения можно, кликнув по ссылке:
Отправить сообщение об ошибке
Код ссылки:
  1. <a href="javascript:void(0)" onclick="PressLink()">Отправить сообщение об ошибке</a>
Теперь немного приукрасим наш текст

В нужном месте вставляем вот етот код
  1. <div style="margin-top:5px; padding-left:15px;"><em><b><a class="tooltipz" href="/">Нашли ошибку в тексте сайта?<span class="custom help"><img width="48" height="48" alt="помощь" src="/templates/_default_/images/helpz.png" /><em>Нашли ошибку?</em>Выделите ошибочный текст мышкой и нажмите <b>Ctrl</b> + <b>Enter</b></span></a></b></em></div>
затем в файл styles.css добавим кусочек кода
  1.  
  2. /******************************* нашли ошибку *********************************/
  3. .tooltipz {
  4. outline: none;
  5. cursor: help; text-decoration: none;
  6. position: relative;
  7. margin-left:10px;
  8. }
  9. .tooltipz span {
  10. margin-left: -999em;
  11. position: absolute;
  12. }
  13. .tooltipz:hover span {
  14. border-radius: 5px 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
  15. box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 5px 5px rgba(0, 0, 0, 0.1); -moz-box-shadow: 5px 5px rgba(0, 0, 0, 0.1);
  16. font-family: Calibri, Tahoma, Geneva, sans-serif;
  17. position: absolute; left: 1em; top: 2em; z-index: 99;
  18. margin-left: 0; width: 250px;
  19. }
  20. .tooltipz:hover img {
  21. border: 0; margin: -10px 0 0 -55px;
  22. float: left; position: absolute;
  23. }
  24. .tooltipz:hover em {
  25. font-family: Candara, Tahoma, Geneva, sans-serif; font-size: 1.2em; font-weight: bold;
  26. display: block; padding: 0.2em 0 0.6em 0;
  27. }
  28. .tooltipz:hover b {
  29. font-weight: bold;
  30. color: #FF7F50;
  31. font-size:1.2em;
  32. }
  33. .custom { padding: 0.5em 0.8em 0.8em 2em; }
  34. .help { background: #9FDAEE; border: 1px solid #2BB0D7; }
  35.  
затем по пути /templates/_default_/images/ закидаем картинку.Картинка прикрепленна к теме
также прикрепляю архивчик с архивом test_60k2h.rar в котором тест страничка с видом нашей украшеной надписи
Прикрепленный файл
helpz_60k2h.png 5 Кб
#2 25 августа 2012 в 20:24
+
а почему не в блоге?
#3 25 августа 2012 в 20:37
lezginka.ru, Я в блоге был создал, и даже не успел нормально доделить блог и опубликовать для всех. как его удалили
#4 25 августа 2012 в 21:22
st.Puh
спасибо, а на блог забей=)
#5 25 августа 2012 в 21:52
universe, Не за что, пользуйтесь.
#6 25 августа 2012 в 23:21
А посмотреть в работе можно здесь
Для тех кто не знаком с украинским: знайшли помилку? = нашли ошибку?
#7 25 августа 2012 в 23:35
не хватает кнопки "отмена"
#8 25 августа 2012 в 23:49


не хватает кнопки "отмена"

lezginka.ru
Для тех кто не знаком с украинским: відміна = отмена laugh
#9 29 января 2013 в 10:04
Простите за примитивщину, а под 1.10.х работает?
#10 29 января 2013 в 10:09
Думаю проблем не должно быть ни на какой версии.
#11 29 января 2013 в 10:26
eoleg ответ то выше написан

Я в блоге был создал, и даже не успел нормально доделить блог и опубликовать для всех. как его удалили

st.Puh

upd: поставил данный скрипт и получил ошибку в появившемся окне

Notice: Undefined index: submit in .../mistakes.php on line 45

#12 29 января 2013 в 11:27
Ошибку победил путем замены в файле mistakes.php строк 45 и 58 следующим образом:


if($_POST['submit']) {
заменил на
if(!empty($_POST['submit'])) {

45-ая строка

'.$_POST['mess'];
заменил на
'.!empty($_POST['mess']);

58-ая строка

Ну и само собой, предварительно сконвертил файлы в utf
#13 29 января 2013 в 11:44
Спасибо за это решение
Раньше пользовался orphus.ru/ он тоже хорош…
#14 29 января 2013 в 15:45
Решил добавить немного простоты для админа, но вот как пользователя определить в письмо пока не понял :(
  1. <?php
  2. #if($_POST['submit']) {
  3. if(!empty($_POST['submit'])) {
  4. #Заголовок сообщения - замените "yousite.ru" на имя своего сайта:
  5. $title = 'Сообщение об ошибке на сайте yousite.ru';
  6. $ip = getenv("REMOTE_ADDR");
  7. $url = (trim($_POST['url']));
  8. $mis = substr(htmlspecialchars(trim($_POST['mis'])), 0, 100000);
  9. $comment = substr(htmlspecialchars(trim($_POST['comment'])), 0, 100000);
  10. $user = str_replace('%user%', '<a href="/users/'.$inUser->login.'">
  11.  
  12. $mess = '
  13. Адрес страницы: '.$url.'
  14. Ошибка: '.$mis.'
  15. Комментарий: '.$comment.'
  16. Пользователь: '.$user.'
  17. IP: '.$ip.'
  18. '.!empty($_POST['mess']);
  19. # Email адрес, на который должны приходить сообщения:
  20. $to = 'info@yousite.ru';
  21. # Email адрес, от кого пришло сообщение:
  22. $mymail='error@yousite.ru';
  23. # Вместо "yousite.ru" укажите имя вашего сайта:
  24. $from = "From: =?utf-8?B?". base64_encode("Очепятки"). "?= < $mymail >\n";
  25. $from .= "X-Sender: < $mymail >\n";
  26. $from .= "Content-Type: text/plain; charset=utf-8";
  27.  
  28. mail($to, $title, $mess, $from);
итог, ругается на строку "$user = str_replace....." %( что не так делаю?
#15 30 января 2013 в 11:19
я плагин такой писал, не могу найти… на работе сегодня посмотрю…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.