diff options
author | Zach Copley <zach@status.net> | 2009-10-21 01:07:03 +0000 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2009-10-21 01:07:03 +0000 |
commit | d07c9d87504c3909466e2c99a1265af15aba3c3d (patch) | |
tree | fefc9a03987083fa713ca5d8d90b17d427deb67f /plugins/Facebook/FBC_XDReceiver.php | |
parent | 78e5a5980a21c04cfdacb993ca3c37bf65d21783 (diff) |
Gather all the Facebook stuff together in one place
Diffstat (limited to 'plugins/Facebook/FBC_XDReceiver.php')
-rw-r--r-- | plugins/Facebook/FBC_XDReceiver.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/plugins/Facebook/FBC_XDReceiver.php b/plugins/Facebook/FBC_XDReceiver.php new file mode 100644 index 000000000..2bc790d5a --- /dev/null +++ b/plugins/Facebook/FBC_XDReceiver.php @@ -0,0 +1,68 @@ +<?php + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +/* + * Generates the cross domain communication channel file + * (xd_receiver.html). By generating it we can add some caching + * instructions. + * + * See: http://wiki.developers.facebook.com/index.php/Cross_Domain_Communication_Channel + */ +class FBC_XDReceiverAction extends Action +{ + + /** + * Do we need to write to the database? + * + * @return boolean true + */ + + function isReadonly() + { + return true; + } + + /** + * Handle a request + * + * @param array $args Arguments from $_REQUEST + * + * @return void + */ + + function handle($args) + { + // Parent handling, including cache check + parent::handle($args); + $this->showPage(); + } + + function showPage() + { + // cache the xd_receiver + header('Cache-Control: max-age=225065900'); + header('Expires:'); + header('Pragma:'); + + $this->startXML('html'); + + $language = $this->getLanguage(); + + $this->elementStart('html', array('xmlns' => 'http://www.w3.org/1999/xhtml', + 'xml:lang' => $language, + 'lang' => $language)); + $this->elementStart('head'); + $this->element('title', null, 'cross domain receiver page'); + $this->script('http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.debug.js'); + $this->elementEnd('head'); + $this->elementStart('body'); + $this->elementEnd('body'); + + $this->elementEnd('html'); + } + +} + |