setCacheDir( APTFFbyTAP_CACHE );
if( $cache->exists($key) ) {
$results = $cache->get($key);
$results = @unserialize($results);
if( count($results) ){
$results['hidden'] .= '';
return $results;
}
}
}
$message = '';
$hidden = '';
$continue = false;
$feed_found = false;
$APTFFbyTAP_linkurl = array();
$APTFFbyTAP_photocap = array();
$APTFFbyTAP_photourl = array();
// Determine image size id
$APTFFbyTAP_size_id = '.'; // Default is 500
switch ($flickr_options['flickr_photo_size']) {
case 75:
$APTFFbyTAP_size_id = 'url_sq';
break;
case 100:
$APTFFbyTAP_size_id = 'url_t';
break;
case 240:
$APTFFbyTAP_size_id = 'url_s';
break;
case 320:
$APTFFbyTAP_size_id = 'url_n';
break;
case 500:
$APTFFbyTAP_size_id = 'url_m';
break;
case 640:
$APTFFbyTAP_size_id = 'url_z';
break;
}
// Retrieve content using curl_init and PHP_serial
if ( curl_init() ) {
// @ is shut-up operator
// For reference: http://www.flickr.com/services/feeds/
$flickr_uid = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_user_id']) ? '' : $flickr_options['flickr_user_id'], $flickr_options );
switch ($flickr_options['flickr_source']) {
case 'user':
$request = 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=php_serial&privacy_filter=1&user_id='. $flickr_uid .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
case 'favorites':
$request = 'http://api.flickr.com/services/rest/?method=flickr.favorites.getPublicList&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=php_serial&privacy_filter=1&user_id='. $flickr_uid .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
case 'group':
$flickr_groupid = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_group_id']) ? '' : $flickr_options['flickr_group_id'], $flickr_options );
$request = 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=php_serial&privacy_filter=1&group_id='. $flickr_groupid .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
case 'set':
$APTFFbyTAP_flickr_set = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_set_id']) ? '' : $flickr_options['flickr_set_id'], $flickr_options );
$request = 'http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=php_serial&privacy_filter=1&photoset_id='. $APTFFbyTAP_flickr_set .'&page=1&extras=url_sq,url_t,url_s,url_m,url_o';
break;
case 'community':
$APTFFbyTAP_flickr_tags = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_tags']) ? '' : $flickr_options['flickr_tags'], $flickr_options );
$request = 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=php_serial&privacy_filter=1&tags='. $APTFFbyTAP_flickr_tags .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
}
$ci = @curl_init();
@curl_setopt($ci, CURLOPT_URL, $request);
@curl_setopt($ci, CURLOPT_RETURNTRANSFER, 1);
$_flickrurl = @curl_exec($ci);
@curl_close($ci);
$_flickr_php = @unserialize($_flickrurl);
if(empty($_flickr_php)){
$hidden .= '';
$continue = false;
}else{
$APTFFbyTAP_content = $_flickr_php['photos'];
$APTFFbyTAP_photos = $_flickr_php['photos']['photo'];
// Check for photosets
if( 'set' == $flickr_options['flickr_source']) {
$APTFFbyTAP_content = $_flickr_php['photoset'];
$APTFFbyTAP_photos = $_flickr_php['photoset']['photo'];
}
// Check actual number of photos found
if( count($APTFFbyTAP_photos) < $flickr_options['flickr_photo_number'] ){ $flickr_options['flickr_photo_number']=count($APTFFbyTAP_photos);}
for ($i=0;$i<$flickr_options['flickr_photo_number'];$i++) {
$APTFFbyTAP_linkurl[$i] = 'http://www.flickr.com/photos/'.$APTFFbyTAP_photos[$i]['owner'].'/'.$APTFFbyTAP_photos[$i]['id'].'/';
$APTFFbyTAP_photourl[$i] = $APTFFbyTAP_photos[$i][$APTFFbyTAP_size_id];
$APTFFbyTAP_originalurl[$i] = $APTFFbyTAP_photos[$i]['url_m'];
if( !$APTFFbyTAP_photourl[$i] ){ $APTFFbyTAP_photourl[$i] = $APTFFbyTAP_originalurl[$i]; } // Incase size didn't exist
$APTFFbyTAP_photocap[$i] = $APTFFbyTAP_photos[$i]['title'];
}
if(!empty($APTFFbyTAP_linkurl) && !empty($APTFFbyTAP_photourl)){
if( 'community' != $flickr_options['flickr_source'] && $flickr_options['flickr_display_link'] && $flickr_options['flickr_display_link_text']) {
switch ($flickr_options['flickr_source']) {
case 'user':
$APTFFbyTAP_link = 'http://www.flickr.com/photos/'.$flickr_uid.'/';
break;
case 'favorites':
$APTFFbyTAP_link = 'http://www.flickr.com/photos/'.$flickr_uid.'/favorites/';
break;
case 'group':
$APTFFbyTAP_link = 'http://www.flickr.com/groups/'.$flickr_groupid.'/';
break;
case 'set':
if($APTFFbyTAP_content['owner'] && $APTFFbyTAP_content['id']){
$APTFFbyTAP_link = 'http://www.flickr.com/photos/'.$APTFFbyTAP_content['owner'].'/sets/'.$APTFFbyTAP_content['id'].'/';
}
break;
}
if($APTFFbyTAP_link){
$APTFFbyTAP_user_link = '
';
}
}
// If content successfully fetched, generate output...
$continue = true;
$hidden .= '';
}else{
$hidden .= '';
$continue = false;
$feed_found = true;
}
}
}
///////////////////////////////////////////////////
/// If nothing found, try using xml and rss_200 ///
///////////////////////////////////////////////////
if ( $continue == false && function_exists('simplexml_load_file') ) {
$flickr_uid = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_user_id']) ? '' : $flickr_options['flickr_user_id'], $flickr_options );
switch ($flickr_options['flickr_source']) {
case 'user':
$request = 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=rest&privacy_filter=1&user_id='. $flickr_uid .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
case 'favorites':
$request = 'http://api.flickr.com/services/rest/?method=flickr.favorites.getPublicList&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=rest&privacy_filter=1&user_id='. $flickr_uid .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
case 'group':
$flickr_groupid = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_group_id']) ? '' : $flickr_options['flickr_group_id'], $flickr_options );
$request = 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=rest&privacy_filter=1&group_id='. $flickr_groupid .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
case 'set':
$APTFFbyTAP_flickr_set = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_set_id']) ? '' : $flickr_options['flickr_set_id'], $flickr_options );
$request = 'http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=rest&privacy_filter=1&photoset_id='. $APTFFbyTAP_flickr_set .'&page=1&extras=url_sq,url_t,url_s,url_m,url_o';
break;
case 'community':
$APTFFbyTAP_flickr_tags = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_tags']) ? '' : $flickr_options['flickr_tags'], $flickr_options );
$request = 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=rest&privacy_filter=1&tags='. $APTFFbyTAP_flickr_tags .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
}
$_flickrurl = @urlencode( $request ); // just for compatibility
$_flickr_xml = @simplexml_load_file( $_flickrurl,"SimpleXMLElement",LIBXML_NOCDATA); // @ is shut-up operator
//print_r( $_flickr_xml);
if( $_flickr_xml===false || !$_flickr_xml || (!$_flickr_xml->photos && !$_flickr_xml->photoset) ){
$hidden .= '';
$continue = false;
}else{
$APTFFbyTAP_content = $_flickr_xml->photos;
$APTFFbyTAP_photos = $APTFFbyTAP_content->photo;
// Check for photosets
if( 'set' == $flickr_options['flickr_source']) {
$APTFFbyTAP_content = $_flickr_xml->photoset;
$APTFFbyTAP_photos = $APTFFbyTAP_content->photo;
}
$APTFFbyTAP_attributes = $APTFFbyTAP_content->attributes();
// Check actual number of photos found
if( count($APTFFbyTAP_photos) < $flickr_options['flickr_photo_number'] ){ $flickr_options['flickr_photo_number']=count($APTFFbyTAP_photos);}
for ($i=0;$i<$flickr_options['flickr_photo_number'];$i++) {
$current_attr = $APTFFbyTAP_photos[$i]->attributes();
$APTFFbyTAP_linkurl[$i] = 'http://www.flickr.com/photos/'.(string)$current_attr['owner'].'/'.(string)$current_attr['id'].'/';
$APTFFbyTAP_photourl[$i] = (string)$current_attr[$APTFFbyTAP_size_id];
$APTFFbyTAP_originalurl[$i] = (string)$current_attr['url_m'];
if( !$APTFFbyTAP_photourl[$i] ){ $APTFFbyTAP_photourl[$i] = $APTFFbyTAP_originalurl[$i]; } // Incase size didn't exist
$APTFFbyTAP_photocap[$i] = (string)$current_attr['title'];
}
if(!empty($APTFFbyTAP_linkurl) && !empty($APTFFbyTAP_photourl)){
if( 'community' != $flickr_options['flickr_source'] && $flickr_options['flickr_display_link'] && $flickr_options['flickr_display_link_text']) {
switch ($flickr_options['flickr_source']) {
case 'user':
$APTFFbyTAP_link = 'http://www.flickr.com/photos/'.$flickr_uid.'/';
break;
case 'favorites':
$APTFFbyTAP_link = 'http://www.flickr.com/photos/'.$flickr_uid.'/favorites/';
break;
case 'group':
$APTFFbyTAP_link = 'http://www.flickr.com/groups/'.$flickr_groupid.'/';
break;
case 'set':
// NOTE the use of attributes...
if($APTFFbyTAP_attributes['owner'] && $APTFFbyTAP_attributes['id']){
$APTFFbyTAP_link = 'http://www.flickr.com/photos/'.$APTFFbyTAP_attributes['owner'].'/sets/'.$APTFFbyTAP_attributes['id'].'/';
}
break;
}
if($APTFFbyTAP_link){
$APTFFbyTAP_user_link = '';
}
}
// If content successfully fetched, generate output...
$continue = true;
$hidden .= '';
}else{
$hidden .= '';
$continue = false;
$feed_found = true;
}
}
}
////////////////////////////////////////////////////////
//// If still nothing found, try using RSS ///
////////////////////////////////////////////////////////
if( $continue == false && function_exists('file_get_contents')) {
// Try simple file_get_contents function
$flickr_uid = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_user_id']) ? '' : $flickr_options['flickr_user_id'], $flickr_options );
switch ($flickr_options['flickr_source']) {
case 'user':
$request = 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=php_serial&privacy_filter=1&user_id='. $flickr_uid .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
case 'favorites':
$request = 'http://api.flickr.com/services/rest/?method=flickr.favorites.getPublicList&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=php_serial&privacy_filter=1&user_id='. $flickr_uid .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
case 'group':
$flickr_groupid = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_group_id']) ? '' : $flickr_options['flickr_group_id'], $flickr_options );
$request = 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=php_serial&privacy_filter=1&group_id='. $flickr_groupid .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
case 'set':
$APTFFbyTAP_flickr_set = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_set_id']) ? '' : $flickr_options['flickr_set_id'], $flickr_options );
$request = 'http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=php_serial&privacy_filter=1&photoset_id='. $APTFFbyTAP_flickr_set .'&page=1&extras=url_sq,url_t,url_s,url_m,url_o';
break;
case 'community':
$APTFFbyTAP_flickr_tags = apply_filters( APTFFbyTAP_HOOK, empty($flickr_options['flickr_tags']) ? '' : $flickr_options['flickr_tags'], $flickr_options );
$request = 'http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=68b8278a33237f1f369cbbf3c9a9f45c&per_page='.$flickr_options['flickr_photo_number'].'&format=php_serial&privacy_filter=1&tags='. $APTFFbyTAP_flickr_tags .'&page=1&extras=description,url_sq,url_t,url_s,url_m,url_n,url_z';
break;
}
$_flickrurl = @file_get_contents($request);
$_flickr_php = @unserialize($_flickrurl);
if(empty($_flickr_php)){
$hidden .= '';
$continue = false;
}else{
$APTFFbyTAP_content = $_flickr_php['photos'];
$APTFFbyTAP_photos = $_flickr_php['photos']['photo'];
// Check for photosets
if( 'set' == $flickr_options['flickr_source']) {
$APTFFbyTAP_content = $_flickr_php['photoset'];
$APTFFbyTAP_photos = $_flickr_php['photoset']['photo'];
}
// Check actual number of photos found
if( count($APTFFbyTAP_photos) < $flickr_options['flickr_photo_number'] ){ $flickr_options['flickr_photo_number']=count($APTFFbyTAP_photos);}
for ($i=0;$i<$flickr_options['flickr_photo_number'];$i++) {
$APTFFbyTAP_linkurl[$i] = 'http://www.flickr.com/photos/'.$APTFFbyTAP_photos[$i]['owner'].'/'.$APTFFbyTAP_photos[$i]['id'].'/';
$APTFFbyTAP_photourl[$i] = $APTFFbyTAP_photos[$i][$APTFFbyTAP_size_id];
$APTFFbyTAP_originalurl[$i] = $APTFFbyTAP_photos[$i]['url_m'];
if( !$APTFFbyTAP_photourl[$i] ){ $APTFFbyTAP_photourl[$i] = $APTFFbyTAP_originalurl[$i]; } // Incase size didn't exist
$APTFFbyTAP_photocap[$i] = $APTFFbyTAP_photos[$i]['title'];
}
if(!empty($APTFFbyTAP_linkurl) && !empty($APTFFbyTAP_photourl)){
if( 'community' != $flickr_options['flickr_source'] && $flickr_options['flickr_display_link'] && $flickr_options['flickr_display_link_text']) {
switch ($flickr_options['flickr_source']) {
case 'user':
$APTFFbyTAP_link = 'http://www.flickr.com/photos/'.$flickr_uid.'/';
break;
case 'favorites':
$APTFFbyTAP_link = 'http://www.flickr.com/photos/'.$flickr_uid.'/favorites/';
break;
case 'group':
$APTFFbyTAP_link = 'http://www.flickr.com/groups/'.$flickr_groupid.'/';
break;
case 'set':
if($APTFFbyTAP_content['owner'] && $APTFFbyTAP_content['id']){
$APTFFbyTAP_link = 'http://www.flickr.com/photos/'.$APTFFbyTAP_content['owner'].'/sets/'.$APTFFbyTAP_content['id'].'/';
}
break;
}
if($APTFFbyTAP_link){
$APTFFbyTAP_user_link = '';
}
}
// If content successfully fetched, generate output...
$continue = true;
$hidden .= '';
}else{
$hidden .= '';
$continue = false;
$feed_found = true;
}
}
}
///////////////////////////////////////////////////////////////////////
//// If STILL!!! nothing found, report that Flickr ID must be wrong ///
///////////////////////////////////////////////////////////////////////
if( false == $continue ) {
if($feed_found ){
$message .= '- Flickr feed was successfully retrieved, but no photos found.';
}else{
$message .= '- Flickr feed not found. Please recheck your ID.';
}
}
$results = array('continue'=>$continue,'message'=>$message,'hidden'=>$hidden,'user_link'=>$APTFFbyTAP_user_link,'image_captions'=>$APTFFbyTAP_photocap,'image_urls'=>$APTFFbyTAP_photourl,'image_perms'=>$APTFFbyTAP_linkurl,'image_originals'=>$APTFFbyTAP_originalurl);
if( true == $continue ){
$cache_results = $results;
if(!is_serialized( $cache_results )) { $cache_results = maybe_serialize( $cache_results ); }
$cache->put($key, $cache_results);
}
return $results;
}
?>