Вопросы-Ответы

+54
4K
Недавно залез в админку и сильно охренел от накопившихся вопросов в FAQ
Срочно сделал заплатку, чтобы сайт отправлял письма об оставленных вопросах сразу же админу
У вас на хостинге должна быть возможность отправлять письма средствами PHP
собственно сама заплатка в архиве и как её правильно применить написано у меня на зУхернице

Менее подробно без объяснений выложу тут:

/components/faq/frontend.php

  1. function faq(){
  2. /****************************************************************************************/
  3. $subject= "Появился вопрос на твоём сайте"; //поле тема сообщения
  4. $label_name="MY FAQ";// поле от кого письмо
  5. $sitemail=""; // мыло от имени которого полетит письмо
  6. $email=""; // адрес куда полетит мессага
  7. /***************************************************************************************/
  8.  
  9. //SAVE QUESTION
  10. $sql = "INSERT INTO cms_faq_quests (category_id, pubdate, published, quest, answer, user_id, answeruser_id, answerdate, hits)
  11. VALUES ('$category_id', NOW(), '$published', '$message', '', '{$inUser->id}', 0, NOW(), 0)";
  12. $inDB->query($sql);
  13.  
  14. $quest_id = $inDB->get_last_id('cms_faq_quests');
  15. /* ОТПРАВЛЯЕМ ПИСЬМО АДМИНУ */
  16. $message="Здравствуй!\r\nНа сайте http://$_SERVER[SERVER_NAME] появился вопрос:\r\n$message";// сообщение
  17. $message=str_replace("\r\n\r\n","\r\n",$message);
  18. $message=convert_cyr_string($message,"w","k");
  19. $subject=convert_cyr_string($subject,"w","k");
  20. $label_name= convert_cyr_string($label_name,"w","k");
  21. $point=str_replace("www","",$_SERVER['SERVER_NAME']);
  22. $headers= "From: $label_name<$sitemail>\r\n";
  23. mail("$email", $subject, $message,$headers);


PS: Кстати, Уовка, примите к следующему релизу laugh

+5
Захар Захар 12 лет назад #
Какое то тело сразу минусануло - это уже исправлено? так и напишите )))
Хотел помочь от чистого сердца
-10
Алексей Алексей 12 лет назад #
На этом сайте все тролли можете ожидать от них чего угодно
+5
Avert Avert 12 лет назад #
Так что же вы на этом сайте троллям свой недосайт пытаетесь втюхнуть?
-5
Алексей Алексей 12 лет назад #
Ты один из них
+1
maia maia 12 лет назад #
Очень полезная штука. А это на старых версиях - 1,6, например, работать будет?
+1
Захар Захар 12 лет назад #
По идее должно работать - не берусь утверждать но компонент FAQ не менялся аж с 1.5 версии
+1
vpugachev vpugachev 12 лет назад #
Да вещь очень нужная, толь хотелось бы что бы в релизе она появилась не в виде отправления письма на почту а в виде соответствующего сообщения в админке.
-1
letsgo letsgo 12 лет назад #
Хорошая вещь. Спасибо Захар. Бывает кинешься а там вопросов столько, да уже времени прошло недели две.
+1
bondar bondar 12 лет назад #
такое еще бы для доски)
+1
Захар Захар 12 лет назад #
Сегодня прилеплю и для доски )))
Только вот у меня она нихрена не работает ))) После обновления
+1
Захар Захар 12 лет назад #
Готово !!! Для доски заплатка и инструкции там же
0
bondar bondar 12 лет назад #
аеееееееееее крутотень)) спасибо
+1
reload reload 12 лет назад #
Недавно залез в админку и сильно охренел от накопившихся вопросов в FAQ
))
Спасибо за решение +
+3
Hmelex Hmelex 12 лет назад #
Тоже ЗА внедрение данной фитчи в новый релиз.
Или хотя бы был где нибуть блок с галочкой:
Отправлять новые вопросы на почту - ДА/НЕТ
0
виталя виталя 12 лет назад #
Спасибо!! Вещь нужная! И за доску спасибо, тоже думаю пригодится...
+2
lezginka.ru lezginka.ru 12 лет назад #
+ за заплатку
+ что не забываешь нас :)
+1
nikolas nikolas 12 лет назад #
нужная вещь+
0
Макс Колосков Макс Колосков 12 лет назад #
+ всегда стараешься не забыть посмотреть есть ли новые вопросы в FAQ это решение кстати. спасибо
0
IRATE IRATE 12 лет назад #
Что-то у меня иероглифами письма приходят. Кодировку отправляемых в настройках почты на кириллицу менял (по умолчанию UTF). С ящика на ящик русский текст доходит нормально. Уведомления с сайта на русском доходят нормально, только из FAQ такое. Не подскажите в чем дело? Спасибо!
0
Захар Захар 12 лет назад #
Попробуйте после строчки :
Код PHP:
$headers= "From: $label_name<$sitemail>\r\n";
Добавить :
Код PHP:
$headers.="Content-type: text/plain; charset=\"windows-1251\""; // или UTF8 смотря что Вам предпочтительнее
Принудительно кодировку воткнуть, может быть поможет
0
IRATE IRATE 12 лет назад #
Спасибо за ответ, но:
1251ъДТБЧУФЧХК!
оБ УБКФЕ http://basht.org РПСЧЙМУС ЧПРТПУ:
фЕУФПЧЩК ЧПРТПУ,
UTF-8&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;!
&#65533;&#65533; &#65533;&#65533;&#65533;&#65533;&#65533; http://basht.org &#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; &#65533;&#65533;&#65533;&#65533;&#65533;&#65533;:
&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; &#65533;&#65533;&#65533;&#65533;&#65533;&#65533; &#65533;2.
Смущает это: charset=\"windows-1251\"";. Я, конечно, не спец, но как-то странно перед кодировкой есть апостроф, а после нет.
0
Захар Захар 12 лет назад #
Апострофами экранируются кавычки...
Попробуйте указывать кодировку в двух местах заголовка, чтобы письма были универсальными для всех почтовых программ (не все почтовики воспринимают письма одинаково)
Например заголовок письма сделайте таким:
Код PHP:
$header="Content-type: text/html; charset=\"windows-1251\"";
$header.="From: $label_name<support@basht.org>";
$header.="Subject: ".$subject;
$header.="Content-type: text/html; charset=\"windows-1251\"";
mail("$email", $subject, $message,$header);
Так письмо будет отправлено 100% определяемо для любых почтовиков
0
Nemoi Nemoi 11 лет назад #
спасибо, очень помог!
тоже была проблема с кодировкой, немного исправил:

закомментировал это:
$message=convert_cyr_string($message,"w","k");
$subject=convert_cyr_string($subject,"w","k");
$label_name= convert_cyr_string($label_name,"w","k");

и добавил utf-8:
$headers="Content-type: text/plain; charset=utf-8 \r\n";
$headers.= "From: $label_name<$sitemail>\r\n";

может кому пригодится :)

Еще от автора

Загрузка аватарок с редактированием
Давеча делал пост, но не все поняли о чём. Тут полная версия размышлений на примере решения задачи загрузки аватарок "как в ВК"
Если некогда разбираться с написанием полноценных полей
Вполне возможно, что про это всё известно, но в документации не нашёл, посему делюсь, кому то будет полезно.
Тиккет система силами движка. Оповещения на сайте
Пишу для себя. Если кому пригодится - хорошо. Комменты по делу приветствуются.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.