コード例 #1
0
function flickr_push_unsubscribe($subscription)
{
    $flickr_user = flickr_users_get_by_user_id($subscription['user_id']);
    $callback = "{$GLOBALS['cfg']['abs_root_url']}push/{$subscription['secret_url']}/";
    $method = 'flickr.push.unsubscribe';
    $map = flickr_push_topic_map();
    $topic = $map[$subscription['topic_id']];
    $args = array('auth_token' => $flickr_user['auth_token'], 'topic' => $topic, 'verify' => 'sync', 'verify_token' => $subscription['verify_token'], 'callback' => $callback);
    if ($topic_args = $subscription['topic_args']) {
        if (!is_array($topic_args)) {
            $topic_args = json_decode($topic_args, "as hash");
        }
        $args = array_merge($args, $topic_args);
    }
    $rsp = flickr_api_call($method, $args);
    return $rsp;
}
コード例 #2
0
function api_flickr_photos_friends_faves()
{
    if (!$GLOBALS['cfg']['enable_feature_flickr_push']) {
        api_output_error(999, "disabled");
    }
    if (!$GLOBALS['cfg']['flickr_push_enable_photos_friends_faves']) {
        api_output_error(999, "disabled");
    }
    $topic_map = flickr_push_topic_map("string keys");
    $topic_id = $topic_map["contacts_faves"];
    $sub = flickr_push_subscriptions_get_by_user_and_topic($GLOBALS['cfg']['user'], $topic_id);
    if (!$sub) {
        api_output_error(999, "no subscription");
    }
    $older_than = get_int32("older_than");
    $rsp = flickr_push_photos_for_subscription($sub, $older_than);
    if (!$rsp['ok']) {
        api_output_error(999, $rsp['error']);
    }
    $out = array('photos' => $rsp['rows']);
    $more = array('inline' => 1);
    api_output_ok($out, $more);
}
コード例 #3
0
loadlib("cli");
loadlib("flickr_backups");
loadlib("flickr_push");
loadlib("flickr_push_subscriptions");
$features = array("backups", "flickr_push", "flickr_push_backups");
if (!features_is_enabled($features)) {
    echo "backups are currently disabled\n";
    exit;
}
$spec = array("url" => array("flag" => "u", "required" => 1, "help" => "the *root* URL of your copy of parallel-ogram (the need to specify this here is not a feature...)"));
$opts = cli_getopts($spec);
$topic = $opts['topic'];
# This sucks to have to do but I am uncertain what the
# better alternative is right now... (20120601/straup)
$root = rtrim($opts['url'], '/') . "/";
$GLOBALS['cfg']['abs_root_url'] = $root;
log_info("set 'abs_root_url' to '{$GLOBALS['cfg']['abs_root_url']}'");
$topic_map = flickr_push_topic_map("string keys");
$topics = array("my_photos", "my_faves");
foreach (flickr_backups_users() as $user) {
    foreach ($topics as $topic) {
        $sub = array('user_id' => $user['id'], 'topic_id' => $topic_map[$topic]);
        $rsp = flickr_push_subscriptions_register_subscription($sub);
        log_info("[{$user['username']}] {$topic}: {$rsp['ok']}");
        if (!$rsp['ok']) {
            log_info("[{$user['username']}] {$topic}: {$rsp['error']}");
        }
    }
}
log_info("- done -");
exit;
コード例 #4
0
    error_404();
}
$crumb_key = "delete_feed";
$GLOBALS['smarty']->assign("crumb_key", $crumb_key);
if (post_str("delete") && crumb_check($crumb_key)) {
    $feed_rsp = flickr_push_unsubscribe($sub);
    $GLOBALS['smarty']->assign("delete_feed", $feed_rsp);
    if ($feed_rsp['ok']) {
        $sub_rsp = flickr_push_subscriptions_delete($sub);
        $GLOBALS['smarty']->assign("delete_sub", $sub_rsp);
        if ($sub_rsp['ok']) {
            $redir = "{$GLOBALS['cfg']['abs_root_url']}god/push/subscriptions/{$sub['user_id']}/";
            header("location: {$redir}");
            exit;
        }
    }
}
$topic_map = flickr_push_topic_map();
$sub['str_topic'] = $topic_map[$sub['topic_id']];
if ($sub['last_update_details']) {
    $sub['last_update_details'] = json_decode($sub['last_update_details'], "as hash");
}
$owner = users_get_by_id($sub['user_id']);
$sub['owner'] = $owner;
$photos = flickr_push_photos_for_subscription($sub);
$is_push_backup = flickr_push_subscriptions_is_push_backup($sub);
$GLOBALS['smarty']->assign("is_push_backup", $is_push_backup);
$GLOBALS['smarty']->assign_by_ref("subscription", $sub);
$GLOBALS['smarty']->assign_by_ref("photos", $photos['rows']);
$GLOBALS['smarty']->display("page_god_push_subscription.txt");
exit;
コード例 #5
0
function flickr_backups_is_registered_push_subscription(&$sub)
{
    loadlib("flickr_push");
    $map = flickr_push_topic_map("string keys");
    # for now, anyway...
    $valid = array($map['my_photos'], $map['my_faves'], $map['commons']);
    return in_array($sub['topic_id'], $valid) ? 1 : 0;
}