コード例 #1
0
function flickr_faves_import_for_nsid($nsid, $more = array())
{
    $flickr_user = flickr_users_get_by_nsid($nsid);
    $user = users_get_by_id($flickr_user['user_id']);
    if (!$user) {
        return array('ok' => 0, 'error' => 'not a valid user');
    }
    $method = 'flickr.favorites.getList';
    $args = array('user_id' => $flickr_user['nsid'], 'auth_token' => $flickr_user['auth_token'], 'extras' => 'original_format,tags,media,date_upload,date_taken,geo,owner_name', 'per_page' => 100, 'page' => 1);
    if (isset($more['min_fave_date'])) {
        $args['min_fave_date'] = $more['min_fave_date'];
    }
    $pages = null;
    $count = 0;
    while (!isset($pages) || $pages >= $args['page']) {
        $rsp = flickr_api_call($method, $args);
        if (!$rsp['ok']) {
            return $rsp;
        }
        if (!isset($pages)) {
            $pages = $rsp['rsp']['photos']['pages'];
        }
        $photos = $rsp['rsp']['photos']['photo'];
        if (!is_array($photos)) {
            return array('ok' => 0, 'error' => 'no photos');
        }
        foreach ($photos as $photo) {
            $fave_rsp = flickr_faves_import_photo($photo, $user);
            if ($fave_rsp['ok']) {
                $count++;
            }
        }
        $args['page'] += 1;
    }
    return array('ok' => 1, 'count_imported' => $count);
}
コード例 #2
0
    $multi_rsp = http_multi($reqs);
    $topic_map = flickr_push_topic_map();
    $topic_id = $subscription['topic_id'];
    $topic = $topic_map[$topic_id];
    foreach ($multi_rsp as $rsp) {
        $rsp = flickr_api_parse_response($rsp);
        if (!$rsp['ok']) {
            continue;
        }
        $photo = $rsp['rsp']['photo'];
        $spr = flickr_push_utils_info2spr($photo);
        # log_info("[PUSH] {$topic} ({$user['id']}) start import...");
        # log_info("[PUSH] SPR " . var_export($spr, 1));
        $import_rsp = null;
        if ($topic == 'my_photos') {
            $import_rsp = flickr_photos_import_photo($spr);
        } else {
            if ($topic == 'my_faves') {
                $import_rsp = flickr_faves_import_photo($spr, $user);
            } else {
                if ($topic == 'commons') {
                    $import_rsp = flickr_photos_import_photo($spr);
                } else {
                    # log_info("skip photo for '{$user['id']}' : '{$topic}'");
                }
            }
        }
        # log_info("[PUSH] {$topic} ({$user['id']}) : " . var_export($import_rsp, 1));
    }
}
exit;