74 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			74 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | if (!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', | ||
|  |                         '-//W3C//DTD XHTML 1.0 Strict//EN', | ||
|  |                         'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'); | ||
|  | 
 | ||
|  |         $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->element('script', | ||
|  |             array('src' => | ||
|  |                 'http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.debug.js', | ||
|  |                 'type' => 'text/javascript'), ''); | ||
|  |         $this->elementEnd('head'); | ||
|  |         $this->elementStart('body'); | ||
|  |         $this->elementEnd('body'); | ||
|  | 
 | ||
|  |         $this->elementEnd('html'); | ||
|  |     } | ||
|  | 
 | ||
|  | } | ||
|  | 
 |