Точно ли он phpGuru? Некорректная работа Rmail

Фото: Дмитрий Базенков

На выходных решил заглянуть на сайт phpguru.org в поисках кода для работы с MIME и наткнулся на Rmail. Написав быстренько скриптик для отправки сообщений я начал тестировать его на Gmail и Mail.ru. С первого сообщения стало ясно, что автор чего-то написал не так, потому, что тема сообщения на русском языке слипалсь. Т.е. если мы делаем так $subject = ‘Первое текстовое сообщение’; То на почтовом сервисе эта тема выглядела следующим образом: Первоетекстовоесообщение.  Вобщем поковырявшись в его коде я нашел не совсем корректную функцию, которая выглядит следующим образом:


private function encodeHeader($input, $charset = 'ISO-8859-1')
{
preg_match_all('/(\w*[\x80-\xFF]+\w*)/', $input, $matches);
foreach ($matches[1] as $value) {
$replacement = preg_replace('/([\x80-\xFF])/e', '"=" . strtoupper(dechex(ord("\1")))', $value);
$input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input);
}

return $input;
}

Чтобы сделать работу Rmail корректной, необходимо заменить вышеупомянутую функцию на следующую


function encodeHeader($input, $charset = 'ISO-8859-1')
{
if(preg_match_all('/(\w*[\x80-\xFF]+\w*)/', $input, $matches))
$input = mb_encode_mimeheader($input,$charset, 'Q');

return $input;
}

После этого темы сообщений на русском языке будут отображаться корректно.

Не забывайте подписываться на наш блог. Особенно, если продвижение сайта и заработок в интернете для вас не пустые слова.

Художественное оформление: София Садовская

Итак у нас имеется проект, который необходимо сотворить и несколько разработчиков в команде. Один разработчик написал один кусок кода в файле index.php, другой написал другой кусок в этом же файле, как теперь все это соединить воедино и открыть доступ третьему, который все это время сидел и ждал первых двух? Ручками собирать из двух файлов - один? Нет, это не для нас! На этой ноте к нам на помощь приходит Subversion, так называемая система контроля версий.

Смысл данной системы заключается в том, что все данные хранятся в едином хранилище. Каждый разработчик создает у себя на компьютере рабочию копию, с которой собственно и работает. Т.е. в рабочию копию из хранилища загружаются все файлы и папки. После того как очередной этап работы завершен все участники проекта сливают изменения из своих рабочих копий в хранилище, т.е. происходит слияние рабочей копии и хранилища. Такая модель работы с Subversion называется Копирование-Изменение-Слияние.

Помимо вышеупомянутой модели существует еще одна модель которая называется Блокирование-Изменение-Разблокирование. Ее суть заключается в том, что после того, как разработчик скопировал все данные из хранилища себе на компьютер, он выбирает несколько файлов с которыми будет работать и ставит на них запрет на изменение. Т.е. пока этот запрет не будет снят, никто из других разработчиков не сможет внести изменения в эти файлы. После того, как работа с данными файлами запрещена, разработчик сливает изменения в хранилище и снимает запрет на изменение, после чего все остальные разработчики опять смогут вносить изменения в данные файлы. Честно говоря, никогда не сталкивался с необходимостью использовать данную модель, но упускать такую возможность из вида тоже не стоит.
На всякий случай разъясню, что рабочая копия - ни что иное, как обычная папка на вашем локальном диске, в которой хранятся все данные (файлы) из хранилища.

Subversion используют многие разработчики, в т.ч. разработчики FreeBSD, KDE и т.д.

Ссылки по теме:

Описание двух моделей версирования
Subversion в википедии
Хороший мануал для начинающих по Subversion и клиенту TortoiseSVN

В следующей статье я опишу процесс установки Subversion сервера и TortoiseSVN клиента.

Заметка: Что необходимо знать, чтобы заказать геологические работы? Ответ на этот вопрос вы найдете тут:  инженерные изыскания с формированием геоподосновы.

Время летит очень быстро. И задумываться об этом начинаешь, когда оно уже пролетает… Сегодня смотрю на календарь - и вижу первое число. Первое число июля! Уже один месяц лета закончился, осталось всего два. Так и вся жизнь пролетит мимо, не успеешь оглянуться…

К сожалению, в июне блогу уделялось мало времени. Виной тому сессия и занятость другими проектами. В июле ситуация будет получше, но не намного. Все же лето есть лето - время отдыха и отпусков. Основное развитие блога планируется в сентябре, но время покажет.

Итак, статискику за прошлые месяцы можно посмотреть тут: за апрель, за май. Статистика за июнь выглядит следующим образом:

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

Читать полностью

Художественное оформление: София Садовская

Знакомьтесь, этого персонажа на изображении зовут Мистер СуП. Правда, никакого отношения к пище он не имеет, его имя расшифровывается как «мистер Супер Программист». С этого дня он будет нагляднее иллюстрировать суть статей, которые будут опубликованы в недалеком будущем.

Наверное, стоит немного о нем рассказать, о его характере, привычках, вкусах и предпочтениях. Итак… М. СуП личность довольно своеобразная… фанатик железа, отрешенно смотрит на реальный мир и обитает в железных зарослях своего дома. Может периодически выпадать из окружающего мира, просчитывая свой код на 1000 строк вперед. Может неделями сидеть перед монитором, рядом с компьютером. У него есть маленький холодильник, в котором еды хватит, чтобы продержаться целую ядерную войну. Хотя ест он исключительно для того чтобы урчание в животе не отвлекало от любимого занятия … и то иногда.

Почти не интересуется окружающим миром, если он не затрагивает компьютеры и железа для него. И никакой набор для письма ему не нужен. Друзья у него есть, по крайней мере, так они считают, хотя он их имен даже не помнит. Физических его данных хватает лишь на то чтобы с молниеносной скоростью стучать по клавишам, и чтобы на рассвете очередных бессонных суток убрать из под головы клавиатуру, чтобы не сломать во сне :-)

Вот такой вот весь из себя этот Мистер СуП.

Читайте наш блог по RSS. Не забывайте и про обмен постовыми.

Новичкам о заработке на контекстной рекламе

Я писал, что одним из способов заработка на СДЛ является контекстная реклама. В этой статье я расскажу что из себя представляет этот способ заработка. Статья ориентирована на новичков, которые слабо себе представляют, что такое контекстная реклама и что из себя представляет процесс заработка. Читать полностью

На правах рекламы: Лиственница. Сосна. Низкие цены: дома из оцилиндрованного бревна. Покупка дома в деревне.