1: <?php
2:
3: namespace Mapbender\CoreBundle\Element;
4:
5: use Mapbender\CoreBundle\Component\Element;
6: use Symfony\Component\HttpFoundation\Response;
7:
8: /**
9: *
10: */
11: class AboutDialog extends Element
12: {
13:
14: /**
15: * @inheritdoc
16: */
17: static public function getClassTitle()
18: {
19: return "About Dialog";
20: }
21:
22: /**
23: * @inheritdoc
24: */
25: static public function getClassDescription()
26: {
27: return "Renders a button to show a about dialog";
28: }
29:
30: /**
31: * @inheritdoc
32: */
33: static public function getClassTags()
34: {
35: return array('Help', 'Info', 'About');
36: }
37:
38: /**
39: * @inheritdoc
40: */
41: public function getAssets()
42: {
43: return array(
44: 'js' => array(
45: 'mapbender.element.button.js',
46: '@FOMCoreBundle/Resources/public/js/widgets/popup.js',
47: 'mapbender.element.aboutDialog.js'),
48: 'css' => array());
49: }
50:
51: /**
52: * @inheritdoc
53: */
54: public static function getDefaultConfiguration()
55: {
56: return array(
57: "tooltip" => "About",
58: 'label' => true);
59: }
60:
61: /**
62: * @inheritdoc
63: */
64: public static function getType()
65: {
66: return 'Mapbender\CoreBundle\Element\Type\AboutDialogAdminType';
67: }
68:
69: /**
70: * @inheritdoc
71: */
72: public static function getFormTemplate()
73: {
74: return 'MapbenderManagerBundle:Element:about_dialog.html.twig';
75: }
76:
77: /**
78: * @inheritdoc
79: */
80: public function getWidgetName()
81: {
82: return 'mapbender.mbAboutDialog';
83: }
84:
85: /**
86: * @inheritdoc
87: */
88: public function render()
89: {
90: return $this->container->get('templating')
91: ->render('MapbenderCoreBundle:Element:about_dialog.html.twig',
92: array(
93: 'id' => $this->getId(),
94: 'title' => $this->getTitle(),
95: 'configuration' => $this->getConfiguration()));
96: }
97:
98: /**
99: * @inheritdoc
100: */
101: public function httpAction($action)
102: {
103: $response = new Response();
104: switch($action)
105: {
106: case 'about':
107: $about = $this->container->get('templating')
108: ->render('MapbenderCoreBundle:Element:about_dialog_content.html.twig');
109: $response->setContent($about);
110: return $response;
111: }
112: }
113: }
114:
115: