26

Re: Контакт

в моей есть поддержка хтмл в письмах и обход неприятного бага с заголовками в outlook.

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.

Поделиться

27

Re: Контакт

поправил

class Contact {
    public static function _shorcode($attributes) {
        return self::form($attributes['recipient']);
    }
    public static function form($recipient) {
        $name  = Request::post('contact_name'); 
        $email = Request::post('contact_email');                    
        $body  = Request::post('contact_body'); 
        $errors = array();
        if (Request::post('contact_submit')) {
            if (Request::post('contact_name') == '' || Request::post('contact_email') == '' || Request::post('contact_body') == '') {
                    $errors['contact_empty_fields'] = __('Empty required fields!');
            }
            if ( ! Valid::email(Request::post('contact_email'))) {
                $errors['contact_email_not_valid'] = __('Email address is not valid!');
            }
            if (count($errors) == 0) {
                    $header ="Content-type: text/plain; charset=utf-8\r\n";
                    $header.= "From: <" . $email . ">\r\n";
                    if (mail($recipient, $name, $body, $header)) {
                        Notification::setNow('success', __('A letter has been sent!'));
                    } else {
                        Notification::setNow('error', __('A Letter was not sent!'));
                    }
            }
        }
        return View::factory('contact/views/frontend/form')
                ->assign('name', $name)
                ->assign('email', $email)
                ->assign('body', $body)
                ->assign('errors', $errors)
                ->render();            
    }
    public static function display($recipient) {
            echo self::form($recipient);          
    }
}

Поделиться

28

Re: Контакт

Подскажите, почему в письме, отправленном через форму контактов, приходит только сообщение, а имени и адреса нет?

Поделиться

29

Re: Контакт

Здравствуйте.
Подскажите, пожалуйста, как сделать так что бы в плагине forum.monstra.org/ru/topic/10/kontakt, в нужных мне полях прописывался логин пользователя, который отправляет сообщения

Поделиться

30

Re: Контакт

Contact 1.1.0
+ Устранена csrf уязвимость
+ Используется плагин Captcha вместо хелпера капчи.
+ Исправлены транслейты.

Сайт Awilum

Поделиться

31

Re: Контакт

Спасибо.
И все таки, а где меняется мыло куда отправляется сообщение?

Поделиться

32

Re: Контакт

Использование:

Шорткод для контента

{contact recipient="admin@site.org"}

Код для шаблонов

<?php Contact::display('admin@site.org'); ?>

Сайт Awilum

Поделиться

33

Re: Контакт

Супер, спасибо, особенно за шорт код, это то, чего я хотел бы для всех плагинов.

Поделиться

34

Re: Контакт

Спасибо - работает отлично.

Рекомендация:
Было бы неплохо - если бы сообщения дублиривались и в Админке. (Можно сделать чекбокс - отображать сообщения в Админке ДА/НЕТ)

Сайт Hmelex

Поделиться

35

Re: Контакт

Нужно иметь две формы обратной связи (contacts) одна просто форма связи, вторая, отдельная с бронированием. Это просто почтовая форма со своими полями. Как можно реализовать это на Монстре? Спасибо.

Поделиться

36

Re: Контакт

Ау - это еще актуально.

Поделиться

37

Re: Контакт

что за бронирование ?!

Сайт Awilum

Поделиться

38

Re: Контакт

Просто нужна еще одна форма со своим набором полей(функционал - бронирование информации или мест в гостинице или билетов в кинотеатре не имеет значения) просто почтовая форма в которой посетитель заполняет чего и сколько ему нужно и отправляет на мой адрес. Соответственно я должен иметь возможность создать дополнительную форму, задать адрес куда отправлять и задать поля для заполнения текстовые, выпадающие или чекбоксы. Можно ли такое реализовать и как?

Поделиться

39 (2012-10-27 21:16:45 отредактировано Hmelex)

Re: Контакт

Предложение и не только для Контактов и для ГОСТЕВОЙ:
Если пользователь Авторизирован - не выводить поля
ИМЯ и ПОЧТА.

Сайт Hmelex

Поделиться

40

Re: Контакт

sergeyterr если еще актуально по поводу 2-х форм - то реальный выход, сделать копию плагина contact ну и внутри все переименовать + форму свою и обработчик по образцу contact

Поделиться

41

Re: Контакт

Да актуально, а где обработчик находится?

Поделиться

42

Re: Контакт

файл /plugins/contact/contact.plugin.php если смотреть оригинальный плагин.
метод:
public static function form($recipient) {
...
в блоке if (Request::post('contact_submit')) {
тут
1) проверяются поля на не пустые значения
2) проверяется поле contact_email на правильное заполнение почтового адреса
3) ... дальше каптча...
если валидация не прошла (1,2,3) в массив $errors  заносятся сообщения об ошибках.
если ошибок не было:
if (count($errors) == 0) // массив пустой
подготавливается адрес куда отправлять, тема, сообщение, заголовки и отправляется собственно
...
}
собственно по моему на сайте у jinn есть видеоурок как быстро подготовить копию плагина.

Поделиться

43

Re: Контакт

sergeyterr выложи html файл своей формы будем от него плясать, может еще кто-то присоединится

Поделиться

44

Re: Контакт

ок завтра выложу

Поделиться