Kaptain.
Telegram /
LinkedIn /
Email /
GIT /
RSS /
GPG /
Заказ печатных плат

№ 1978 В разделе
Programming
от April 2nd, 2010,
В подшивках: PHP
Как и обещал, показываю свой скрипт для показа записей из микроблога на Identi.ca. Он получает данные в JSON, кеширует их (в данном случае 5 минут) и ограничивает количество записей (если $qaikus_count > 0). Скрипт будет также работать для Qaiku и Twitter. С помощью шаблонов скрипт легко встраивается в WordPress (что собственно я и сделал). Если надо получать личные записи, то необходимо просто добавить HTTP авторизацию и изменить url (например, http://identi.ca/api/statuses/user_timeline.json).
<h2>Микроблог нашего сообщества</h2>
<p>
<?
$qaikus_count=5;
$filename = 'qaiku-cache';
if (time() - filemtime($filename) > 300) {
//освежаем файл
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://identi.ca/api/statusnet/groups/timeline/utr.json");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$qaikus = curl_exec($ch);
curl_close($ch);
file_put_contents($filename,serialize($qaikus));
} else {
//берем кеш
$qaikus = unserialize(file_get_contents($filename));
}
$qaikus = json_decode($qaikus, true);
if (count($qaikus)>0) {
if ($qaikus_count>0) $qaikus = array_slice($qaikus,0,$qaikus_count);
$qaikus_count=0;
echo '<div class="qaikus">';
foreach ($qaikus as $qaiku) {
$qaiku['text'] = str_replace('!utr','',$qaiku['text']);
?>
<div class="qaiku">
<div class="qaiku_text">
<a href="<?=$qaiku['user']['url']?>" title="< ?=$qaiku['user']['name']?>">
< ?=$qaiku['user']['screen_name']?></a>:
< ?=$qaiku['text']?></div>
<div class="qaiku_date">< ?=$qaiku['created_at']?></div>
</div>
< ?
}
echo '</div>';
} else { echo "Записей не обнаружено. Скорее всего это какой-то косяк."; }
?>
</div></p>
Fortune cookie: If there really was a Jewish conspiracy to run the world, my rabbi would have let me in on it by now. I contribute enough to the shule. -- Saul Goodman
Leave a Reply