Ongoing development.

This commit is contained in:
David Molineus
2014-12-29 12:17:40 +01:00
parent d289b67196
commit 633be6a2bc
32 changed files with 2057 additions and 23 deletions

View File

@@ -0,0 +1,40 @@
<?php
/**
* @package dev
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014 netzmacht creative David Molineus
* @license LGPL 3.0
* @filesource
*
*/
namespace Netzmacht\Contao\Leaflet\Dca;
use Netzmacht\Contao\Leaflet\Model\MapModel;
/**
* Class Content
* @package Netzmacht\Contao\Leaflet\Dca
*/
class Content
{
/**
* Get all leaflet maps.
*
* @return array
*/
public function getMaps()
{
$options = array();
$collection = MapModel::findAll();
if ($collection) {
foreach ($collection as $map) {
$options[$map->id] = $map->title;
}
}
return $options;
}
}

View File

@@ -0,0 +1,63 @@
<?php
/**
* @package dev
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014 netzmacht creative David Molineus
* @license LGPL 3.0
* @filesource
*
*/
namespace Netzmacht\Contao\Leaflet\Dca;
use Netzmacht\Contao\Leaflet\Mapper\DefinitionMapper;
use Netzmacht\Contao\Leaflet\Mapper\MapMapper;
use Netzmacht\Contao\Leaflet\Model\MapModel;
use Netzmacht\LeafletPHP\Definition\Type\LatLng;
class Leaflet
{
/**
* Validate a coordinate.
*
* @param $value
*
* @return mixed
*/
public function validateCoordinate($value)
{
if (!empty($value)) {
// Validate by creating latlng object. Throws an exception.
LatLng::fromString($value);
}
return $value;
}
public function getZoomLevels()
{
return range(1, 20);
}
public function getGeocoder($dataContainer)
{
$template = new \BackendTemplate('be_leaflet_geocode');
$template->field = 'ctrl_' . $dataContainer->field;
try {
$latLng = LatLng::fromString($dataContainer->value);
$template->marker = $latLng->toJson();
} catch(\Exception $e) {
}
return $template->parse();
}
}