Kohana. Отправляем сообщение ICQ

Недавно, работая над одним из проектов, меня посетила хорошая идея - реализовать оповещение о комментировании статьи в блоге через ICQ. Я начал поиски в интернете чего-то подобного. Оказалось на php5 существует реализация специализированного класса для работы с аккаунтом ICQ.

Теги: Kohana ICQ

Так как мне по функциональности было необходимо всего лишь отправить сообщение автору статьи, я решил использовать сборку WebIcqLite. Далее передо мной встала задача адаптировать этот класс для использования его во фреймворке Kohana 3.

Оказалось, что все просто. Во-первых, я создал папку include в папке application в структуре фреймворка. Во-вторых, поместил туда скачанный файл WebIcqLite.class.php.

Далее в том месте, где необходимо отправить уведомление автору статьи о том, что его статью прокомментировали, я добавил примерно следующий код:

// Подключаем файл класса работы с icq
require_once Kohana::find_file('include', 'WebIcqLite.class');
 
// Считываем uin и пароль отправителя из конфигурационного файла
$icq_uin = Kohana::config('blog')->get('icq_uin');
$icq_pass = Kohana::config('blog')->get('icq_pass');
 
// Создаем экземпляр класса для отправки
$icq = new WebIcqLite();
 
// Декодируем сообщение $message из utf-8 в кодировку windows-1251
$icq_message = iconv("utf-8", "windows-1251", $message);
 
if ($icq->connect($icq_uin, $icq_pass))
{
// Отправляем сообщение
$res = $icq->send_message(
$post->author->icq_uin,
$icq_message
);
 
$icq->disconnect();
}

Изначально столкнулся с проблемой кодировок сообщения. Сообщение отправлялось в кдировке utf-8, и в ICQ-клиенте приходило кракозябрами, что естественно не гуд. Пришлось перекодировать сообщение в windows-1251. Результат оказался положительным.