#!/usr/bin/perl -w
# flickr.cgi:
# Register for Flickr usage, and update photos
#
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: matthew@mysociety.org. WWW: http://www.mysociety.org
#
# $Id: flickr.cgi,v 1.4 2007-06-17 11:46:42 matthew Exp $
use strict;
require 5.8.0;
# Horrible boilerplate to set up appropriate library paths.
use FindBin;
use lib "$FindBin::Bin/../perllib";
use lib "$FindBin::Bin/../../perllib";
use LWP::Simple;
use mySociety::AuthToken;
use mySociety::DBHandle qw(dbh);
use mySociety::Email;
use mySociety::EmailUtil;
use Page;
BEGIN {
mySociety::Config::set_file("$FindBin::Bin/../conf/general");
mySociety::DBHandle::configure(
Name => mySociety::Config::get('BCI_DB_NAME'),
User => mySociety::Config::get('BCI_DB_USER'),
Password => mySociety::Config::get('BCI_DB_PASS'),
Host => mySociety::Config::get('BCI_DB_HOST', undef),
Port => mySociety::Config::get('BCI_DB_PORT', undef)
);
}
sub main {
my $q = shift;
print Page::header($q, title=>'Flickr photo upload');
my $out = '';
if (my $token = $q->param('token')) {
my $email = mySociety::AuthToken::retrieve('flickr', $token);
if ($email) {
my $key = mySociety::Config::get('FLICKR_API');
my $url = 'http://api.flickr.com/services/rest/?method=flickr.people.findByEmail&api_key='.$key.'&find_email='.$email;
my $result = get($url);
my ($nsid) = $result =~ /nsid="([^"]*)"/;
$url = 'http://api.flickr.com/services/rest/?method=flickr.people.getInfo&api_key='.$key.'&user_id='.$nsid;
$result = get($url);
my ($name) = $result =~ /
Using the Flickr API, FixMyStreet can utilise all the methods of uploading photos to Flickr to report problems to your council: