Перейти к публикации

Рекомендованные сообщения

Наклепал недавно простенький чекер Аси, делюсь со всеми. Чекер на самом деле простенький и ничего из себя не представляет толком, он только выводит картинку "онлайн", "оффлайн" или "отошел", тем не менее, бывают любители, которые любят в своих профилях или в профилях всех пользователей (стата юзеров) вешать контакты, если они указаны: телефон, различные пейджеры (ася, скайп, агент.меил.ру и прочие), почтовые ящики, ПМ и т.д.

Все стандартные чекеры аси у меня не заработали, если еще у кого-то не работают, то вот альтернативный костыль:

$icq = 463768885;

$domain = $config['http_home_url'];

if ($domain{strlen($domain)-1}!='/') $slash = '/'; else $slash = '';

$home = $domain.$slash; $skin = $config['skin']; unset($domain,$slash);

$curl = curl_init();

curl_setopt($curl,CURLOPT_URL,"http://icq.com/people/$icq");

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);

$v = curl_exec($curl);

curl_close($curl); #print_r($v);

if (isset($v) && $v!='') {

  preg_match('|com/people/img/([awyfonline]{4,7})|smi',$v,$r);

  if (isset($r[1]) && ($r[1]=='offline' || $r[1]=='online' || $r[1]=='away'))

	$src = "templates/$skin/icq_status_$r[1].png";

  unset($v);

}

if (!isset($scr)) $src = "templates/$skin/icq_status_undefine.png";

if (!is_file($_SERVER['DOCUMENT_ROOT'].'/'.$src)) $icq_status_img = '';

else $icq_status_img = '<img src="'.$home.$src.'" alt="icq" style="height:16px; weight:16px; border:0px; vertical-align:middle;" />';

echo $icq_status_img;

unset($src,$home,$skin,$icq_status_img);

Не знаю, может, кому пригодится :)

Хотел аналогичную штуку для проверки почты написать, но ёлки, сколько там кода нужно... (проверка на реальное существование мыла, его бана и т.д.). Если будет очень большой спрос на подобные чекеры, может, добавлю еще какие и оформлю как бесплатный простенький мод. Может, Целсофт сам подобное встроит когда-нибудь? :rolleyes:

---

Добавление.

Для тех, кто не знает, как подключить, то делаем так:

1. Создаем файлик, например, islemap.php и сохраняем в нем код (выше).

2. Загружаем файлик в папку: /engine/modules/islemap.php

3. Вызываем скрипт в любом месте сайта так: {include file="engine/modules/islemap.php"}

Ну, теперь всё :D

Изменено пользователем zgr
Ссылка на сообщение
Поделиться на других сайтах

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

Изменено пользователем maks1192
Ссылка на сообщение
Поделиться на других сайтах

Все стандартные чекеры аси у меня не заработали,

и он решил сделать свой ;)

Ссылка на сообщение
Поделиться на других сайтах

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

Зачем бы я нерабочий выкладывал? :D

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

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

и он решил сделать свой ;)

Ага, меж чаем и обедом наклепал на коленке :D

Не будет что-то работать, сообщите, сделаю обсчет получше.

Ссылка на сообщение
Поделиться на других сайтах

Картинки можно с этого сервиса стырить: _http://shelkovo.org/icq/ ;)

Наверно, у кого-то заработает стандартно, если так, то можно стандартные варианты использовать:

<a href="http://mail.ru/agent?message&to=$uemail"><img src="http://status.mail.ru/?$uemail" width=16 height=16 alt="status.mail.ru" title="Щелкни, чтобы пообщаться с этим человеком в Mail.Ru Агенте" /></a>


<a href="http://web.icq.com/whitepages/message_me/1,,,00.icq?uin=463768885&action=message" target=_blank><img src=http://www.icq.com/scripts/online.dll?icq=463768885&img=21 border=0 alt="Отправить сообщение" border=0></a>

Аси у меня, оказывается нет, как сервис аси сообщает, странно, как же я тогда переписываюсь по асе? :lol: - в общем, тупой сервис. Вот наиболее популярные пейджеры:

http://aim.com/

http://icq.com/

http://irc.org/

http://jabber.org/

http://messenger.msn.com/

http://skype.com/

http://messenger.yahoo.com/

Есть еще около 2-х десятков, но я специально не искал под них статусы и не мудрил код... Было б здорово это в движке уже видеть.

Стандартные картинки от аси:

http://status.icq.com/NNN/online0.gif

http://status.icq.com/NNN/online1.gif

http://status.icq.com/NNN/online2.gif

Можно, например, вместо NNN поставить 5, а вообще, вроде 0-27 (?).

Для настройки статуса Скайпа ссылка: http://skype.com/share/buttons/wizard.html

Ссылка на сообщение
Поделиться на других сайтах

