70 lines
1.3 KiB
PHP
70 lines
1.3 KiB
PHP
<?php defined('SYSPATH') OR die('No direct access allowed.');
|
|
/**
|
|
* GMaps options container.
|
|
*
|
|
* $Id: Gmap_Options.php 4179 2009-04-07 23:39:20Z zombor $
|
|
*
|
|
* @package Gmaps
|
|
* @author Kohana Team
|
|
* @copyright (c) 2007-2008 Kohana Team
|
|
* @license http://kohanaphp.com/license.html
|
|
*/
|
|
class Gmap_Options_Core {
|
|
|
|
// Valid options
|
|
protected $valid_options = array
|
|
(
|
|
'Dragging',
|
|
'InfoWindow',
|
|
'DoubleClickZoom',
|
|
'ContinuousZoom',
|
|
'GoogleBar',
|
|
'ScrollWheelZoom'
|
|
);
|
|
|
|
// Settable options
|
|
protected $options = array();
|
|
|
|
/**
|
|
* Create a new GMap options
|
|
*
|
|
* @param array GMap2 object options
|
|
* @return void
|
|
*/
|
|
public function __construct(array $options)
|
|
{
|
|
foreach ($options as $key => $value)
|
|
{
|
|
if (in_array($key, $this->valid_options))
|
|
{
|
|
// Set all valid options
|
|
$this->options[$key] = (bool) $value;
|
|
}
|
|
}
|
|
}
|
|
|
|
public function render($tabs = 0)
|
|
{
|
|
// Create the tabs
|
|
$tabs = empty($tabs) ? '' : str_repeat("\t", $tabs);
|
|
|
|
// Render each option
|
|
$output = array();
|
|
foreach ($this->options as $option => $value)
|
|
{
|
|
if ($value === TRUE)
|
|
{
|
|
// Add an enable
|
|
$output[] = 'map.enable'.$option.'();';
|
|
}
|
|
else
|
|
{
|
|
// Add a disable
|
|
$output[] = 'map.disable'.$option.'();';
|
|
}
|
|
}
|
|
|
|
return implode("\n".$tabs, $output);
|
|
}
|
|
|
|
} // End Gmap Options
|