= $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 ""; } }?>