Chociaż portal nk.pl oferuje widżet na swoją stronę z wpisami na Śledziku, możliwości jego konfiguracji są ograniczone.
Przedstawiony skrypt pobiera wpisy wprost z serwera NK i można z nimi zrobić co się tylko chce.
Napisałem również funkcję zamieniającą opisowo określoną datę dodania wpisu (np. dzisiaj 13:20) na znacznik czasu Uniksa, dzięki czemu można go sformatować za pomocą funkcji PHP date().
Aby skrypt zadziałał, należy w opcjach prywatności NK odznaczyć opcję Nie pozwalaj na wyświetlanie moich danych w widżetach, a w kodzie wpisać swój numer profilu.
<?php
function znacznik_czasu($okreslenie_daty)
{
$okreslenie_daty = str_replace(array('dzisiaj', 'wczoraj'), array('today', 'yesterday'), $okreslenie_daty);
if($znacznik=strtotime($okreslenie_daty))
return $znacznik;
}define('NR_PROFILU', 0); // Twój numer profilu NK
$url = 'http://nk.pl/sledzik/jsonp/shouts/'.NR_PROFILU.'/0/10';
$json = file_get_contents($url, null, stream_context_create(array('http'=>array('user_agent'=>'Mozilla'))));
$json = substr($json, 15, -1);
$sledzik = json_decode($json);
$status = $sledzik->STATUS;
$dane = $sledzik->RESPONSE;
if($status=='ERROR')
{
echo "<strong>Błąd</strong>:\n";
exit($dane->MSG);
}
$wpisy = $dane->list;
$autor = $dane->user;
echo '<a href="http://nk.pl/profile/'.NR_PROFILU.'">';
echo $autor->name;
echo '</a>';
echo $autor->is_official?' (konto oficjalne)':'';
echo "<br />\n";
echo '<img src="'.$autor->avatar_uri.'" alt="Zdjęcie" />';
echo "<hr />\n";
foreach($wpisy as $wpis)
{
echo "<p>{$wpis->content}</p>\n";
echo "Wpis dodany ".date('d.m.Y H:i', znacznik_czasu($wpis->datetime))."<br />\n";
echo "{$wpis->star_count} gwiazdek, {$wpis->comment_count} komentarzy<br />\n";
echo "<a href=http://nk.pl/sledzik/shout/\"{$wpis->uid}/{$wpis->id}\">[link do wpisu]</a>\n";
echo "<hr />";
}
?>
REKLAMA