CodeIgniter 1.7.1

Вышла новая версия популярного PHP-фреймворка за номером 1.7.1.

Библиотеки

— Исправлена уязвимость в библиотеке Form Validation (#6068, спасибо hkk).
— В библиотеке Pagination теперь используется <strong> вместо <b>.
— При наличии в URL запрещённых символов теперь отдаётся «HTTP/1.1 400 Bad Request».
— В Typography добавлены <big>, <small>, <q> и <tt>.
— Более подробные сообщения об ошибках в библиотеке Email при использовании sendmail.
— Убрана проверка типа в методе rotate () класса Image Manipulation.
— Более подробная проверка ошибок при сохранении файлы с помощью библиотеки Image при использовании GD.
— Для совместимости с большим числом почтовых программ добавлен разделитель между multipart и текстом MIME.
— Улучшена explode_name () в библиотеке Image.

База данных

— Добавлена обработка where_in при выполнении delete ().

Хелперы

— Добавлена возможность включать optgroup в form_dropdown () хелпера form.
— В хелпер HTML добавлен метод doctype ().
— Добавлена возможность приведения к нижнему регистру в url_title () хелпера URL.
— Изменён тип по-умолчанию для form_button (): «submit» на «button» в хелпере form.
— redirect () позволяет делать перенаправления вне сайта.
— get_cookie () теперь пытается использовать глобальный префикс, если запрашиваемое имя не существует.

Разное

— Улучшена безопасность xss_clean () (Internet Explorer).
— В config/mimes.php добавлен тип 'application/msexcel' для .xls.
— Добавлен параметр конфигурации 'proxy_ips' для указания разрешённых reverse proxy, заголовок HTTP_X_FORWARDED_FOR можно считать надёжным в плане определения IP.
— Upload::is_allowed_filetype () более точен при работе с изображениями (#6715).

Исправленные ошибки

База данных

— 'random' + order_by () (#5706).
— Создание первично ключа при помощи Forge (#5731).
— Кэширование на нескольких БД (#5737).
— TRUNCATE не считался запросом, который записывает данные (#6619).
— Сложные выражения, такие как SUM () + префиксы.

Разное

— csv_from_result () использовал несуществующий метод.
— _protect_identifiers () убирал символы «|».
— Исправления в руководстве (#5998, #6093, #6259, #6339, #6432, #6521).
— Драйвер MySQLi + неуказанный порт.
— #5702: в ошибках валидации использовалось название поля вместо заголовка.
— Идентификаторы не экранировались должным образом при использовании зарезервированных символов.
— Автотипографика: экранирование тэгов <p>.
— Автотипографика: — менялся на тире внутри атрибутов тэгов.
— Автотипографика: двойные пробелы внутри атрибутов тэгов конвертировались в  .
— Typography::format_characters (). Ошибки при обработке кавычек.
— Поправлены некоторые комментарии phpDoc в соответствии с текущим кодом.
— Некоторые символы ascii в заголовках писем subject и from.
— xss_clean () съедал пробелы после валидируемого символа.
— Комментарии HTML и тэги <pre> обрабатывались Typography::auto_typography ().
— Typography::auto_typography () убирала неразрывные пробелы.
— Typography: Открывающая кавычка + <p> + любой другой тэг.
— Хелпер Text: word_censor () не работал с некоторыми локалями, где слова начинаются или кончаются акцентом.
— Хелпер Text: ограничитель слов обрезал последнее слово строки.
— #6342: plural () в хелпере Inflection + слова, кончающиеся на «y».
— #6517: URI::rsegment () возвращал неверные сегменты для контроллера по-умолчанию.
— #6706: в xss_clean () использовался устаревший второй аргумент.
— В url_title () были разрешены завершающие точки в URL.
— #6669: Библиотека Email. CRLF + заголовки при использовании протокола «mail».
— #6500: URI::A_filter_uri () подавлял ошибку вместо того, чтобы её показывать.
— #6592: Метод get_dir_file_info () хелпера File неверно работал с рекурсией.
— Улучшен Typography::auto_typography ().

Запись навигация

Top