return $me->{fbo} = Facebook::Graph->new(access_token => $page_access_token);
}
+
+sub uri_fixer {
+ my ($me, $uri) = @_;
+
+ #dir uri hacks for some buggy host...
+ my ($scheme, $auth, $path, $query, $frag) = uri_split($uri);
+
+ if ($auth eq 'www.guardian.co.uk') {
+ my @q = split(/&/, $query);
+ push(@q, 'fb=optOut');
+ $query = join('&',@q);
+ $uri = uri_join($scheme, $auth, $path, $query, $frag);
+ }
+
+ return $uri;
+}
+
sub publish {
my ($me, $text, $uri) = @_;
return $me->{fbo}->add_post($me->{cfg}->{fb_page_id})
->set_message($text)
- ->set_link_uri($uri)
+ ->set_link_uri($me->uri_fixer($uri))
->publish()
->as_hashref();
}