Files
contao-leaflet-maps/src/Netzmacht/Contao/Leaflet/Dca/FrontendIntegration.php

78 lines
2.1 KiB
PHP
Raw Normal View History

2014-12-29 12:17:40 +01:00
<?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\Toolkit\Dca\Options\OptionsBuilder;
2014-12-29 12:17:40 +01:00
use Netzmacht\Contao\Leaflet\Model\MapModel;
/**
2015-01-12 19:03:29 +01:00
* Class Module is the helper for the tl_module dca.
*
2014-12-29 12:17:40 +01:00
* @package Netzmacht\Contao\Leaflet\Dca
*/
2015-01-12 19:03:29 +01:00
class FrontendIntegration
2014-12-29 12:17:40 +01:00
{
/**
* Get all leaflet maps.
*
* @return array
*/
public function getMaps()
{
$collection = MapModel::findAll();
return OptionsBuilder::fromCollection($collection, 'title')->getOptions();
2014-12-29 12:17:40 +01:00
}
2015-01-12 19:03:29 +01:00
/**
* Get edit map link wizard.
*
* @param \DataContainer $dataContainer The dataContainer driver.
*
* @return string
*
* @SuppressWarnings(PHPMD.Superglobals)
*/
public function getEditMapLink($dataContainer)
{
if ($dataContainer->value < 1) {
return '';
}
2015-01-12 19:03:29 +01:00
$pattern = 'title="%s" style="padding-left: 3px" onclick="Backend.openModalIframe(';
$pattern .= '{\'width\':768,\'title\':\'%s\',\'url\':this.href});return false"';
return sprintf(
'<a href="%s%s&amp;popup=1&amp;rt=%s" %s>%s</a>',
'contao/main.php?do=leaflet&amp;table=tl_leaflet_map&amp;act=edit&amp;id=',
$dataContainer->value,
\RequestToken::get(),
sprintf(
2015-01-12 19:03:29 +01:00
$pattern,
specialchars(sprintf($GLOBALS['TL_LANG']['tl_content']['editalias'][1], $dataContainer->value)),
specialchars(
str_replace(
"'",
"\\'",
sprintf($GLOBALS['TL_LANG']['tl_content']['editalias'][1], $dataContainer->value)
)
)
),
\Image::getHtml(
'alias.gif',
2015-01-12 19:03:29 +01:00
$GLOBALS['TL_LANG']['tl_content']['editalias'][0],
'style="vertical-align:top"'
)
);
}
2014-12-29 12:17:40 +01:00
}