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');
}
예제 #2
0
 $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');