joomla_test/libraries/joomla/google/embed.php
2020-01-02 22:20:31 +07:00

133 lines
2.4 KiB
PHP

<?php
/**
* @package Joomla.Platform
* @subpackage Google
*
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die;
jimport('joomla.environment.uri');
/**
* Google API object class for the Joomla Platform.
*
* @package Joomla.Platform
* @subpackage Google
* @since 12.3
*/
abstract class JGoogleEmbed
{
/**
* @var JRegistry Options for the Google data object.
* @since 12.3
*/
protected $options;
/**
* @var JUri URI of the page being rendered.
* @since 12.3
*/
protected $uri;
/**
* Constructor.
*
* @param JRegistry $options Google options object
* @param JUri $uri URL of the page being rendered
*
* @since 12.3
*/
public function __construct(JRegistry $options = null, JUri $uri = null)
{
$this->options = $options ? $options : new JRegistry;
$this->uri = $uri ? $uri : new JUri;
}
/**
* Method to retrieve the javascript header for the embed API
*
* @return string The header
*
* @since 12.3
*/
public function isSecure()
{
return $this->uri->getScheme() == 'https';
}
/**
* Method to retrieve the header for the API
*
* @return string The header
*
* @since 12.3
*/
abstract public function getHeader();
/**
* Method to retrieve the body for the API
*
* @return string The body
*
* @since 12.3
*/
abstract public function getBody();
/**
* Method to output the javascript header for the embed API
*
* @return null
*
* @since 12.3
*/
public function echoHeader()
{
echo $this->getHeader();
}
/**
* Method to output the body for the API
*
* @return null
*
* @since 12.3
*/
public function echoBody()
{
echo $this->getBody();
}
/**
* Get an option from the JGoogleEmbed instance.
*
* @param string $key The name of the option to get.
*
* @return mixed The option value.
*
* @since 12.3
*/
public function getOption($key)
{
return $this->options->get($key);
}
/**
* Set an option for the JGoogleEmbed instance.
*
* @param string $key The name of the option to set.
* @param mixed $value The option value to set.
*
* @return JGoogleEmbed This object for method chaining.
*
* @since 12.3
*/
public function setOption($key, $value)
{
$this->options->set($key, $value);
return $this;
}
}