function import_flickr_url($url, $more = array()) { list($type, $uid) = import_flickr_url_type($url); # photosets if ($type == "set") { $rows = import_flickr_photoset($uid, $more); return array('ok' => 1, 'data' => $rows); } # groups if ($type == "group") { $group_id = $uid; if (!preg_match("!\\@N\\d+\$!", $group_id)) { $group_id = flickr_lookup_group_id_by_url($url); } if (!$group_id) { return array('ok' => 0, 'error' => 'Invalid group ID'); } $rows = import_flickr_group_pool($group_id, $more); return array('ok' => 1, 'data' => $rows); } # individual users if ($type == "user") { $user_id = $uid; if (!preg_match("!\\@N\\d+\$!", $user_id)) { $user_id = flickr_lookup_user_id_by_url($url); } if (!$user_id) { return array('ok' => 0, 'error' => 'Invalid user ID'); } $rows = import_flickr_user($user_id, $more); return array('ok' => 1, 'data' => $rows); } # for example: # http://api.flickr.com/services/feeds/geo/?id=35034348999@N01&lang=en-us if ($type == "feed") { $more = array('assume_mime_type' => 'application/rss+xml'); $upload = import_fetch_uri($url, $more); if ($upload['ok']) { $upload = import_process_file($upload); } return $upload; } # yahoo says no return array('ok' => 0, 'error' => 'Failed to parse URL'); }
$is_flickr = 0; $is_google = 0; if (preg_match("/(www\\.)?flickr\\.com/", $parsed['host'])) { $is_flickr = 1; } else { if (google_is_mymaps_hostname($parsed['host'])) { $is_google = 1; } else { } } $GLOBALS['smarty']->assign("is_flickr", $is_flickr); $GLOBALS['smarty']->assign("is_google", $is_google); # If it's from Flickr then parse out what kind of Flickr URL # we're parsing because we only support sets right now. if ($is_flickr) { list($flickr_type, $ignore) = import_flickr_url_type($url); $GLOBALS['smarty']->assign_by_ref("flickr_url_type", $flickr_type); if ($flickr_type != 'set') { $ok = 0; $GLOBALS['error']['invalid_flickr_type'] = 1; } } if (!$ok) { $GLOBALS['smarty']->display('page_upload3.txt'); exit; } # This is an upload from some random remote site # Please to make sure you are saying yes, ok? if (!post_isset('confirm')) { $GLOBALS['smarty']->assign('step', 'confirm'); $GLOBALS['smarty']->display('page_upload3.txt');