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); }
$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;