= $base_count) {
$div = $num / $base_count;
$mod = ($num - ($base_count * intval($div)));
$encoded = $alphabet[$mod] . $encoded;
$num = intval($div);
}
if ($num) {
$encoded = $alphabet[$num] . $encoded;
}
return $encoded;
}
# if something is passed by url, but isn't an NSID,
# assume it's a username and query Flickr API for NSID
if (!substr_count($user_id, "@")) {
$user_name = $user_id;
$rsp = file_get_contents("http://www.flickr.com/services/rest/?method=flickr.people.findByUsername&username=$user_id&api_key=$api_key&format=php_serial");
$rsp_obj = unserialize($rsp);
$user_id = $rsp_obj['user']['nsid'];
}
# if what was passed by URL is not an NSID or a valid username
if (strlen($user_id)<6 || strlen($user_id)>45) {
echo "no such user";
} else { ## do the rest of it
$rsp = file_get_contents("http://www.flickr.com/services/rest/?method=flickr.people.getInfo&user_id=$user_id&api_key=$api_key&format=php_serial");
$rsp_obj = unserialize($rsp);
$user_name = $rsp_obj['person']['username']['_content'];
$user_url = $rsp_obj['person']['profileurl']['_content'];
$icon = $rsp_obj['person']['iconserver'];
### get the photos
$rsp = file_get_contents("http://www.flickr.com/services/rest/?method=flickr.favorites.getPublicList&user_id=$user_id&extras=owner_name,tags&per_page=12&page=1&api_key=$api_key&format=php_serial");
$rsp_obj = unserialize($rsp);
$i = 0;
foreach ($rsp_obj['photos']['photo'] as $thisfoto) {
$rsp_obj['photos']['photo'][$i][title] = ($thisfoto[title]=="") ? "an untitled photograph by " . $thisfoto[ownername] : htmlspecialchars($thisfoto[title]);
$favedate = file_get_contents("http://www.flickr.com/services/rest/?method=flickr.photos.getFavorites&photo_id=" . $thisfoto[id] . "&api_key=$api_key&format=php_serial");
$favedate = unserialize($favedate);
foreach ($favedate['photo']['person'] as $thisperson) {
if ($thisperson[nsid] == $user_id) {
$rsp_obj['photos']['photo'][$i][favedate] = $thisperson[favedate];
break;
}
}
$i++;
}
if ($_GET[f]=="rss2") {
header("Content-Type: text/xml");
echo '' . "\n";
echo '' . "\n";
echo '' . "\n";
echo "$user_name's Flickr Favorites\n";
echo "http://www.flickr.com/photos/$user_id/favorites/\n";
echo 'A feed of ' . $user_name . '\'s Favorites' . "\n";
echo 'en-us' . "\n";
### you could just use date("r", $items[0]['date_timestamp']) for RFC 2822 date
echo '' . date("D, d M Y H:i:s O", $rsp_obj['photos']['photo'][0][favedate]) . '' . "\n";
echo '' . date("D, d M Y H:i:s O", $rsp_obj['photos']['photo'][0][favedate]) . '' . "\n";
foreach ($rsp_obj['photos']['photo'] as $thisfoto) {
echo "- \n";
echo "\t$user_name has faved " . htmlspecialchars($thisfoto[title]) . "\n";
echo "\thttp://flic.kr/p/" . base58_encode($thisfoto[id]) . "\n";
echo "\t\n";
echo "\t" . date("D, d M Y H:i:s O", $thisfoto[favedate]) . "\n";
echo "
\n";
}
echo "\n";
} else {
header("Content-Type: text/xml");
echo '' . "\n";
echo '' . "\n";
echo " $user_name's Flickr Favorites" . "\n";
echo " " . "\n";
echo ' ' . "\n";
echo ' A feed of ' . $user_name . '\'s Favorites' . "\n";
echo ' ' . date("Y-m-d\TH:i:sO", $rsp_obj['photos']['photo'][0][favedate]) . '' . "\n";
echo ' Flickr' . "\n";
foreach ($rsp_obj['photos']['photo'] as $thisfoto) {
echo ' ' . "\n";
echo ' ' . htmlspecialchars($user_name) . ' has faved ' . htmlspecialchars($thisfoto[title]) . '' . "\n";
echo ' ' . "\n";
echo ' tag:flickr.com,2004:/photo/' . $thisfoto[id] . '' . "\n";
echo ' ' . date("Y-m-d\TH:i:sO", $thisfoto[favedate]) . '' . "\n";
echo ' ' . date("Y-m-d\TH:i:sO", $thisfoto[favedate]) . '' . "\n";
echo ' ' . "\n";
echo "<p><a href="http://www.flickr.com/people/" . $thisfoto[owner] ."/">" . $thisfoto[ownername] . "</a> posted a photo:</p>";
$fotosrc = "http://static.flickr.com/" . $thisfoto[server]. '/' . $thisfoto[id] . "_" . $thisfoto[secret] . "_z.jpg";
echo "<p><a href="http://flickr.com/photo.gne?id=" . $thisfoto[id] . "" title="" . htmlspecialchars($thisfoto[title]) . ""><img src="$fotosrc" alt="" . htmlspecialchars($thisfoto[title]) . "" style="border: 1px solid #ddd;" /></a></p>";
echo "" . "\n";
echo ' ' . "\n";
echo ' ' . $user_name . '' . "\n";
echo ' ' . $user_url . '' . "\n";
echo ' ' . "\n";
echo ' ' . $thisfoto[tags] . '' . "\n";
echo ' ' . "\n";
}
echo "";
}
}?>