м... Возможно, просто автоматом не подхватывается конфиг ДЛЕ, тогда его можно принудительно подгрузить... поставьте второй строчкой (после $icq=...) код:

if (!isset($config) || !is_array($config) || $config==null) include $_SERVER['DOCUMENT_ROOT'].'/engine/data/config.php';
чтоб наверняка убедиться, что конфиг ДЛЕ подгружен (у меня он как-то сам автоматом подгружается), то можно еще раз проверить следующей строчкой ниже:
if (isset($config) && is_array($config) && $config!=null) echo 'ok'; else echo 'no';

Если и так что-то не будет работать, тогда нужно копать, почему у вас так на сервере; у себя проверил - показывается статус аси, а стандартно проверяю - показывается заглушка (серая картинка).

Изменено пользователем zgr
Ссылка на сообщение
Поделиться на других сайтах

Стандартные картинки от аси:

http://status.icq.com/NNN/online0.gif

http://status.icq.com/NNN/online1.gif

http://status.icq.com/NNN/online2.gif

Not Found

zgr, бл! ты можешь сделать нормальную инструкцию? дал код в первом топике - для кого?

даже в <?php ?> не загнал в код.

Картинок нет, мы что, должны сами всё искать?

Раздел называется "Готовые Моды, Хаки, Локализаторы, Советы", в этой теме я не вижу "готовое", я вижу какие-то обрезки.

Ссылка на сообщение
Поделиться на других сайтах

maks1192, зачем нервничать ? :) - я всё подробно расписал, если что-то не получается, нужно просто выяснить проблему и описать ее, чтоб могли все вместе решить. ;)

Прежде всего старайтесь читать инструкцию, а не возмущаться, что ее нет ;) Процитирую:

Можно, например, вместо NNN поставить 5, а вообще, вроде 0-27 (?).

Я точно не выяснял, какие именно картинки есть на сервере, поэтому поставил вопросик, а сам использую картинки свои... можно в фотошопе нарисовать или с любых сайтов взять готовые, ссылки тоже дал, где иконки есть.

Что касается стандартной иконки, например, 5-й, то сами пробовали ее смотреть ? - у меня открылась, вот ссылки на стандартные иконки, я сам их вижу:

http://status.icq.com/5/online0.gif

http://status.icq.com/5/online1.gif

http://status.icq.com/5/online2.gif

Вместо 5 попробуйте любую цифру от 0 до 27. Закачайте к себе на сервер их в шаблон, папка:

/templates/ТЕМА/

Скрипт получит 3 типа картинки: оффлайн (красная) - online0.gif, онлайн (зеленая) - online1.gif, неопределен (заглушка серая) - online2.gif.

Файлики будут искаться в скрипте:

1 - /templates/ТЕМА/icq_status_online.png

2 - /templates/ТЕМА/icq_status_offline.png

3 - /templates/ТЕМА/icq_status_away.png

4 - /templates/ТЕМА/icq_status_undefine.png

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

templates/ТЕМА/icq_status_undefine.png - показывает серую заглушку, что сервер icq.com не смог найти у себя иконку или скрипт не смог подключиться к серверу icq.com по какой-либо причине и получить иконку.

templates/ТЕМА/icq_status_away.png - показывает, что пользователь отошел (занят).

templates/ТЕМА/icq_status_online.png и templates/ТЕМА/icq_status_offline.png показывают стату "онлайн" и "оффлайн" соответственно.

Если хотите расположить иконки в другом месте, нужно просто в скрипте указать другой путь, за это отвечает переменная $src.

даже в <?php ?> не загнал в код.

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

Это готовый скрипт, который нужно сохранить в отдельном файлике.

Ссылка на сообщение
Поделиться на других сайтах

страницы вообще никакой не должно быть... Например, подключаете код в шаблоне "Контакты" (обратная связь) и там должна появиться иконка аси: онлайн вы, отошли или заняты.

Как делали подключение? В любом шаблоне должно быть так:

Связь с администрацией сайта.

-----------------------------

ICQ: {include file="engine/modules/islemap.php"} 463768885.

E-mail: mail@mail.ru

П.С. Если доверяете, можете доступ на ФТП предоставить, сам посмотрю в чем у вас ошибка.

Ссылка на сообщение
Поделиться на других сайтах

Делал так. Для проверки самого модуля.

Создаю статическую страницу, в вузвинг редактрое, в окошке "html", вставляю:

связь: {include file="engine/modules/icq.php"}

сохраняю

Открываю эту страницу, вижу слово "связь:"

а картинок статуса - нет.

Вот, в принципе и всё.

Ссылка на сообщение
Поделиться на других сайтах

Все картинки аси на сервере аси: http://shaman.asiadata.ru/node/18 . Может, кому пригодится. Посмотреть путь можно кликнув правой кнопкой мыши выбрать "Свойства изображения".

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...