function flickr_api_call($method, $args = array(), $more = array())
{
    list($url, $args) = flickr_api_call_build($method, $args, $more);
    $defaults = array('http_timeout' => 10);
    $more = array_merge($defaults, $more);
    $headers = array();
    $rsp = http_post($url, $args, $headers, $more);
    # $url = $url . "?" . http_build_query($args);
    # $rsp = http_get($url);
    return flickr_api_parse_response($rsp);
}
if (count($to_backup)) {
    loadlib("http");
    loadlib("flickr_photos_import");
    loadlib("flickr_faves_import");
    $reqs = array();
    foreach ($to_backup as $args) {
        list($url, $args) = flickr_api_call_build('flickr.photos.getInfo', $args);
        $url = $url . "?" . http_build_query($args);
        $reqs[] = array('method' => 'GET', 'url' => $url);
    }
    $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') {