function flickr_push_subscriptions_generate_secret_url()
{
    $tries = 0;
    $max_tries = 50;
    while (1) {
        $tries += 1;
        $url = random_string(64);
        if (!flickr_push_subscriptions_get_by_secret_url($url)) {
            return $url;
        }
        if ($tries >= $max_tries) {
            return null;
        }
    }
}
include "include/init.php";
features_ensure_enabled("flickr_push");
loadlib("flickr_push_subscriptions");
loadlib("flickr_push_photos");
loadlib("flickr_push_utils");
loadlib("flickr_backups");
loadlib("flickr_users");
loadlib("flickr_api");
loadlib("syndication_atom");
$secret_url = get_str("secret_url");
if (!$secret_url) {
    error_404();
}
# error_log("[PARALLEL] updates for {$secret_url}");
$subscription = flickr_push_subscriptions_get_by_secret_url($secret_url);
if (!$subscription) {
    # error_log("[PARALLEL] no subscription for {$secret_url}");
    error_404();
}
if ($verify_token = get_str("verify_token")) {
    if ($subscription['verify_token'] != $verify_token) {
        error_404();
    }
    $mode = get_str('mode');
    if ($mode == 'subscribe') {
        $update = array('verified' => time());
        $rsp = flickr_push_subscriptions_update($subscription, $update);
    } else {
        if ($mode == 'unsubscribe') {
            $rsp = flickr_push_subscriptions_delete($subscription);