Неверный subject в классе email (CodeIgniter 1.7.1)

Нашли ошибку в CI? — пишем сюда!

Неверный subject в классе email (CodeIgniter 1.7.1)

Сообщение MAX » 05 мар 2009, 15:59

Интересно кто нибудь репортит эти баги раработчикам CodeIgniter? ;)

Ну, да ладно...

В файле system/libraries/Email.php в функции subject() происходит вызов неверно работающей _prep_q_encoding(). Теоретически она должна менять текст на «Quoted-Printable». К сожалению, написана она с ошибками, начиная с того, что strlen() просто не подходит для работы с НЕанглийскими буквами в utf8.

Дабы не утруждать себя всякими глупостями, меняем функцию subject():

Код: Выделить всё
   function subject($subject)
   {
      $subject = preg_replace("/(\r\n)|(\r)|(\n)/", "", $subject);
      $subject = preg_replace("/(\t)/", " ", $subject);
      $subject = '=?UTF-8?B?' . base64_encode($subject) . '?=';

      $this->_set_header('Subject', $subject);
   }


То есть используем нормальное BASE64-кодирование.

Примерно такая же проблема и в функции from(), если используются русские буквы.
MAX
 
Сообщения: 63
Зарегистрирован: 08 фев 2009, 13:28

Re: Неверный subject в классе email (CodeIgniter 1.7.1)

Сообщение aser » 05 мар 2009, 16:27

Да при валидации в utf-8 я уже столкнулся с этим, не сразу же вкурил что к чему Оо
aser
 
Сообщения: 36
Зарегистрирован: 26 дек 2008, 21:09
Откуда: Киев

Re: Неверный subject в классе email (CodeIgniter 1.7.1)

Сообщение Sam Dark » 05 мар 2009, 18:37

Уже репортили:
Email header “subject” is not encoded: http://codeigniter.com/bug_tracker/bug/2583/

Отписал там же.
Аватара пользователя
Sam Dark
 
Сообщения: 824
Зарегистрирован: 16 апр 2008, 19:23
Откуда: Воронеж


Вернуться в Баг-репорты

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 0