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