Официальный конкурс на PHP (2-10 ноября)

С 2-го по 10-е ноября включительно, пройдёт официальный конкурс на PHP среди разработчиков.

Cроки: 2-10 ноября

Призы: Apple iPhone 3Gs (или 30 000 рублей) и 25 000 голосов (~160 000 рублей)

Задача: написание модулей для импорта контактов из сервисов электронной почты.

Apple iPhone 3Gs получит участник, занявший первое место, 25 000 голосов будут распределены между всеми участниками.

Если Вы приняли решение участвовать в конкурсе, скачайте скрипт OpenInviter с сайта http://openinviter.com/ . Установите этот скрипт на своем сервере. Найдите каталог с модулями для разных почтовых сервисов (gmail.com, hotmail.com и т.д.). Каждый модуль обычно занимает 2-12Кб, просмотрите их.

Вашей задачей будет написание тех модулей, которых в данный момент нет в этом каталоге, то есть которые не поддерживаются OpenInviter. Список модулей, которые нужно создать, мы публикуем чуть ниже. За каждый написанный Вами полностью работающий модуль Вы получаете 500 голосов — если Вас не опередят. Тот, кто получит больше всех голосов, получит также Apple iPhone 3Gs (или 30 000 рублей).

Внешне работу OpenInviter можно протестировать здесь:
http://vkontakte.ru/friends.php?filter=invites

Модуль OpenInviter заходит в сервис электронной почты под адресом и паролем пользователя (например, gmail.com) и получает список контактов — перечень имен и адресов электронной почты тех, с кем переписывался пользователь.

Важная особенность! Как правило, в сервисах электронной почты встроенный список контактов автоматически пополняется каждый раз, когда пользователь отправляет письмо новому корреспонденту (так сделано, например, в gmail). Однако в ряде сервисов встроенный список контактов не пополняется автоматически и в итоге остается пустым, так как пользователи редко пополняют его вручную. При работе с такими сервисами Ваш модуль должен сканировать последние 200 отправленных писем ящика и получать список контактов из их адресатов. Иначе модуль мы считаем неработающим.

*********************************************************

Итак, список модулей, за каждый из которых Вы получаете 500 голосов:

@ukr.net
@i.ua (@3g.ua, @ua.fm)
@bigmir.net
@meta.ua
@tut.by (@tyt.by)
@pochta.ru (@land.ru, @front.ru, @hotbox.ru, @pisem.net, @pop3.ru, @nm.ru, @fromru.com)
@inbox.lv
@e1.ru
@km.ru
@ngs.ru
@web.de
@qip.ru
@sibmail.com
@one.lv
@e-mail.ua
@seznam.cz
@online.ua
@gala.net
@spaces.ru
@one.lt
@post.ru
@hot.ee
@wp.pl
@walla.com
@aport.ru
@citromail.hu
@mail.by (@open.by)
@olympus.ru
@breezein.net
@mygorod.ru
@onego.ru
@sibnet.ru
@box.az
@74.ru
@online.de
@mail.com
@arcor.de
@qq.com
@ovi.com
@uralweb.ru
@ukrpost.ua
@29.ru
@mail.zp.ua
@wanadoo.fr
@lipetsk.ru
@xaker.ru
@li.ru

**********************************************************

Чтобы начать, возьмите любой сервис из этого списка и напишите модуль для него. Обязательно тщательно протестируйте его работу на собственном хостинге. Для этого Вам, вероятно, придется создать ряд тестовых ящиков. Если сервис на иностранном языке, который Вы не знаете, Вам понадобится использовать Google Translate или другой сервис перевода.

Вы также можете создать модули, которых нет в OpenInviter и нет в данном списке. За каждый такой модуль Вы получите 200 голосов. Адаптировать под OpenInviter модули других сервисов для импорта контактов (например, http://www.octazen.com/product_abi.php ) не запрещается. Однако правило с импортом контактов из сервисов, в которых списки контактов не пополяются автоматически, должно соблюдаться.

Стиль оформления кода.

Предпочтительный для нас стиль оформления кода — K&R Variant: 1TBS http://en.wikipedia.org/wiki/Indent_style#K.26R_style

Однако можно использовать тот же стиль, которым написан OpenInviter.

Порядок работы.

Напоминаю, что голоса получает тот, кто первым опубликует полностью работающий модуль. Тот, кто сделает это вторым, голоса не получает (если не найдет проблемы в коде первого). Мы хотим сделать конкурс максимально открытым, поэтому, как только Вы заканчиваете работу над модулем, опубликуйте его код прямо на этой вики-странице, отредактировав ее:

http://vkontakte.ru/pages.php?id=7172089

И оставьте в данной теме ссылку на версию вики-страницы (вкладка \»История\») с Вашим кодом, например:
http://vkontakte.ru/pages.php?act=version&hid=44…

Мы протестируем Ваш модуль и напишем, если в нем будут обнаружены проблемы.

Если Вы хотите объявить остальным участникам, что работаете над определенным модулем, Вы также можете сделать это здесь.