Initial commit
@@ -0,0 +1,368 @@
|
||||
SetEnv TYPO3_CONTEXT "Development"
|
||||
|
||||
#####
|
||||
#
|
||||
# Example .htaccess file for TYPO3 CMS - for use with Apache Webserver
|
||||
#
|
||||
# This file includes settings for the following configuration options:
|
||||
#
|
||||
# - Compression
|
||||
# - Caching
|
||||
# - MIME types
|
||||
# - Cross Origin requests
|
||||
# - Rewriting and Access
|
||||
# - Miscellaneous
|
||||
# - PHP optimisation
|
||||
#
|
||||
# If you want to use it, you have to copy it to the root folder of your TYPO3 installation (if its
|
||||
# not there already) and rename it to '.htaccess'. To make .htaccess files work, you might need to
|
||||
# adjust the 'AllowOverride' directive in your Apache configuration file.
|
||||
#
|
||||
# IMPORTANT: You may need to change this file depending on your TYPO3 installation!
|
||||
# Consider adding this file's content to your webserver's configuration directly for speed improvement
|
||||
#
|
||||
# Lots of the options are taken from https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess
|
||||
#
|
||||
####
|
||||
|
||||
|
||||
### Begin: Compression ###
|
||||
|
||||
# Compressing resource files will save bandwidth and so improve loading speed especially for users
|
||||
# with slower internet connections. TYPO3 can compress the .js and .css files for you.
|
||||
# *) Uncomment the following lines and
|
||||
# *) Set $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] = 9 for the Backend
|
||||
# *) Set $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] = 9 together with the TypoScript properties
|
||||
# config.compressJs and config.compressCss for GZIP compression of Frontend JS and CSS files.
|
||||
|
||||
#<FilesMatch "\.js\.gzip$">
|
||||
# AddType "text/javascript" .gzip
|
||||
#</FilesMatch>
|
||||
#<FilesMatch "\.css\.gzip$">
|
||||
# AddType "text/css" .gzip
|
||||
#</FilesMatch>
|
||||
#AddEncoding gzip .gzip
|
||||
|
||||
<IfModule mod_deflate.c>
|
||||
# Force compression for mangled `Accept-Encoding` request headers
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_headers.c>
|
||||
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
|
||||
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# Compress all output labeled with one of the following media types.
|
||||
#
|
||||
# (!) For Apache versions below version 2.3.7 you don't need to
|
||||
# enable `mod_filter` and can remove the `<IfModule mod_filter.c>`
|
||||
# and `</IfModule>` lines as `AddOutputFilterByType` is still in
|
||||
# the core directives.
|
||||
#
|
||||
# https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype
|
||||
|
||||
<IfModule mod_filter.c>
|
||||
AddOutputFilterByType DEFLATE application/atom+xml \
|
||||
application/javascript \
|
||||
application/json \
|
||||
application/ld+json \
|
||||
application/manifest+json \
|
||||
application/rdf+xml \
|
||||
application/rss+xml \
|
||||
application/schema+json \
|
||||
application/vnd.geo+json \
|
||||
application/vnd.ms-fontobject \
|
||||
application/x-font-ttf \
|
||||
application/x-javascript \
|
||||
application/x-web-app-manifest+json \
|
||||
application/xhtml+xml \
|
||||
application/xml \
|
||||
font/eot \
|
||||
font/opentype \
|
||||
image/bmp \
|
||||
image/svg+xml \
|
||||
image/vnd.microsoft.icon \
|
||||
image/x-icon \
|
||||
text/cache-manifest \
|
||||
text/css \
|
||||
text/html \
|
||||
text/javascript \
|
||||
text/plain \
|
||||
text/vcard \
|
||||
text/vnd.rim.location.xloc \
|
||||
text/vtt \
|
||||
text/x-component \
|
||||
text/x-cross-domain-policy \
|
||||
text/xml
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_mime.c>
|
||||
AddEncoding gzip svgz
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
### End: Compression ###
|
||||
|
||||
|
||||
|
||||
### Begin: Browser caching of resource files ###
|
||||
|
||||
# This affects Frontend and Backend and increases performance.
|
||||
<IfModule mod_expires.c>
|
||||
|
||||
ExpiresActive on
|
||||
ExpiresDefault "access plus 1 month"
|
||||
|
||||
ExpiresByType text/css "access plus 1 year"
|
||||
|
||||
ExpiresByType application/json "access plus 0 seconds"
|
||||
ExpiresByType application/ld+json "access plus 0 seconds"
|
||||
ExpiresByType application/schema+json "access plus 0 seconds"
|
||||
ExpiresByType application/vnd.geo+json "access plus 0 seconds"
|
||||
ExpiresByType application/xml "access plus 0 seconds"
|
||||
ExpiresByType text/xml "access plus 0 seconds"
|
||||
|
||||
ExpiresByType image/vnd.microsoft.icon "access plus 1 week"
|
||||
ExpiresByType image/x-icon "access plus 1 week"
|
||||
|
||||
ExpiresByType text/x-component "access plus 1 month"
|
||||
|
||||
ExpiresByType text/html "access plus 0 seconds"
|
||||
|
||||
ExpiresByType application/javascript "access plus 1 year"
|
||||
ExpiresByType application/x-javascript "access plus 1 year"
|
||||
ExpiresByType text/javascript "access plus 1 year"
|
||||
|
||||
ExpiresByType application/manifest+json "access plus 1 week"
|
||||
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
|
||||
ExpiresByType text/cache-manifest "access plus 0 seconds"
|
||||
|
||||
ExpiresByType audio/ogg "access plus 1 month"
|
||||
ExpiresByType image/bmp "access plus 1 month"
|
||||
ExpiresByType image/gif "access plus 1 month"
|
||||
ExpiresByType image/jpeg "access plus 1 month"
|
||||
ExpiresByType image/png "access plus 1 month"
|
||||
ExpiresByType image/svg+xml "access plus 1 month"
|
||||
ExpiresByType image/webp "access plus 1 month"
|
||||
ExpiresByType video/mp4 "access plus 1 month"
|
||||
ExpiresByType video/ogg "access plus 1 month"
|
||||
ExpiresByType video/webm "access plus 1 month"
|
||||
|
||||
ExpiresByType application/atom+xml "access plus 1 hour"
|
||||
ExpiresByType application/rdf+xml "access plus 1 hour"
|
||||
ExpiresByType application/rss+xml "access plus 1 hour"
|
||||
|
||||
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
|
||||
ExpiresByType font/eot "access plus 1 month"
|
||||
ExpiresByType font/opentype "access plus 1 month"
|
||||
ExpiresByType application/x-font-ttf "access plus 1 month"
|
||||
ExpiresByType application/font-woff "access plus 1 month"
|
||||
ExpiresByType application/x-font-woff "access plus 1 month"
|
||||
ExpiresByType font/woff "access plus 1 month"
|
||||
ExpiresByType application/font-woff2 "access plus 1 month"
|
||||
|
||||
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
|
||||
|
||||
</IfModule>
|
||||
|
||||
### End: Browser caching of resource files ###
|
||||
|
||||
|
||||
### Begin: MIME types ###
|
||||
|
||||
# Proper MIME types for all files
|
||||
<IfModule mod_mime.c>
|
||||
|
||||
# Data interchange
|
||||
AddType application/atom+xml atom
|
||||
AddType application/json json map topojson
|
||||
AddType application/ld+json jsonld
|
||||
AddType application/rss+xml rss
|
||||
AddType application/vnd.geo+json geojson
|
||||
AddType application/xml rdf xml
|
||||
|
||||
# JavaScript
|
||||
AddType application/javascript js
|
||||
|
||||
# Manifest files
|
||||
AddType application/manifest+json webmanifest
|
||||
AddType application/x-web-app-manifest+json webapp
|
||||
AddType text/cache-manifest appcache
|
||||
|
||||
# Media files
|
||||
|
||||
AddType audio/mp4 f4a f4b m4a
|
||||
AddType audio/ogg oga ogg opus
|
||||
AddType image/bmp bmp
|
||||
AddType image/svg+xml svg svgz
|
||||
AddType image/webp webp
|
||||
AddType video/mp4 f4v f4p m4v mp4
|
||||
AddType video/ogg ogv
|
||||
AddType video/webm webm
|
||||
AddType video/x-flv flv
|
||||
AddType image/x-icon cur ico
|
||||
|
||||
# Web fonts
|
||||
AddType application/font-woff woff
|
||||
AddType application/font-woff2 woff2
|
||||
AddType application/vnd.ms-fontobject eot
|
||||
AddType application/x-font-ttf ttc ttf
|
||||
AddType font/opentype otf
|
||||
|
||||
# Other
|
||||
AddType application/octet-stream safariextz
|
||||
AddType application/x-bb-appworld bbaw
|
||||
AddType application/x-chrome-extension crx
|
||||
AddType application/x-opera-extension oex
|
||||
AddType application/x-xpinstall xpi
|
||||
AddType text/vcard vcard vcf
|
||||
AddType text/vnd.rim.location.xloc xloc
|
||||
AddType text/vtt vtt
|
||||
AddType text/x-component htc
|
||||
|
||||
</IfModule>
|
||||
|
||||
# UTF-8 encoding
|
||||
AddDefaultCharset utf-8
|
||||
<IfModule mod_mime.c>
|
||||
AddCharset utf-8 .atom .css .js .json .manifest .rdf .rss .vtt .webapp .webmanifest .xml
|
||||
</IfModule>
|
||||
|
||||
### End: MIME types ###
|
||||
|
||||
|
||||
|
||||
### Begin: Cross Origin ###
|
||||
|
||||
# Send the CORS header for images when browsers request it.
|
||||
<IfModule mod_setenvif.c>
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
|
||||
SetEnvIf Origin ":" IS_CORS
|
||||
Header set Access-Control-Allow-Origin "*" env=IS_CORS
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# Allow cross-origin access to web fonts.
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\.(eot|otf|tt[cf]|woff2?)$">
|
||||
Header set Access-Control-Allow-Origin "*"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
### End: Cross Origin ###
|
||||
|
||||
|
||||
|
||||
### Begin: Rewriting and Access ###
|
||||
|
||||
# You need rewriting, if you use a URL-Rewriting extension (RealURL, CoolUri).
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
|
||||
# Enable URL rewriting
|
||||
RewriteEngine On
|
||||
|
||||
# Store the current location in an environment variable CWD to use
|
||||
# mod_rewrite in .htaccess files without knowing the RewriteBase
|
||||
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
|
||||
RewriteRule ^.*$ - [E=CWD:%2]
|
||||
|
||||
# Rules to set ApplicationContext based on hostname
|
||||
#RewriteCond %{HTTP_HOST} ^dev\.example\.com$
|
||||
#RewriteRule .? - [E=TYPO3_CONTEXT:Development]
|
||||
#RewriteCond %{HTTP_HOST} ^staging\.example\.com$
|
||||
#RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging]
|
||||
#RewriteCond %{HTTP_HOST} ^www\.example\.com$
|
||||
#RewriteRule .? - [E=TYPO3_CONTEXT:Production]
|
||||
|
||||
# Rule for versioned static files, configured through:
|
||||
# - $GLOBALS['TYPO3_CONF_VARS']['BE']['versionNumberInFilename']
|
||||
# - $GLOBALS['TYPO3_CONF_VARS']['FE']['versionNumberInFilename']
|
||||
# IMPORTANT: This rule has to be the very first RewriteCond in order to work!
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ %{ENV:CWD}$1.$3 [L]
|
||||
|
||||
# Access block for folders
|
||||
RewriteRule _(?:recycler|temp)_/ - [F]
|
||||
RewriteRule fileadmin/templates/.*\.(?:txt|ts)$ - [F]
|
||||
RewriteRule ^(?:vendor|typo3_src|typo3temp/logs) - [F]
|
||||
RewriteRule (?:typo3conf/ext|typo3/sysext|typo3/ext)/[^/]+/(?:Configuration|Resources/Private|Tests?|Documentation|docs?)/ - [F]
|
||||
|
||||
# Block access to all hidden files and directories with the exception of
|
||||
# the visible content from within the `/.well-known/` hidden directory (RFC 5785).
|
||||
RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC]
|
||||
RewriteCond %{SCRIPT_FILENAME} -d [OR]
|
||||
RewriteCond %{SCRIPT_FILENAME} -f
|
||||
RewriteRule (?:^|/)\. - [F]
|
||||
|
||||
# Stop rewrite processing, if we are in the typo3/ directory or any other known directory
|
||||
# NOTE: Add your additional local storages here
|
||||
RewriteRule ^(?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
|
||||
|
||||
# If the file/symlink/directory does not exist => Redirect to index.php.
|
||||
# For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'.
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_FILENAME} !-l
|
||||
RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L]
|
||||
|
||||
</IfModule>
|
||||
|
||||
# Access block for files
|
||||
<FilesMatch "(?i:^\.|^#.*#|^(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|^composer\.(?:json|lock)|^ext_conf_template\.txt|^ext_typoscript_constants\.txt|^ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|ya?ml|ts|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sw[op]|git.*)|.*(?:~|rc))$">
|
||||
# Apache < 2.3
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order allow,deny
|
||||
Deny from all
|
||||
Satisfy All
|
||||
</IfModule>
|
||||
|
||||
# Apache ≥ 2.3
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
|
||||
# Block access to vcs directories
|
||||
<IfModule mod_alias.c>
|
||||
RedirectMatch 404 /\.(?:git|svn|hg)/
|
||||
</IfModule>
|
||||
|
||||
### End: Rewriting and Access ###
|
||||
|
||||
|
||||
|
||||
### Begin: Miscellaneous ###
|
||||
|
||||
# 404 error prevention for non-existing redirected folders
|
||||
Options -MultiViews
|
||||
|
||||
# Make sure that directory listings are disabled.
|
||||
<IfModule mod_autoindex.c>
|
||||
Options -Indexes
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
# Force IE to render pages in the highest available mode
|
||||
Header set X-UA-Compatible "IE=edge"
|
||||
<FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svgz?|ttf|vcf|webapp|webm|webp|woff2?|xml|xpi)$">
|
||||
Header unset X-UA-Compatible
|
||||
</FilesMatch>
|
||||
|
||||
# Reducing MIME type security risks
|
||||
Header set X-Content-Type-Options "nosniff"
|
||||
</IfModule>
|
||||
|
||||
# ETag removal
|
||||
<IfModule mod_headers.c>
|
||||
Header unset ETag
|
||||
</IfModule>
|
||||
FileETag None
|
||||
|
||||
### End: Miscellaneous ###
|
||||
|
||||
|
||||
# Add your own rules here.
|
||||
@@ -0,0 +1 @@
|
||||
deny from all
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
namespace EP\EpEvents;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
final class Constants
|
||||
{
|
||||
const PAGETYPE_CATEGORY = 101;
|
||||
const PAGETYPE_OFFER = 102;
|
||||
const PAGETYPE_ACTIVITY = 103;
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Controller;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use EP\EpEvents\Domain\Model\Activity;
|
||||
use EP\EpEvents\Domain\Repository\ActivityRepository;
|
||||
use EP\EpEvents\Domain\Repository\OfferRepository;
|
||||
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||
|
||||
class ActivityController extends ActionController
|
||||
{
|
||||
/**
|
||||
* @var ActivityRepository
|
||||
*/
|
||||
protected $activityRepository;
|
||||
|
||||
/**
|
||||
* @var OfferRepository
|
||||
*/
|
||||
protected $offerRepository;
|
||||
|
||||
/**
|
||||
* @param ActivityRepository $activityRepository
|
||||
* @param OfferRepository $offerRepository
|
||||
*/
|
||||
public function __construct(ActivityRepository $activityRepository, OfferRepository $offerRepository)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->activityRepository = $activityRepository;
|
||||
$this->offerRepository = $offerRepository;
|
||||
}
|
||||
|
||||
public function listAction()
|
||||
{
|
||||
$configuration = ['activityType' => $this->settings['activityType']];
|
||||
$content = $this->configurationManager->getContentObject()->data;
|
||||
$activities = $this->activityRepository->findByConfiguratorType($configuration['activityType']);
|
||||
$this->view->assign('activities', $activities);
|
||||
$this->view->assign('configuration', $configuration);
|
||||
$this->view->assign('content', $content);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Activity $activity
|
||||
*/
|
||||
public function detailAction(Activity $activity)
|
||||
{
|
||||
$offers = $this->offerRepository->findByActivity($activity);
|
||||
$this->view->assign('activity', $activity);
|
||||
$this->view->assign('offers', $offers);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Controller;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use EP\EpEvents\Domain\Model\Inquiry;
|
||||
use EP\EpEvents\Service\EmailService;
|
||||
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||
use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
|
||||
|
||||
class AjaxFormController extends ActionController
|
||||
{
|
||||
|
||||
/**
|
||||
* @var EmailService
|
||||
*/
|
||||
protected $emailService;
|
||||
|
||||
/**
|
||||
* @param EmailService $service
|
||||
*/
|
||||
public function injectEmailService(EmailService $service)
|
||||
{
|
||||
$this->emailService = $service;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Inquiry $inquiry
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function processInquiryFormAction(Inquiry $inquiry)
|
||||
{
|
||||
$response['status'] = 'ok';
|
||||
$this->emailService->send(
|
||||
$this->settings['inquiryToEmail'],
|
||||
$this->settings['inquiryToName'],
|
||||
'Anfrage E&P Events',
|
||||
'Email/Inquiry',
|
||||
[ 'inquiry' => $inquiry ]
|
||||
);
|
||||
return json_encode($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Inquiry $inquiry
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function processConfiguratorFormAction(Inquiry $inquiry)
|
||||
{
|
||||
$response['status'] = 'ok';
|
||||
$this->emailService->send(
|
||||
$this->settings['inquiryToEmail'],
|
||||
$this->settings['inquiryToName'],
|
||||
'Anfrage E&P Events',
|
||||
'Email/Configurator',
|
||||
[ 'inquiry' => $inquiry ]
|
||||
);
|
||||
return json_encode($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
protected function errorAction() {
|
||||
$formErrors = [];
|
||||
if ($this->arguments->getValidationResults()->hasErrors()) {
|
||||
foreach ($this->arguments->getValidationResults()->getFlattenedErrors() as $key => $errors)
|
||||
{
|
||||
$key = str_replace('.', '', $key);
|
||||
$errorsRaw = [];
|
||||
foreach ($errors as $error)
|
||||
{
|
||||
$translationKey = sprintf('tx_epevents.message.%s.%s', $key, $error->getCode());
|
||||
$errorsRaw[] = LocalizationUtility::translate($translationKey, 'ep_events');
|
||||
}
|
||||
$formErrors[$key] = implode(', ', $errorsRaw);
|
||||
}
|
||||
}
|
||||
|
||||
$response['status'] = 'validation';
|
||||
$response['errors'] = $formErrors;
|
||||
return json_encode($response);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Controller;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use EP\EpEvents\Domain\Repository\ContactRepository;
|
||||
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||
|
||||
class ContactController extends ActionController
|
||||
{
|
||||
/**
|
||||
* @var ContactRepository
|
||||
*/
|
||||
protected $contactRepository;
|
||||
|
||||
/**
|
||||
* @param ContactRepository $contactRepository
|
||||
*/
|
||||
public function injectContactRepository(ContactRepository $contactRepository)
|
||||
{
|
||||
$this->contactRepository = $contactRepository;
|
||||
}
|
||||
|
||||
public function listAction()
|
||||
{
|
||||
$contacts = $this->contactRepository->findAll();
|
||||
$content = $this->configurationManager->getContentObject()->data;
|
||||
$this->view->assign('contacts', $contacts);
|
||||
$this->view->assign('content', $content);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Controller;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use EP\EpEvents\Domain\Model\Inquiry;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||
|
||||
class FormController extends ActionController
|
||||
{
|
||||
public function inquiryFormAction()
|
||||
{
|
||||
$inquiry = $this->getInquiryFromContext();
|
||||
$this->view->assign('inquiry', $inquiry);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $travelType
|
||||
* @param int $locationType
|
||||
*/
|
||||
public function contactFormAction($travelType = 0, $locationType = 0)
|
||||
{
|
||||
$inquiry = Inquiry::fromArguments($travelType, $locationType);
|
||||
$pageUrl = $this->getCurrentPageUrl();
|
||||
$inquiry->setPageUrl($pageUrl);
|
||||
$this->view->assign('inquiry', $inquiry);
|
||||
}
|
||||
|
||||
public function configuratorAction()
|
||||
{
|
||||
$inquiry = $this->getInquiryFromContext();
|
||||
$this->view->assign('inquiry', $inquiry);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Inquiry
|
||||
*/
|
||||
protected function getInquiryFromContext()
|
||||
{
|
||||
$content = $this->configurationManager->getContentObject()->data;
|
||||
$defaults = $this->settings['configurator']['defaults'];
|
||||
if (isset($content['offer'])) {
|
||||
$offer = $content['offer'];
|
||||
$inquiry = Inquiry::fromOffer($offer, $defaults);
|
||||
} elseif (isset($content['travelType'])) {
|
||||
/** @var \EP\EpEvents\Domain\Model\Traveltype $travelType */
|
||||
$travelType = $content['travelType'];
|
||||
$inquiryName = $this->settings['configurator']['options']['travelType'][$travelType->getConfiguratorType()];
|
||||
$inquiry = Inquiry::fromTraveltype($travelType, $inquiryName, $defaults);
|
||||
} elseif (isset($content['activityType'])) {
|
||||
$inquiry = new Inquiry($defaults);
|
||||
$inquiry->setActivityType($content['activityType']);
|
||||
} else {
|
||||
$inquiry = new Inquiry($defaults);
|
||||
}
|
||||
$pageUrl = $this->getCurrentPageUrl();
|
||||
$inquiry->setPageUrl($pageUrl);
|
||||
return $inquiry;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
protected function getCurrentPageUrl()
|
||||
{
|
||||
if (GeneralUtility::_GET('ref')) {
|
||||
$pageUid = GeneralUtility::_GET('ref');
|
||||
} else {
|
||||
$pageUid = $GLOBALS['TSFE']->id;
|
||||
}
|
||||
return $this->uriBuilder
|
||||
->reset()
|
||||
->setCreateAbsoluteUri(true)
|
||||
->setTargetPageUid($pageUid)
|
||||
->build()
|
||||
;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Controller;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use EP\EpEvents\Domain\Model\Offer;
|
||||
use EP\EpEvents\Domain\Repository\OfferRepository;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||
|
||||
class OfferController extends ActionController
|
||||
{
|
||||
/**
|
||||
* @var OfferRepository
|
||||
*/
|
||||
protected $offerRepository;
|
||||
|
||||
/**
|
||||
* @param OfferRepository $offerRepository
|
||||
*/
|
||||
public function __construct(OfferRepository $offerRepository)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->offerRepository = $offerRepository;
|
||||
}
|
||||
|
||||
public function teaserAction()
|
||||
{
|
||||
$content = $this->configurationManager->getContentObject()->data;
|
||||
$configuration = [
|
||||
'travelType' => isset($this->settings['travelType']) ? $this->settings['travelType'] : $content['travelType'],
|
||||
'locationType' => isset($this->settings['locationType']) ? $this->settings['locationType'] : $content['locationType'],
|
||||
'locationDistance' => isset($this->settings['locationDistance']) ? $this->settings['locationDistance'] : $content['locationDistance'],
|
||||
'hotelType' => isset($this->settings['hotelType']) ? $this->settings['hotelType'] : $content['hotelType'],
|
||||
'activityType' => isset($this->settings['activityType']) ? $this->settings['activityType'] : $content['activityType'],
|
||||
'offerUid' => isset($content['offerUid']) ? $content['offerUid'] : null,
|
||||
];
|
||||
$offers = $this->offerRepository->findByConfiguration($configuration);
|
||||
$this->view->assign('offers', $offers);
|
||||
$this->view->assign('configuration', $configuration);
|
||||
$this->view->assign('content', $content);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Offer $offer
|
||||
*/
|
||||
public function detailAction(Offer $offer = null)
|
||||
{
|
||||
if ($offer === null) {
|
||||
$pageUid = $GLOBALS['TSFE']->id;
|
||||
$offer = $this->offerRepository->findByDetailPage($pageUid)->getFirst();
|
||||
}
|
||||
$search = GeneralUtility::_GET('search');
|
||||
$this->view->assign('offer', $offer);
|
||||
$this->view->assign('search', $search);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Controller;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use EP\EpEvents\Domain\Model\Search;
|
||||
use EP\EpEvents\Domain\Repository\OfferRepository;
|
||||
use TYPO3\CMS\Core\Log\LogManager;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||
|
||||
class SearchController extends ActionController
|
||||
{
|
||||
/**
|
||||
* @var OfferRepository
|
||||
*/
|
||||
protected $offerRepository;
|
||||
|
||||
/**
|
||||
* @param OfferRepository $offerRepository
|
||||
*/
|
||||
public function __construct(OfferRepository $offerRepository)
|
||||
{
|
||||
parent::__construct();
|
||||
$this->offerRepository = $offerRepository;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Search $search
|
||||
*/
|
||||
public function formAction(Search $search = null)
|
||||
{
|
||||
if ($search === null) {
|
||||
$search = new Search(null, $GLOBALS['TSFE']->id);
|
||||
}
|
||||
$this->view->assign('search', $search);
|
||||
}
|
||||
|
||||
public function initializeResultAction()
|
||||
{
|
||||
$query = GeneralUtility::_GET('search');
|
||||
if ($query) {
|
||||
$search = new Search($query);
|
||||
$this->request->setArgument('search', $search);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Search $search
|
||||
*/
|
||||
public function resultAction(Search $search = null)
|
||||
{
|
||||
if ($search === null) {
|
||||
$this->redirectToUri('/');
|
||||
}
|
||||
$result = null;
|
||||
$searchValid = strlen($search->getQuery()) >= 3;
|
||||
if ($searchValid) {
|
||||
$this->logSearch($search);
|
||||
$result = $this->offerRepository->search($search->getQuery());
|
||||
}
|
||||
$this->view->assign('searchValid', $searchValid);
|
||||
$this->view->assign('result', $result);
|
||||
$this->view->assign('search', $search);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Search $search
|
||||
*/
|
||||
private function logSearch(Search $search)
|
||||
{
|
||||
$ignoreIps = GeneralUtility::trimExplode(',', $this->settings['searchLogIgnoreIps'], true);
|
||||
$remoteIp = GeneralUtility::getIndpEnv('REMOTE_ADDR');
|
||||
if (in_array($remoteIp, $ignoreIps)) {
|
||||
return;
|
||||
}
|
||||
/** @var $logger \TYPO3\CMS\Core\Log\Logger */
|
||||
$logger = GeneralUtility::makeInstance(LogManager::class)->getLogger(__CLASS__);
|
||||
$logger->info('Searchresult processed', [
|
||||
'search' => $search->getQuery(),
|
||||
'pageUid' => $search->getPageUid(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Controller;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use EP\EpEvents\Domain\Repository\TestimonialRepository;
|
||||
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||
|
||||
class TestimonialController extends ActionController
|
||||
{
|
||||
/**
|
||||
* @var TestimonialRepository
|
||||
*/
|
||||
protected $testimonialRepository;
|
||||
|
||||
/**
|
||||
* @param TestimonialRepository $testimonialRepository
|
||||
*/
|
||||
public function injectTestimonialRepository(TestimonialRepository $testimonialRepository)
|
||||
{
|
||||
$this->testimonialRepository = $testimonialRepository;
|
||||
}
|
||||
|
||||
public function listAction()
|
||||
{
|
||||
$testimonials = $this->testimonialRepository->findAll();
|
||||
$content = $this->configurationManager->getContentObject()->data;
|
||||
$this->view->assign('testimonials', $testimonials);
|
||||
$this->view->assign('content', $content);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\DataProcessing;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use EP\EpEvents\Constants;
|
||||
use EP\EpEvents\Domain\Repository\OfferRepository;
|
||||
use EP\EpEvents\Domain\Repository\TraveltypeRepository;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Object\ObjectManager;
|
||||
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
|
||||
use TYPO3\CMS\Frontend\ContentObject\DataProcessorInterface;
|
||||
|
||||
class OfferProcessor implements DataProcessorInterface
|
||||
{
|
||||
/**
|
||||
* @param ContentObjectRenderer $cObj
|
||||
* @param array $contentObjectConfiguration
|
||||
* @param array $processorConfiguration
|
||||
* @param array $processedData
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function process(
|
||||
ContentObjectRenderer $cObj,
|
||||
array $contentObjectConfiguration,
|
||||
array $processorConfiguration,
|
||||
array $processedData
|
||||
) {
|
||||
// Process page data for special page type only
|
||||
if ((int) $cObj->data['doktype'] !== Constants::PAGETYPE_OFFER) {
|
||||
return $processedData;
|
||||
}
|
||||
// Get offer repository instance
|
||||
/** @var \TYPO3\CMS\Extbase\Object\ObjectManager $objectManager */
|
||||
$objectManager = GeneralUtility::makeInstance(ObjectManager::class);
|
||||
/** @var \EP\EpEvents\Domain\Repository\OfferRepository $repository */
|
||||
$repository = $objectManager->get(OfferRepository::class);
|
||||
$offer = null;
|
||||
// First look for selected offer in page settings and fetch offer
|
||||
// by page uid otherwise
|
||||
$offerUid = (int) $cObj->data['tx_epevents_offer'];
|
||||
if ($offerUid !== 0) {
|
||||
/** @var \EP\EpEvents\Domain\Model\Offer $offer */
|
||||
$offer = $repository->findByIdentifier($offerUid);
|
||||
} else {
|
||||
$pageUid = $GLOBALS['TSFE']->id;
|
||||
$offer = $repository->findOneByDetailPage($pageUid);
|
||||
}
|
||||
/** @var \EP\EpEvents\Domain\Model\Offer $offer */
|
||||
$processedData['offer'] = $offer;
|
||||
$processedData['travelType'] = null;
|
||||
if ($offer->getConfiguratorType()) {
|
||||
$configuratorType = $offer->getConfiguratorType();
|
||||
/** @var \EP\EpEvents\Domain\Repository\TraveltypeRepository $repository */
|
||||
$repository = $objectManager->get(TraveltypeRepository::class);
|
||||
$processedData['travelType'] = $repository->findOneByConfiguratorType($configuratorType);
|
||||
}
|
||||
$processedData['search'] = GeneralUtility::_GET('search');
|
||||
return $processedData;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\DataProcessing;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use EP\EpEvents\Constants;
|
||||
use EP\EpEvents\Domain\Repository\TraveltypeRepository;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Object\ObjectManager;
|
||||
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
|
||||
use TYPO3\CMS\Frontend\ContentObject\DataProcessorInterface;
|
||||
|
||||
class TraveltypeProcessor implements DataProcessorInterface
|
||||
{
|
||||
/**
|
||||
* @param ContentObjectRenderer $cObj
|
||||
* @param array $contentObjectConfiguration
|
||||
* @param array $processorConfiguration
|
||||
* @param array $processedData
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function process(
|
||||
ContentObjectRenderer $cObj,
|
||||
array $contentObjectConfiguration,
|
||||
array $processorConfiguration,
|
||||
array $processedData
|
||||
) {
|
||||
// Process page data for special page type only
|
||||
if ((int) $cObj->data['doktype'] !== Constants::PAGETYPE_CATEGORY) {
|
||||
return $processedData;
|
||||
}
|
||||
// Get traveltype repository instance
|
||||
/** @var \TYPO3\CMS\Extbase\Object\ObjectManager $objectManager */
|
||||
$objectManager = GeneralUtility::makeInstance(ObjectManager::class);
|
||||
/** @var \EP\EpEvents\Domain\Repository\TraveltypeRepository $repository */
|
||||
$repository = $objectManager->get(TraveltypeRepository::class);
|
||||
$traveltype = null;
|
||||
$traveltypeUid = (int) $cObj->data['tx_epevents_traveltype'];
|
||||
if ($traveltypeUid !== 0) {
|
||||
/** @var \EP\EpEvents\Domain\Model\Traveltype $traveltype */
|
||||
$traveltype = $repository->findByIdentifier($traveltypeUid);
|
||||
}
|
||||
$processedData['traveltype'] = $traveltype;
|
||||
return $processedData;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,241 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Model;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
/**
|
||||
* Activity
|
||||
*/
|
||||
class Activity extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $configuratorTypeLabels = [
|
||||
1 => 'Outdoor & Action',
|
||||
2 => 'Event-Gastronomie',
|
||||
3 => 'Sightseeing',
|
||||
4 => 'Spezial',
|
||||
];
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $name = '';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $description = '';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $footertext = '';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $bannertext = '';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $keywords = '';
|
||||
|
||||
/**
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageTeaser;
|
||||
|
||||
/**
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageHeader;
|
||||
|
||||
/**
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageOffer;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $configuratorType = 0;
|
||||
|
||||
/**
|
||||
* @return string $name
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string $description
|
||||
*/
|
||||
public function getDescription()
|
||||
{
|
||||
return $this->description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $description
|
||||
*/
|
||||
public function setDescription($description)
|
||||
{
|
||||
$this->description = $description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getFootertext()
|
||||
{
|
||||
return $this->footertext;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $footertext
|
||||
*/
|
||||
public function setFootertext($footertext)
|
||||
{
|
||||
$this->footertext = $footertext;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getBannertext()
|
||||
{
|
||||
return $this->bannertext;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $bannertext
|
||||
*/
|
||||
public function setBannertext($bannertext)
|
||||
{
|
||||
$this->bannertext = $bannertext;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getKeywords()
|
||||
{
|
||||
return $this->keywords;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $keywords
|
||||
*/
|
||||
public function setKeywords($keywords)
|
||||
{
|
||||
$this->keywords = $keywords;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser
|
||||
*/
|
||||
public function getImageTeaser()
|
||||
{
|
||||
return $this->imageTeaser;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser
|
||||
*/
|
||||
public function setImageTeaser(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser)
|
||||
{
|
||||
$this->imageTeaser = $imageTeaser;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader
|
||||
*/
|
||||
public function getImageHeader()
|
||||
{
|
||||
return $this->imageHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader
|
||||
*/
|
||||
public function setImageHeader(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader)
|
||||
{
|
||||
$this->imageHeader = $imageHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageOffer
|
||||
*/
|
||||
public function getImageOffer()
|
||||
{
|
||||
return $this->imageOffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageOffer
|
||||
*/
|
||||
public function setImageOffer(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageOffer)
|
||||
{
|
||||
$this->imageOffer = $imageOffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int $configuratorType
|
||||
*/
|
||||
public function getConfiguratorType()
|
||||
{
|
||||
return $this->configuratorType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $configuratorType
|
||||
*/
|
||||
public function setConfiguratorType($configuratorType)
|
||||
{
|
||||
$this->configuratorType = $configuratorType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getConfiguratorTypeLabel()
|
||||
{
|
||||
return $this->configuratorTypeLabels[$this->configuratorType];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Model;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
/**
|
||||
* Contact
|
||||
*/
|
||||
class Contact extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
{
|
||||
|
||||
/**
|
||||
* name
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $name = '';
|
||||
|
||||
/**
|
||||
* position
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $position = '';
|
||||
|
||||
/**
|
||||
* email
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $email = '';
|
||||
|
||||
/**
|
||||
* phone
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $phone = '';
|
||||
|
||||
/**
|
||||
* image
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $image = null;
|
||||
|
||||
/**
|
||||
* Returns the name
|
||||
*
|
||||
* @return string $name
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the name
|
||||
*
|
||||
* @param string $name
|
||||
* @return void
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getPosition()
|
||||
{
|
||||
return $this->position;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $position
|
||||
*/
|
||||
public function setPosition($position)
|
||||
{
|
||||
$this->position = $position;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the email
|
||||
*
|
||||
* @return string $email
|
||||
*/
|
||||
public function getEmail()
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the email
|
||||
*
|
||||
* @param string $email
|
||||
* @return void
|
||||
*/
|
||||
public function setEmail($email)
|
||||
{
|
||||
$this->email = $email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getPhone()
|
||||
{
|
||||
return $this->phone;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $phone
|
||||
*/
|
||||
public function setPhone($phone)
|
||||
{
|
||||
$this->phone = $phone;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the image
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $image
|
||||
*/
|
||||
public function getImage()
|
||||
{
|
||||
return $this->image;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the image
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $image
|
||||
* @return void
|
||||
*/
|
||||
public function setImage(\TYPO3\CMS\Extbase\Domain\Model\FileReference $image)
|
||||
{
|
||||
$this->image = $image;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,197 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Model;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
/**
|
||||
* Hotel
|
||||
*/
|
||||
class Hotel extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
{
|
||||
/**
|
||||
* name
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $name = '';
|
||||
|
||||
/**
|
||||
* internal name
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $nameInternal = '';
|
||||
|
||||
/**
|
||||
* description
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = '';
|
||||
|
||||
/**
|
||||
* imageTeaser
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageTeaser = null;
|
||||
|
||||
/**
|
||||
* imageOffer
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageOffer = null;
|
||||
|
||||
/**
|
||||
* configuratorType
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $configuratorType = 0;
|
||||
|
||||
/**
|
||||
* Returns the name
|
||||
*
|
||||
* @return string $name
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the name
|
||||
*
|
||||
* @param string $name
|
||||
* @return void
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getNameInternal()
|
||||
{
|
||||
return $this->nameInternal;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $nameInternal
|
||||
*/
|
||||
public function setNameInternal($nameInternal)
|
||||
{
|
||||
$this->nameInternal = $nameInternal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description
|
||||
*
|
||||
* @return string $description
|
||||
*/
|
||||
public function getDescription()
|
||||
{
|
||||
return $this->description;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the description
|
||||
*
|
||||
* @param string $description
|
||||
* @return void
|
||||
*/
|
||||
public function setDescription($description)
|
||||
{
|
||||
$this->description = $description;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the imageTeaser
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser
|
||||
*/
|
||||
public function getImageTeaser()
|
||||
{
|
||||
return $this->imageTeaser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the imageTeaser
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser
|
||||
* @return void
|
||||
*/
|
||||
public function setImageTeaser(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser)
|
||||
{
|
||||
$this->imageTeaser = $imageTeaser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the imageOffer
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageOffer
|
||||
*/
|
||||
public function getImageOffer()
|
||||
{
|
||||
return $this->imageOffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the imageOffer
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageOffer
|
||||
* @return void
|
||||
*/
|
||||
public function setImageOffer(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageOffer)
|
||||
{
|
||||
$this->imageOffer = $imageOffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the configuratorType
|
||||
*
|
||||
* @return int $configuratorType
|
||||
*/
|
||||
public function getConfiguratorType()
|
||||
{
|
||||
return $this->configuratorType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the configuratorType
|
||||
*
|
||||
* @param int $configuratorType
|
||||
* @return void
|
||||
*/
|
||||
public function setConfiguratorType($configuratorType)
|
||||
{
|
||||
$this->configuratorType = $configuratorType;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,449 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Model;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use TYPO3\CMS\Extbase\DomainObject\AbstractValueObject;
|
||||
|
||||
class Inquiry extends AbstractValueObject
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $inquiryName;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $travelType;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $hotelType;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $locationType;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $activityType;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $distance;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $pax;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $budget;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $period;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $dateFrom;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $dateTo;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @validate NotEmpty
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @validate NotEmpty
|
||||
* @validate EmailAddress
|
||||
*/
|
||||
protected $email;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @validate NotEmpty
|
||||
*/
|
||||
protected $phone;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $message;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $pageUrl;
|
||||
|
||||
/**
|
||||
* @param array $defaults
|
||||
*/
|
||||
public function __construct(array $defaults = [])
|
||||
{
|
||||
foreach ($defaults as $key => $value)
|
||||
{
|
||||
if (property_exists($this, $key)) {
|
||||
$this->$key = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Offer $offer
|
||||
* @param array $defaults
|
||||
*
|
||||
* @return Inquiry
|
||||
*/
|
||||
public static function fromOffer(Offer $offer, array $defaults = [])
|
||||
{
|
||||
$inquiry = new self($defaults);
|
||||
$inquiry->setInquiryName($offer->getName() . ' ' . $offer->getLocation()->getName());
|
||||
$inquiry->setTravelType($offer->getConfiguratorType());
|
||||
if ($offer->getLocation()) {
|
||||
$inquiry->setLocationType($offer->getLocation()->getConfiguratorType());
|
||||
}
|
||||
if ($offer->getHotel()) {
|
||||
$inquiry->setHotelType($offer->getHotel()->getConfiguratorType());
|
||||
}
|
||||
if ($offer->getLocation()->getConfiguratorDistance()) {
|
||||
$inquiry->setDistance($offer->getLocation()->getConfiguratorDistance());
|
||||
}
|
||||
$activities = [];
|
||||
/** @var \EP\EpEvents\Domain\Model\Activity $activity */
|
||||
foreach ($offer->getActivities() as $activity)
|
||||
{
|
||||
$activities[] = $activity->getConfiguratorType();
|
||||
}
|
||||
$inquiry->setActivityType(implode(',', array_unique($activities)));
|
||||
return $inquiry;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Traveltype $traveltype
|
||||
* @param string $name
|
||||
* @param array $defaults
|
||||
*
|
||||
* @return Inquiry
|
||||
*/
|
||||
public static function fromTraveltype(Traveltype $traveltype, $name = '', array $defaults = [])
|
||||
{
|
||||
$inquiry = new self($defaults);
|
||||
$inquiry->setInquiryName($name);
|
||||
$inquiry->setTravelType($traveltype->getConfiguratorType());
|
||||
return $inquiry;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $travelType
|
||||
* @param int $locationType
|
||||
*
|
||||
* @return Inquiry
|
||||
*/
|
||||
public static function fromArguments($travelType = 0, $locationType = 0)
|
||||
{
|
||||
$inquiry = new self;
|
||||
$inquiry->setTravelType((string) $travelType);
|
||||
$inquiry->setLocationType((string) $locationType);
|
||||
return $inquiry;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getInquiryName()
|
||||
{
|
||||
return $this->inquiryName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $inquiryName
|
||||
*/
|
||||
public function setInquiryName($inquiryName)
|
||||
{
|
||||
$this->inquiryName = $inquiryName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getTravelType()
|
||||
{
|
||||
return $this->travelType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $travelType
|
||||
*/
|
||||
public function setTravelType($travelType)
|
||||
{
|
||||
$this->travelType = $travelType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getHotelType()
|
||||
{
|
||||
return $this->hotelType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $hotelType
|
||||
*/
|
||||
public function setHotelType($hotelType)
|
||||
{
|
||||
$this->hotelType = $hotelType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getLocationType()
|
||||
{
|
||||
return $this->locationType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $locationType
|
||||
*/
|
||||
public function setLocationType($locationType)
|
||||
{
|
||||
$this->locationType = $locationType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getActivityType()
|
||||
{
|
||||
return $this->activityType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $activityType
|
||||
*/
|
||||
public function setActivityType($activityType)
|
||||
{
|
||||
$this->activityType = $activityType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDistance()
|
||||
{
|
||||
return $this->distance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $distance
|
||||
*/
|
||||
public function setDistance($distance)
|
||||
{
|
||||
$this->distance = $distance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getPax()
|
||||
{
|
||||
return $this->pax;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $pax
|
||||
*/
|
||||
public function setPax($pax)
|
||||
{
|
||||
$this->pax = $pax;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getBudget()
|
||||
{
|
||||
return $this->budget;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $budget
|
||||
*/
|
||||
public function setBudget($budget)
|
||||
{
|
||||
$this->budget = $budget;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getPeriod()
|
||||
{
|
||||
return $this->period;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $period
|
||||
*/
|
||||
public function setPeriod($period)
|
||||
{
|
||||
$this->period = $period;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDateFrom()
|
||||
{
|
||||
return $this->dateFrom;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $dateFrom
|
||||
*/
|
||||
public function setDateFrom($dateFrom)
|
||||
{
|
||||
$this->dateFrom = $dateFrom;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDateTo()
|
||||
{
|
||||
return $this->dateTo;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $dateTo
|
||||
*/
|
||||
public function setDateTo($dateTo)
|
||||
{
|
||||
$this->dateTo = $dateTo;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getEmail()
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $email
|
||||
*/
|
||||
public function setEmail($email)
|
||||
{
|
||||
$this->email = $email;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getPhone()
|
||||
{
|
||||
return $this->phone;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $phone
|
||||
*/
|
||||
public function setPhone($phone)
|
||||
{
|
||||
$this->phone = $phone;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getMessage()
|
||||
{
|
||||
return $this->message;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $message
|
||||
*/
|
||||
public function setMessage($message)
|
||||
{
|
||||
$this->message = $message;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getPageUrl()
|
||||
{
|
||||
return $this->pageUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $pageUrl
|
||||
*/
|
||||
public function setPageUrl($pageUrl)
|
||||
{
|
||||
$this->pageUrl = $pageUrl;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,364 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Model;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
/**
|
||||
* Location
|
||||
*/
|
||||
class Location extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
{
|
||||
const DISTANCE_GERMANY = 1;
|
||||
const DISTANCE_EUROPE = 2;
|
||||
const DISTANCE_WORLD = 3;
|
||||
|
||||
/**
|
||||
* name
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $name = '';
|
||||
|
||||
/**
|
||||
* descriptionShort
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $descriptionShort = '';
|
||||
|
||||
/**
|
||||
* descriptionLong
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $descriptionLong = '';
|
||||
|
||||
/**
|
||||
* season
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $season = '';
|
||||
|
||||
/**
|
||||
* imageHeader
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageHeader = null;
|
||||
|
||||
/**
|
||||
* imageTeaser
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageTeaser = null;
|
||||
|
||||
/**
|
||||
* imageOffer
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageOffer = null;
|
||||
|
||||
/**
|
||||
* configuratorType
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $configuratorType = 0;
|
||||
|
||||
/**
|
||||
* configuratorDistance
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $configuratorDistance = 1;
|
||||
|
||||
/**
|
||||
* footerText1
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $footerText1 = '';
|
||||
|
||||
/**
|
||||
* footerText2
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $footerText2 = '';
|
||||
|
||||
/**
|
||||
* footerText3
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $footerText3 = '';
|
||||
|
||||
/**
|
||||
* Returns the name
|
||||
*
|
||||
* @return string $name
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the name
|
||||
*
|
||||
* @param string $name
|
||||
* @return void
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the descriptionShort
|
||||
*
|
||||
* @return string $descriptionShort
|
||||
*/
|
||||
public function getDescriptionShort()
|
||||
{
|
||||
return $this->descriptionShort;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the descriptionShort
|
||||
*
|
||||
* @param string $descriptionShort
|
||||
* @return void
|
||||
*/
|
||||
public function setDescriptionShort($descriptionShort)
|
||||
{
|
||||
$this->descriptionShort = $descriptionShort;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the imageHeader
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader
|
||||
*/
|
||||
public function getImageHeader()
|
||||
{
|
||||
return $this->imageHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the imageHeader
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader
|
||||
* @return void
|
||||
*/
|
||||
public function setImageHeader(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader)
|
||||
{
|
||||
$this->imageHeader = $imageHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the imageTeaser
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser
|
||||
*/
|
||||
public function getImageTeaser()
|
||||
{
|
||||
return $this->imageTeaser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the imageTeaser
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser
|
||||
* @return void
|
||||
*/
|
||||
public function setImageTeaser(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser)
|
||||
{
|
||||
$this->imageTeaser = $imageTeaser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the imageOffer
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageOffer
|
||||
*/
|
||||
public function getImageOffer()
|
||||
{
|
||||
return $this->imageOffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the imageOffer
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageOffer
|
||||
* @return void
|
||||
*/
|
||||
public function setImageOffer(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageOffer)
|
||||
{
|
||||
$this->imageOffer = $imageOffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the configuratorType
|
||||
*
|
||||
* @return int $configuratorType
|
||||
*/
|
||||
public function getConfiguratorType()
|
||||
{
|
||||
return $this->configuratorType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the configuratorType
|
||||
*
|
||||
* @param int $configuratorType
|
||||
* @return void
|
||||
*/
|
||||
public function setConfiguratorType($configuratorType)
|
||||
{
|
||||
$this->configuratorType = $configuratorType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getConfiguratorDistance()
|
||||
{
|
||||
return $this->configuratorDistance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $configuratorDistance
|
||||
*/
|
||||
public function setConfiguratorDistance($configuratorDistance)
|
||||
{
|
||||
$this->configuratorDistance = $configuratorDistance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the descriptionLong
|
||||
*
|
||||
* @return string descriptionLong
|
||||
*/
|
||||
public function getDescriptionLong()
|
||||
{
|
||||
return $this->descriptionLong;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the descriptionLong
|
||||
*
|
||||
* @param string $descriptionLong
|
||||
* @return void
|
||||
*/
|
||||
public function setDescriptionLong($descriptionLong)
|
||||
{
|
||||
$this->descriptionLong = $descriptionLong;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getSeason()
|
||||
{
|
||||
return $this->season;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $season
|
||||
*/
|
||||
public function setSeason($season)
|
||||
{
|
||||
$this->season = $season;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the footerText1
|
||||
*
|
||||
* @return string $footerText1
|
||||
*/
|
||||
public function getFooterText1()
|
||||
{
|
||||
return $this->footerText1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the footerText1
|
||||
*
|
||||
* @param string $footerText1
|
||||
* @return void
|
||||
*/
|
||||
public function setFooterText1($footerText1)
|
||||
{
|
||||
$this->footerText1 = $footerText1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the footerText2
|
||||
*
|
||||
* @return string $footerText2
|
||||
*/
|
||||
public function getFooterText2()
|
||||
{
|
||||
return $this->footerText2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the footerText2
|
||||
*
|
||||
* @param string $footerText2
|
||||
* @return void
|
||||
*/
|
||||
public function setFooterText2($footerText2)
|
||||
{
|
||||
$this->footerText2 = $footerText2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the footerText3
|
||||
*
|
||||
* @return string $footerText3
|
||||
*/
|
||||
public function getFooterText3()
|
||||
{
|
||||
return $this->footerText3;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the footerText3
|
||||
*
|
||||
* @param string $footerText3
|
||||
* @return void
|
||||
*/
|
||||
public function setFooterText3($footerText3)
|
||||
{
|
||||
$this->footerText3 = $footerText3;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,652 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Model;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
/**
|
||||
* Offer
|
||||
*/
|
||||
class Offer extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
{
|
||||
const TYPE_EXAMPLE = 1;
|
||||
const TYPE_CLIENT = 2;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $configuratorTypeLabels = [
|
||||
1 => 'Incentive',
|
||||
2 => 'Team Building',
|
||||
3 => 'Meeting',
|
||||
4 => 'Corporate Event',
|
||||
];
|
||||
|
||||
/**
|
||||
* type
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $type = 1;
|
||||
|
||||
/**
|
||||
* name
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $name = '';
|
||||
|
||||
/**
|
||||
* name internal
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $nameInternal = '';
|
||||
|
||||
/**
|
||||
* groupname
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $groupname = '';
|
||||
|
||||
/**
|
||||
* price
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $price = 0;
|
||||
|
||||
/**
|
||||
* headline
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $headline = '';
|
||||
|
||||
/**
|
||||
* header
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $header = '';
|
||||
|
||||
/**
|
||||
* arrival
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $arrival = '';
|
||||
|
||||
/**
|
||||
* schedule
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $schedule = '';
|
||||
|
||||
/**
|
||||
* services
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $services = '';
|
||||
|
||||
/**
|
||||
* guidelines
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $guidelines = '';
|
||||
|
||||
/**
|
||||
* imageHeader
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageHeader = null;
|
||||
|
||||
/**
|
||||
* imageTeaser
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageTeaser = null;
|
||||
|
||||
/**
|
||||
* imageTeaserMobile
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageTeaserMobile = null;
|
||||
|
||||
/**
|
||||
* bookingForm
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $bookingForm = null;
|
||||
|
||||
/**
|
||||
* configuratorType
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $configuratorType = 0;
|
||||
|
||||
/**
|
||||
* contact
|
||||
*
|
||||
* @var \EP\EpEvents\Domain\Model\Contact
|
||||
*/
|
||||
protected $contact = null;
|
||||
|
||||
/**
|
||||
* hotel
|
||||
*
|
||||
* @var \EP\EpEvents\Domain\Model\Hotel
|
||||
*/
|
||||
protected $hotel = null;
|
||||
|
||||
/**
|
||||
* location
|
||||
*
|
||||
* @var \EP\EpEvents\Domain\Model\Location
|
||||
*/
|
||||
protected $location = null;
|
||||
|
||||
/**
|
||||
* activities
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\EP\EpEvents\Domain\Model\Activity>
|
||||
*/
|
||||
protected $activities = null;
|
||||
|
||||
/**
|
||||
* detailPage
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $detailPage = 0;
|
||||
|
||||
/**
|
||||
* __construct
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
//Do not remove the next line: It would break the functionality
|
||||
$this->initStorageObjects();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes all ObjectStorage properties
|
||||
* Do not modify this method!
|
||||
* It will be rewritten on each save in the extension builder
|
||||
* You may modify the constructor of this class instead
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function initStorageObjects()
|
||||
{
|
||||
$this->activities = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getType()
|
||||
{
|
||||
return $this->type;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $type
|
||||
*/
|
||||
public function setType($type)
|
||||
{
|
||||
$this->type = $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name
|
||||
*
|
||||
* @return string $name
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the name
|
||||
*
|
||||
* @param string $name
|
||||
* @return void
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getNameInternal()
|
||||
{
|
||||
return $this->nameInternal;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $nameInternal
|
||||
*/
|
||||
public function setNameInternal($nameInternal)
|
||||
{
|
||||
$this->nameInternal = $nameInternal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the groupname
|
||||
*
|
||||
* @return string $groupname
|
||||
*/
|
||||
public function getGroupname()
|
||||
{
|
||||
return $this->groupname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the groupname
|
||||
*
|
||||
* @param string $groupname
|
||||
* @return void
|
||||
*/
|
||||
public function setGroupname($groupname)
|
||||
{
|
||||
$this->groupname = $groupname;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getPrice()
|
||||
{
|
||||
return $this->price;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $price
|
||||
*/
|
||||
public function setPrice($price)
|
||||
{
|
||||
$this->price = $price;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getHeadline()
|
||||
{
|
||||
return $this->headline;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $headline
|
||||
*/
|
||||
public function setHeadline($headline)
|
||||
{
|
||||
$this->headline = $headline;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the header
|
||||
*
|
||||
* @return string $header
|
||||
*/
|
||||
public function getHeader()
|
||||
{
|
||||
return $this->header;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the header
|
||||
*
|
||||
* @param string $header
|
||||
* @return void
|
||||
*/
|
||||
public function setHeader($header)
|
||||
{
|
||||
$this->header = $header;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the arrival
|
||||
*
|
||||
* @return string $arrival
|
||||
*/
|
||||
public function getArrival()
|
||||
{
|
||||
return $this->arrival;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the arrival
|
||||
*
|
||||
* @param string $arrival
|
||||
* @return void
|
||||
*/
|
||||
public function setArrival($arrival)
|
||||
{
|
||||
$this->arrival = $arrival;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the schedule
|
||||
*
|
||||
* @return string $schedule
|
||||
*/
|
||||
public function getSchedule()
|
||||
{
|
||||
return $this->schedule;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the schedule
|
||||
*
|
||||
* @param string $schedule
|
||||
* @return void
|
||||
*/
|
||||
public function setSchedule($schedule)
|
||||
{
|
||||
$this->schedule = $schedule;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the services
|
||||
*
|
||||
* @return string $services
|
||||
*/
|
||||
public function getServices()
|
||||
{
|
||||
return $this->services;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the services
|
||||
*
|
||||
* @param string $services
|
||||
* @return void
|
||||
*/
|
||||
public function setServices($services)
|
||||
{
|
||||
$this->services = $services;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the guidelines
|
||||
*
|
||||
* @return string $guidelines
|
||||
*/
|
||||
public function getGuidelines()
|
||||
{
|
||||
return $this->guidelines;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the guidelines
|
||||
*
|
||||
* @param string $guidelines
|
||||
* @return void
|
||||
*/
|
||||
public function setGuidelines($guidelines)
|
||||
{
|
||||
$this->guidelines = $guidelines;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the imageHeader
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader
|
||||
*/
|
||||
public function getImageHeader()
|
||||
{
|
||||
return $this->imageHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the imageHeader
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader
|
||||
* @return void
|
||||
*/
|
||||
public function setImageHeader(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader)
|
||||
{
|
||||
$this->imageHeader = $imageHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
public function getImageTeaser()
|
||||
{
|
||||
return $this->imageTeaser;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser
|
||||
*/
|
||||
public function setImageTeaser(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaser)
|
||||
{
|
||||
$this->imageTeaser = $imageTeaser;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
public function getImageTeaserMobile()
|
||||
{
|
||||
return $this->imageTeaserMobile;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaserMobile
|
||||
*/
|
||||
public function setImageTeaserMobile(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageTeaserMobile)
|
||||
{
|
||||
$this->imageTeaserMobile = $imageTeaserMobile;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the bookingForm
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $bookingForm
|
||||
*/
|
||||
public function getBookingForm()
|
||||
{
|
||||
return $this->bookingForm;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the bookingForm
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $bookingForm
|
||||
* @return void
|
||||
*/
|
||||
public function setBookingForm(\TYPO3\CMS\Extbase\Domain\Model\FileReference $bookingForm)
|
||||
{
|
||||
$this->bookingForm = $bookingForm;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the contact
|
||||
*
|
||||
* @return \EP\EpEvents\Domain\Model\Contact $contact
|
||||
*/
|
||||
public function getContact()
|
||||
{
|
||||
return $this->contact;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the contact
|
||||
*
|
||||
* @param \EP\EpEvents\Domain\Model\Contact $contact
|
||||
* @return void
|
||||
*/
|
||||
public function setContact(\EP\EpEvents\Domain\Model\Contact $contact)
|
||||
{
|
||||
$this->contact = $contact;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the hotel
|
||||
*
|
||||
* @return \EP\EpEvents\Domain\Model\Hotel $hotel
|
||||
*/
|
||||
public function getHotel()
|
||||
{
|
||||
return $this->hotel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the hotel
|
||||
*
|
||||
* @param \EP\EpEvents\Domain\Model\Hotel $hotel
|
||||
* @return void
|
||||
*/
|
||||
public function setHotel(\EP\EpEvents\Domain\Model\Hotel $hotel)
|
||||
{
|
||||
$this->hotel = $hotel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the location
|
||||
*
|
||||
* @return \EP\EpEvents\Domain\Model\Location $location
|
||||
*/
|
||||
public function getLocation()
|
||||
{
|
||||
return $this->location;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the location
|
||||
*
|
||||
* @param \EP\EpEvents\Domain\Model\Location $location
|
||||
* @return void
|
||||
*/
|
||||
public function setLocation(\EP\EpEvents\Domain\Model\Location $location)
|
||||
{
|
||||
$this->location = $location;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a Activity
|
||||
*
|
||||
* @param \EP\EpEvents\Domain\Model\Activity $activity
|
||||
* @return void
|
||||
*/
|
||||
public function addActivity(\EP\EpEvents\Domain\Model\Activity $activity)
|
||||
{
|
||||
$this->activities->attach($activity);
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a Activity
|
||||
*
|
||||
* @param \EP\EpEvents\Domain\Model\Activity $activityToRemove The Activity to be removed
|
||||
* @return void
|
||||
*/
|
||||
public function removeActivity(\EP\EpEvents\Domain\Model\Activity $activityToRemove)
|
||||
{
|
||||
$this->activities->detach($activityToRemove);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the activities
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\EP\EpEvents\Domain\Model\Activity> $activities
|
||||
*/
|
||||
public function getActivities()
|
||||
{
|
||||
return $this->activities;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the activities
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\EP\EpEvents\Domain\Model\Activity> $activities
|
||||
* @return void
|
||||
*/
|
||||
public function setActivities(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $activities)
|
||||
{
|
||||
$this->activities = $activities;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the configuratorType
|
||||
*
|
||||
* @return int $configuratorType
|
||||
*/
|
||||
public function getConfiguratorType()
|
||||
{
|
||||
return $this->configuratorType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the configuratorType
|
||||
*
|
||||
* @param int $configuratorType
|
||||
* @return void
|
||||
*/
|
||||
public function setConfiguratorType($configuratorType)
|
||||
{
|
||||
$this->configuratorType = $configuratorType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getDetailPage()
|
||||
{
|
||||
return $this->detailPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $detailPage
|
||||
*/
|
||||
public function setDetailPage($detailPage)
|
||||
{
|
||||
$this->detailPage = $detailPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getConfiguratorTypeLabel()
|
||||
{
|
||||
return $this->configuratorTypeLabels[$this->configuratorType];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Model;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2018 Björn Fromme <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
class Search
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $query;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $pageUid;
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @param null $pageUid
|
||||
*/
|
||||
public function __construct($query = null, $pageUid = null)
|
||||
{
|
||||
$this->setQuery($query);
|
||||
$this->setPageUid($pageUid);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getQuery()
|
||||
{
|
||||
return $this->query;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
*/
|
||||
public function setQuery($query)
|
||||
{
|
||||
$this->query = $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getPageUid()
|
||||
{
|
||||
return $this->pageUid;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $pageUid
|
||||
*/
|
||||
public function setPageUid($pageUid)
|
||||
{
|
||||
$this->pageUid = $pageUid;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Model;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
/**
|
||||
* Testimonial
|
||||
*/
|
||||
class Testimonial extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
{
|
||||
|
||||
/**
|
||||
* clientName
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $clientName = '';
|
||||
|
||||
/**
|
||||
* clientImage
|
||||
*
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $clientImage = null;
|
||||
|
||||
/**
|
||||
* quote
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $quote = '';
|
||||
|
||||
/**
|
||||
* Returns the clientName
|
||||
*
|
||||
* @return string $clientName
|
||||
*/
|
||||
public function getClientName()
|
||||
{
|
||||
return $this->clientName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the clientName
|
||||
*
|
||||
* @param string $clientName
|
||||
* @return void
|
||||
*/
|
||||
public function setClientName($clientName)
|
||||
{
|
||||
$this->clientName = $clientName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the clientImage
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $clientImage
|
||||
*/
|
||||
public function getClientImage()
|
||||
{
|
||||
return $this->clientImage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the clientImage
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $clientImage
|
||||
* @return void
|
||||
*/
|
||||
public function setClientImage(\TYPO3\CMS\Extbase\Domain\Model\FileReference $clientImage)
|
||||
{
|
||||
$this->clientImage = $clientImage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the quote
|
||||
*
|
||||
* @return string $quote
|
||||
*/
|
||||
public function getQuote()
|
||||
{
|
||||
return $this->quote;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the quote
|
||||
*
|
||||
* @param string $quote
|
||||
* @return void
|
||||
*/
|
||||
public function setQuote($quote)
|
||||
{
|
||||
$this->quote = $quote;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,252 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Model;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
/**
|
||||
* Traveltype
|
||||
*/
|
||||
class Traveltype extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $title = '';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $subtitle = '';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $headertext = '';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $subheadline = '';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $description = '';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $bannertext = '';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $buttonlabel = '';
|
||||
|
||||
/**
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageHeader;
|
||||
|
||||
/**
|
||||
* @var \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
protected $imageBanner;
|
||||
|
||||
/**
|
||||
* configuratorType
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $configuratorType = 0;
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getTitle()
|
||||
{
|
||||
return $this->title;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $title
|
||||
*/
|
||||
public function setTitle($title)
|
||||
{
|
||||
$this->title = $title;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getSubtitle()
|
||||
{
|
||||
return $this->subtitle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $subtitle
|
||||
*/
|
||||
public function setSubtitle($subtitle)
|
||||
{
|
||||
$this->subtitle = $subtitle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getHeadertext()
|
||||
{
|
||||
return $this->headertext;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $headertext
|
||||
*/
|
||||
public function setHeadertext($headertext)
|
||||
{
|
||||
$this->headertext = $headertext;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getSubheadline()
|
||||
{
|
||||
return $this->subheadline;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $subheadline
|
||||
*/
|
||||
public function setSubheadline($subheadline)
|
||||
{
|
||||
$this->subheadline = $subheadline;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDescription()
|
||||
{
|
||||
return $this->description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $description
|
||||
*/
|
||||
public function setDescription($description)
|
||||
{
|
||||
$this->description = $description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getBannertext()
|
||||
{
|
||||
return $this->bannertext;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $bannertext
|
||||
*/
|
||||
public function setBannertext($bannertext)
|
||||
{
|
||||
$this->bannertext = $bannertext;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getButtonlabel()
|
||||
{
|
||||
return $this->buttonlabel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $buttonlabel
|
||||
*/
|
||||
public function setButtonlabel($buttonlabel)
|
||||
{
|
||||
$this->buttonlabel = $buttonlabel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the imageHeader
|
||||
*
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader
|
||||
*/
|
||||
public function getImageHeader()
|
||||
{
|
||||
return $this->imageHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the imageHeader
|
||||
*
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader
|
||||
* @return void
|
||||
*/
|
||||
public function setImageHeader(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageHeader)
|
||||
{
|
||||
$this->imageHeader = $imageHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \TYPO3\CMS\Extbase\Domain\Model\FileReference
|
||||
*/
|
||||
public function getImageBanner()
|
||||
{
|
||||
return $this->imageBanner;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \TYPO3\CMS\Extbase\Domain\Model\FileReference $imageBanner
|
||||
*/
|
||||
public function setImageBanner(\TYPO3\CMS\Extbase\Domain\Model\FileReference $imageBanner)
|
||||
{
|
||||
$this->imageBanner = $imageBanner;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int $configuratorType
|
||||
*/
|
||||
public function getConfiguratorType()
|
||||
{
|
||||
return $this->configuratorType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $configuratorType
|
||||
* @return void
|
||||
*/
|
||||
public function setConfiguratorType($configuratorType)
|
||||
{
|
||||
$this->configuratorType = $configuratorType;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Repository;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings;
|
||||
|
||||
class AbstractRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
|
||||
{
|
||||
public function initializeObject()
|
||||
{
|
||||
/** @var $querySettings \TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings */
|
||||
$querySettings = $this->objectManager->get(Typo3QuerySettings::class);
|
||||
$querySettings->setRespectStoragePage(FALSE);
|
||||
$this->setDefaultQuerySettings($querySettings);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Repository;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
class ActivityRepository extends AbstractRepository
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Repository;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use TYPO3\CMS\Extbase\Persistence\QueryInterface;
|
||||
|
||||
class ContactRepository extends AbstractRepository
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $defaultOrderings = [
|
||||
'sorting' => QueryInterface::ORDER_ASCENDING,
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Repository;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use EP\EpEvents\Domain\Model\Activity;
|
||||
use EP\EpEvents\Domain\Model\Offer;
|
||||
use TYPO3\CMS\Extbase\Persistence\QueryInterface;
|
||||
|
||||
class OfferRepository extends AbstractRepository
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $defaultOrderings = [
|
||||
'nameInternal' => QueryInterface::ORDER_ASCENDING,
|
||||
];
|
||||
|
||||
/**
|
||||
* @param array $configuration
|
||||
* @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface
|
||||
*/
|
||||
public function findByConfiguration(array $configuration)
|
||||
{
|
||||
if (array_sum($configuration) === 0) {
|
||||
return [];
|
||||
}
|
||||
$query = $this->createQuery();
|
||||
$constraints = [
|
||||
$query->logicalNot($query->equals('type', Offer::TYPE_CLIENT))
|
||||
];
|
||||
if ($configuration['offerUid']) {
|
||||
$constraints[] = $query->logicalNot($query->equals('uid', $configuration['offerUid']));
|
||||
}
|
||||
if ($configuration['travelType'] > 0) {
|
||||
$constraints[] = $query->equals('configuratorType', $configuration['travelType']);
|
||||
}
|
||||
if ($configuration['locationDistance'] > 0) {
|
||||
$constraints[] = $query->equals('location.configuratorDistance', $configuration['locationDistance']);
|
||||
}
|
||||
if ($configuration['locationType'] > 0) {
|
||||
$constraints[] = $query->equals('location.configuratorType', $configuration['locationType']);
|
||||
}
|
||||
if ($configuration['hotelType'] > 0) {
|
||||
$constraints[] = $query->equals('hotel.configuratorType', $configuration['hotelType']);
|
||||
}
|
||||
if ($configuration['activityType'] > 0) {
|
||||
$constraints[] = $query->equals('activities.configuratorType', $configuration['activityType']);
|
||||
}
|
||||
return $query->matching($query->logicalAnd($constraints))->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Activity $activity
|
||||
* @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface
|
||||
*/
|
||||
public function findByActivity(Activity $activity)
|
||||
{
|
||||
$query = $this->createQuery();
|
||||
$query->matching(
|
||||
$query->logicalAnd(
|
||||
$query->contains('activities', $activity),
|
||||
$query->equals('type', Offer::TYPE_EXAMPLE)
|
||||
)
|
||||
);
|
||||
return $query->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $queryString
|
||||
* @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface
|
||||
*/
|
||||
public function search($queryString)
|
||||
{
|
||||
$query = $this->createQuery();
|
||||
$constraints = [
|
||||
$query->like('nameInternal', '%' . $queryString . '%'),
|
||||
$query->like('header', '%' . $queryString . '%'),
|
||||
$query->like('services', '%' . $queryString . '%'),
|
||||
$query->like('location.name', '%' . $queryString . '%'),
|
||||
];
|
||||
return $query->matching(
|
||||
$query->logicalAnd(
|
||||
$query->greaterThan('detailPage', 0),
|
||||
$query->logicalOr($constraints)
|
||||
)
|
||||
)->execute();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Repository;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
class TestimonialRepository extends AbstractRepository
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Domain\Repository;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
class TraveltypeRepository extends AbstractRepository
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Form;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
class UrlField
|
||||
{
|
||||
|
||||
public function render($parameters, $fObj)
|
||||
{
|
||||
$uid = $parameters['row']['uid'];
|
||||
$urlSegment = $parameters['row']['url'];
|
||||
if ($uid && $urlSegment) {
|
||||
$url = \tx_pagepath_api::getPagePath(889, [
|
||||
'tx_epevents_offer' => [
|
||||
'controller' => 'offer',
|
||||
'action' => 'show',
|
||||
'offer' => $uid,
|
||||
]
|
||||
]);
|
||||
return urldecode($url);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Hooks;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use TYPO3\CMS\Core\DataHandling\DataHandler;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
|
||||
use TYPO3\CMS\Extbase\Object\ObjectManager;
|
||||
|
||||
class Tcemain
|
||||
{
|
||||
|
||||
/**
|
||||
* @param array $fields
|
||||
* @param string $table
|
||||
* @param int $id
|
||||
* @param DataHandler $obj
|
||||
*/
|
||||
public function processDatamap_preProcessFieldArray(array &$fields, $table, $id, DataHandler $obj)
|
||||
{
|
||||
if ($table === 'tx_epevents_domain_model_offer') {
|
||||
// Set default value for url segment
|
||||
if (empty($fields['url'])) {
|
||||
$fields['url'] = $fields['name'] . date('dmy');
|
||||
}
|
||||
// Clear realurl cache for detail page
|
||||
$settings = $this->getSettings();
|
||||
$detailPageUid = $settings['plugin']['tx_epevents']['settings']['offerDetailPageUid'];
|
||||
if ((int) $detailPageUid > 0) {
|
||||
$GLOBALS['TYPO3_DB']->exec_DELETEquery('tx_realurl_urldata', 'page_id=' . $detailPageUid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
protected function getSettings()
|
||||
{
|
||||
$objectManager = GeneralUtility::makeInstance(ObjectManager::class);
|
||||
$configurationManager = $objectManager->get(ConfigurationManagerInterface::class);
|
||||
return GeneralUtility::removeDotsFromTS(
|
||||
$configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\Service;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use TYPO3\CMS\Core\Mail\MailMessage;
|
||||
use TYPO3\CMS\Core\SingletonInterface;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
|
||||
use TYPO3\CMS\Fluid\View\StandaloneView;
|
||||
|
||||
class EmailService implements SingletonInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var ConfigurationManagerInterface
|
||||
*/
|
||||
protected $configurationManager;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $settings;
|
||||
|
||||
/**
|
||||
* @param ConfigurationManagerInterface $manager
|
||||
*/
|
||||
public function injectConfigurationManager(ConfigurationManagerInterface $manager)
|
||||
{
|
||||
$this->configurationManager = $manager;
|
||||
$settings = GeneralUtility::removeDotsFromTS(
|
||||
$this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT)
|
||||
);
|
||||
$this->settings = $settings['plugin']['tx_epevents'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $toEmail
|
||||
* @param string $toName
|
||||
* @param string $subject
|
||||
* @param string $templateName
|
||||
* @param array $variables
|
||||
* @return bool
|
||||
*/
|
||||
public function send($toEmail, $toName, $subject, $templateName, array $variables = [])
|
||||
{
|
||||
$fromEmail = $this->settings['settings']['inquiryToEmail'];
|
||||
$fromName = $this->settings['settings']['inquiryToName'];
|
||||
|
||||
/** @var MailMessage $message */
|
||||
$message = GeneralUtility::makeInstance(MailMessage::class);
|
||||
$message
|
||||
->setTo([$toEmail => $toName])
|
||||
->setFrom([$fromEmail => $fromName])
|
||||
->setSubject($subject)
|
||||
;
|
||||
|
||||
$view = $this->getView($templateName);
|
||||
$view->assignMultiple($variables);
|
||||
$message->setBody($view->render(), 'text/html');
|
||||
|
||||
$message->send();
|
||||
|
||||
return $message->isSent();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $templateName
|
||||
* @param string $format
|
||||
* @return StandaloneView
|
||||
*/
|
||||
protected function getView($templateName, $format = 'html')
|
||||
{
|
||||
/** @var StandaloneView $view */
|
||||
$view = GeneralUtility::makeInstance(StandaloneView::class);
|
||||
$view->setFormat($format);
|
||||
$view->getRequest()->setControllerExtensionName('ep_events');
|
||||
|
||||
$view->setTemplateRootPaths($this->settings['view']['templateRootPaths']);
|
||||
$view->setLayoutRootPaths($this->settings['view']['layoutRootPaths']);
|
||||
$view->setPartialRootPaths($this->settings['view']['partialRootPaths']);
|
||||
$view->setTemplate($templateName);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\ViewHelpers;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
|
||||
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
|
||||
|
||||
class ConfiguratorTypeLabelsViewHelper extends AbstractViewHelper
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $settings;
|
||||
|
||||
/**
|
||||
* @param \TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface $configurationManager
|
||||
*/
|
||||
public function injectConfigurationManager(ConfigurationManagerInterface $configurationManager)
|
||||
{
|
||||
$this->settings = $configurationManager->getConfiguration(
|
||||
ConfigurationManagerInterface::CONFIGURATION_TYPE_SETTINGS,
|
||||
'epevents'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $type
|
||||
* @param string $values
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function render($type, $values)
|
||||
{
|
||||
if (empty($values)) {
|
||||
return 'Keine Angabe';
|
||||
}
|
||||
$types = [];
|
||||
$indexes = GeneralUtility::trimExplode(',', $values);
|
||||
foreach ($indexes as $index)
|
||||
{
|
||||
$types[] = $this->settings['configurator']['options'][$type][$index];
|
||||
}
|
||||
return implode(', ', $types);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\ViewHelpers;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
|
||||
|
||||
class SectionCssClassViewHelper extends AbstractViewHelper
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $cssClasses = [
|
||||
1 => 'incentives',
|
||||
2 => 'teambuilding',
|
||||
3 => 'meetings',
|
||||
4 => 'events',
|
||||
];
|
||||
|
||||
/**
|
||||
* @param string $sectionValue
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function render($sectionValue)
|
||||
{
|
||||
if (array_key_exists($sectionValue, $this->cssClasses)) {
|
||||
return 'section-' . $this->cssClasses[$sectionValue];
|
||||
}
|
||||
|
||||
return 'section-default';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\ViewHelpers;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
|
||||
|
||||
class SectionIconViewHelper extends AbstractViewHelper
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $icons = [
|
||||
1 => 'icon_incentives',
|
||||
2 => 'icon_teambuilding',
|
||||
3 => 'icon_meetings',
|
||||
4 => 'icon_events',
|
||||
];
|
||||
|
||||
/**
|
||||
* @param string $sectionValue
|
||||
* @param bool $opaque
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function render($sectionValue, $opaque = false)
|
||||
{
|
||||
$icon = '';
|
||||
if (array_key_exists($sectionValue, $this->icons)) {
|
||||
$icon = $this->icons[$sectionValue];
|
||||
if ($opaque) {
|
||||
$icon .= '_opaque';
|
||||
}
|
||||
$icon .= '.svg';
|
||||
}
|
||||
|
||||
return $icon;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
namespace EP\EpEvents\ViewHelpers;
|
||||
|
||||
/***************************************************************
|
||||
*
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2017 Björn Fromme <[email protected]>, dreipunktnull
|
||||
* Cedric Ziel <[email protected]>, dreipunktnull
|
||||
*
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
* free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The GNU General Public License can be found at
|
||||
* http://www.gnu.org/copyleft/gpl.html.
|
||||
*
|
||||
* This script is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* This copyright notice MUST APPEAR in all copies of the script!
|
||||
***************************************************************/
|
||||
|
||||
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
|
||||
|
||||
class SoftHyphenViewHelper extends AbstractViewHelper
|
||||
{
|
||||
/**
|
||||
* @param string $string
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function render($string = null)
|
||||
{
|
||||
if ($string === null) {
|
||||
$string = $this->renderChildren();
|
||||
}
|
||||
|
||||
return str_replace('--', '­', $string);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
deny from all
|
||||
@@ -0,0 +1,47 @@
|
||||
<T3DataStructure>
|
||||
<meta>
|
||||
<langDisable>1</langDisable>
|
||||
</meta>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Konfiguration</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.activityType>
|
||||
<TCEforms>
|
||||
<exclude>0</exclude>
|
||||
<label>Programmtyp:</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">Outdoor & Action</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="2" type="array">
|
||||
<numIndex index="0">Event-Gastronomie</numIndex>
|
||||
<numIndex index="1">2</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="3" type="array">
|
||||
<numIndex index="0">Sightseeing</numIndex>
|
||||
<numIndex index="1">3</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="4" type="array">
|
||||
<numIndex index="0">Spezial</numIndex>
|
||||
<numIndex index="1">4</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
<minitems>1</minitems>
|
||||
<maxitems>1</maxitems>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</settings.activityType>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
||||
@@ -0,0 +1,183 @@
|
||||
<T3DataStructure>
|
||||
<meta>
|
||||
<langDisable>1</langDisable>
|
||||
</meta>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Konfiguration</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.travelType>
|
||||
<TCEforms>
|
||||
<exclude>0</exclude>
|
||||
<label>Art der Reise:</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">Keine Auswahl</numIndex>
|
||||
<numIndex index="1">0</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">Incentives</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="2" type="array">
|
||||
<numIndex index="0">Teambuilding</numIndex>
|
||||
<numIndex index="1">2</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="3" type="array">
|
||||
<numIndex index="0">Meeting</numIndex>
|
||||
<numIndex index="1">3</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="4" type="array">
|
||||
<numIndex index="0">Corporate Event</numIndex>
|
||||
<numIndex index="1">4</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
<minitems>0</minitems>
|
||||
<maxitems>1</maxitems>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</settings.travelType>
|
||||
<settings.locationType>
|
||||
<TCEforms>
|
||||
<exclude>0</exclude>
|
||||
<label>Destination:</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">Keine Auswahl</numIndex>
|
||||
<numIndex index="1">0</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">Meer</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="2" type="array">
|
||||
<numIndex index="0">Berge</numIndex>
|
||||
<numIndex index="1">2</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="3" type="array">
|
||||
<numIndex index="0">Städte</numIndex>
|
||||
<numIndex index="1">3</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="4" type="array">
|
||||
<numIndex index="0">Spezial</numIndex>
|
||||
<numIndex index="1">4</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
<minitems>0</minitems>
|
||||
<maxitems>1</maxitems>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</settings.locationType>
|
||||
<settings.locationDistance>
|
||||
<TCEforms>
|
||||
<exclude>0</exclude>
|
||||
<label>Entfernung:</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">Keine Auswahl</numIndex>
|
||||
<numIndex index="1">0</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">Deutschland</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="2" type="array">
|
||||
<numIndex index="0">Europa</numIndex>
|
||||
<numIndex index="1">2</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="3" type="array">
|
||||
<numIndex index="0">Welt</numIndex>
|
||||
<numIndex index="1">3</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
<minitems>0</minitems>
|
||||
<maxitems>1</maxitems>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</settings.locationDistance>
|
||||
<settings.hotelType>
|
||||
<TCEforms>
|
||||
<exclude>0</exclude>
|
||||
<label>Unterkunft:</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">Keine Auswahl</numIndex>
|
||||
<numIndex index="1">0</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">3-Sterne</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="2" type="array">
|
||||
<numIndex index="0">4-Sterne</numIndex>
|
||||
<numIndex index="1">2</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="3" type="array">
|
||||
<numIndex index="0">5-Sterne</numIndex>
|
||||
<numIndex index="1">3</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="4" type="array">
|
||||
<numIndex index="0">Spezial</numIndex>
|
||||
<numIndex index="1">4</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
<minitems>0</minitems>
|
||||
<maxitems>1</maxitems>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</settings.hotelType>
|
||||
<settings.activityType>
|
||||
<TCEforms>
|
||||
<exclude>0</exclude>
|
||||
<label>Programm:</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<numIndex index="0">Keine Auswahl</numIndex>
|
||||
<numIndex index="1">0</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<numIndex index="0">Outdoor & Action</numIndex>
|
||||
<numIndex index="1">1</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="2" type="array">
|
||||
<numIndex index="0">Event-Gastronomie</numIndex>
|
||||
<numIndex index="1">2</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="3" type="array">
|
||||
<numIndex index="0">Sightseeing</numIndex>
|
||||
<numIndex index="1">3</numIndex>
|
||||
</numIndex>
|
||||
<numIndex index="4" type="array">
|
||||
<numIndex index="0">Spezial</numIndex>
|
||||
<numIndex index="1">4</numIndex>
|
||||
</numIndex>
|
||||
</items>
|
||||
<minitems>0</minitems>
|
||||
<maxitems>1</maxitems>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</settings.activityType>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
||||
@@ -0,0 +1,158 @@
|
||||
mod {
|
||||
web_layout.BackendLayouts {
|
||||
frontpageEpEvents {
|
||||
title = EP Events: Startseite
|
||||
config {
|
||||
backend_layout {
|
||||
colCount = 2
|
||||
rowCount = 5
|
||||
rows {
|
||||
1 {
|
||||
columns {
|
||||
1 {
|
||||
name = Content
|
||||
colPos = 3
|
||||
colspan = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
2 {
|
||||
columns {
|
||||
1 {
|
||||
name = Kachel
|
||||
colPos = 10
|
||||
}
|
||||
2 {
|
||||
name = Kachel
|
||||
colPos = 11
|
||||
}
|
||||
}
|
||||
}
|
||||
3 {
|
||||
columns {
|
||||
1 {
|
||||
name = Kachel
|
||||
colPos = 12
|
||||
}
|
||||
2 {
|
||||
name = Kachel
|
||||
colPos = 13
|
||||
}
|
||||
}
|
||||
}
|
||||
4 {
|
||||
columns {
|
||||
1 {
|
||||
name = Content
|
||||
colPos = 0
|
||||
colspan = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
5 {
|
||||
columns {
|
||||
1 {
|
||||
name = Footer Content
|
||||
colPos = 4
|
||||
colspan = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
subpageEpEvents {
|
||||
title = EP Events: Unterseite
|
||||
config {
|
||||
backend_layout {
|
||||
colCount = 1
|
||||
rowCount = 2
|
||||
rows {
|
||||
1 {
|
||||
columns {
|
||||
1 {
|
||||
name = Header
|
||||
colPos = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
2 {
|
||||
columns {
|
||||
1 {
|
||||
name = Content
|
||||
colPos = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
categoryEpEvents {
|
||||
title = EP Events: Kategorie
|
||||
config {
|
||||
backend_layout {
|
||||
colCount = 1
|
||||
rowCount = 2
|
||||
rows {
|
||||
1 {
|
||||
columns {
|
||||
1 {
|
||||
name = Content (Slider etc.)
|
||||
colPos = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
2 {
|
||||
columns {
|
||||
1 {
|
||||
name = Footer Content
|
||||
colPos = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
offerEpEvents {
|
||||
title = EP Events: Beispielangebot
|
||||
config {
|
||||
backend_layout {
|
||||
colCount = 1
|
||||
rowCount = 1
|
||||
rows {
|
||||
1 {
|
||||
columns {
|
||||
1 {
|
||||
name = Content (Slider etc.)
|
||||
colPos = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
activityEpEvents {
|
||||
title = EP Events: Programmpunkt
|
||||
config {
|
||||
backend_layout {
|
||||
colCount = 1
|
||||
rowCount = 1
|
||||
rows {
|
||||
1 {
|
||||
columns {
|
||||
1 {
|
||||
name = Content
|
||||
colPos = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
RTE {
|
||||
default {
|
||||
contentCSS = EXT:ep_events/Resources/Public/css/rte.min.css
|
||||
showButtons (
|
||||
blockstylelabel, blockstyle, textstylelabel, textstyle, linebreak,
|
||||
formatblock, bar, bold, italic, bar, orderedlist, unorderedlist,
|
||||
indent, bar, link, unlink, removeformat, linebreak,
|
||||
table, toggleborders, tableproperties, rowproperties, rowinsertabove,
|
||||
rowinsertunder, rowdelete, rowsplit, columninsertbefore, columninsertafter,
|
||||
columndelete, columnsplit, cellproperties, cellinsertbefore, cellinsertafter,
|
||||
celldelete, cellsplit, cellmerge, image, insertcharacter, chMode, pastetoggle
|
||||
)
|
||||
keepButtonGroupTogether = 1
|
||||
|
||||
proc {
|
||||
allowedClasses = coloured-list, footnote-list
|
||||
entryHTMLparser_db {
|
||||
tags {
|
||||
span.fixAttrib.style.unset = 1
|
||||
span.rmTagIfNoAttrib = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buttons {
|
||||
formatblock.removeItems = h1,h5,h6,section,div,footer,header,nav,aside,blockquote,pre,address,article
|
||||
pastetoggle.setActiveOnRteOpen = 1
|
||||
blockstyle.tags.ul.allowedClasses = coloured-list, footnote-list
|
||||
}
|
||||
}
|
||||
|
||||
classes {
|
||||
button.name = Button
|
||||
buttonfull.name = Button (volle Breite)
|
||||
coloured-list.name = Farbige Bullets
|
||||
footnote-list.name = Fußnote
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
TCEFORM {
|
||||
tt_content {
|
||||
# Disable image orientations
|
||||
imageorient.removeItems = 0,1,2,8,9,25,26
|
||||
imageorient.disabled = 1
|
||||
|
||||
# Disable image columns
|
||||
imagecols.disabled = 1
|
||||
|
||||
# Disable image norows
|
||||
image_noRows.disabled = 1
|
||||
|
||||
# Disable image border
|
||||
imageborder.disabled = 1
|
||||
|
||||
# Disable image width
|
||||
imagewidth.disabled = 1
|
||||
|
||||
# Disable image height
|
||||
imageheight.disabled = 1
|
||||
|
||||
# Disable image link
|
||||
image_link.disabled = 1
|
||||
|
||||
# Enable image zoom
|
||||
image_zoom = 1
|
||||
|
||||
# Disable image compression
|
||||
image_compression.disabled = 1
|
||||
|
||||
# Disable image effects
|
||||
image_effects.disabled = 1
|
||||
|
||||
# Disable image frames
|
||||
image_frames.disabled = 1
|
||||
|
||||
# Disable image caption position
|
||||
imagecaption_position.disabled = 1
|
||||
|
||||
# Disable layout field for all other types
|
||||
layout.types.text.disabled = 1
|
||||
layout.types.textpic.disabled = 1
|
||||
layout.types.bullets.disabled = 1
|
||||
layout.types.html.disabled = 1
|
||||
layout.types.image.disabled = 1
|
||||
layout.types.list.disabled = 1
|
||||
layout.types.menu.disabled = 1
|
||||
layout.types.shortcut.disabled = 1
|
||||
layout.types.table.disabled = 1
|
||||
layout.types.uploads.disabled = 1
|
||||
layout.types.mailform.disabled = 1
|
||||
layout.types.login.disabled = 1
|
||||
layout.types.header.disabled = 1
|
||||
|
||||
layout.types.herounit {
|
||||
altLabels {
|
||||
1 = Groß
|
||||
}
|
||||
removeItems = 2,3
|
||||
}
|
||||
|
||||
header_layout {
|
||||
addItems {
|
||||
10 = H1 (Icon, opt. Subheadline)
|
||||
20 = H2 (Icon, opt. Subheadline)
|
||||
}
|
||||
removeItems = 4,5
|
||||
altLabels {
|
||||
1 = H1 (opt. Subheadline)
|
||||
2 = H2 (opt. Subheadline)
|
||||
3 = H3
|
||||
}
|
||||
}
|
||||
|
||||
# Table background color
|
||||
table_bgColor.disabled = 1
|
||||
|
||||
# Table border
|
||||
table_border.disabled = 1
|
||||
|
||||
# Table cell spacing
|
||||
table_cellspacing.disabled = 1
|
||||
|
||||
# Table cell padding
|
||||
table_cellpadding.disabled = 1
|
||||
|
||||
# File size
|
||||
filelink_size.disabled = 1
|
||||
|
||||
# Upload description
|
||||
uploads_description.disabled = 1
|
||||
|
||||
# Upload type
|
||||
uploads_type.disabled = 1
|
||||
|
||||
# Disable description
|
||||
rowDescription.disabled = 1
|
||||
|
||||
# Disable categories
|
||||
categories.disabled = 1
|
||||
|
||||
# Enable header link
|
||||
header_link = 1
|
||||
|
||||
# Disable header position
|
||||
header_position.disabled = 1
|
||||
}
|
||||
|
||||
pages {
|
||||
cache_tags.disabled = 1
|
||||
fe_login_mode.disabled = 1
|
||||
layout.disabled = 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
mod {
|
||||
wizards.newContentElement.wizardItems {
|
||||
epevents {
|
||||
header = EP Events
|
||||
elements {
|
||||
tile {
|
||||
iconIdentifier = content-image
|
||||
title = Kachel
|
||||
description = Kachel für Reisearten auf der Startseite
|
||||
tt_content_defValues.CType = tile
|
||||
}
|
||||
statement {
|
||||
iconIdentifier = content-image
|
||||
title = Statement
|
||||
description = Statment mit Button
|
||||
tt_content_defValues.CType = statement
|
||||
}
|
||||
herounit {
|
||||
iconIdentifier = content-image
|
||||
title = Herounit
|
||||
description = Seitenheader
|
||||
tt_content_defValues.CType = herounit
|
||||
}
|
||||
banner {
|
||||
iconIdentifier = content-image
|
||||
title = Banner
|
||||
description = Banner für Kategorieseiten
|
||||
tt_content_defValues.CType = banner
|
||||
}
|
||||
}
|
||||
show := addToList(tile, statement, herounit, banner)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/PageTS/Mod/WebLayout/BackendLayouts.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/PageTS/Mod/Wizards/NewContentElement.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/PageTS/RTE.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/PageTS/TCEFORM.ts">
|
||||
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die ();
|
||||
|
||||
call_user_func(function() {
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
'pages',
|
||||
'doktype',
|
||||
[
|
||||
'Kategorie-Seite',
|
||||
\EP\EpEvents\Constants::PAGETYPE_CATEGORY,
|
||||
'apps-pagetree-category-page',
|
||||
],
|
||||
'1',
|
||||
'after'
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
|
||||
$GLOBALS['TCA']['pages'],
|
||||
[
|
||||
'ctrl' => [
|
||||
'typeicon_classes' => [
|
||||
\EP\EpEvents\Constants::PAGETYPE_CATEGORY => 'apps-pagetree-category-page',
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
(string) \EP\EpEvents\Constants::PAGETYPE_CATEGORY => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Frontend\Page\PageRepository::DOKTYPE_DEFAULT],
|
||||
]
|
||||
]
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
'pages',
|
||||
'doktype',
|
||||
[
|
||||
'Beispiel-Seite',
|
||||
\EP\EpEvents\Constants::PAGETYPE_OFFER,
|
||||
'apps-pagetree-example-page',
|
||||
],
|
||||
'1',
|
||||
'after'
|
||||
);
|
||||
\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
|
||||
$GLOBALS['TCA']['pages'],
|
||||
[
|
||||
'ctrl' => [
|
||||
'typeicon_classes' => [
|
||||
\EP\EpEvents\Constants::PAGETYPE_OFFER => 'apps-pagetree-example-page',
|
||||
],
|
||||
],
|
||||
'types' => [
|
||||
(string) \EP\EpEvents\Constants::PAGETYPE_OFFER => $GLOBALS['TCA']['pages']['types'][\TYPO3\CMS\Frontend\Page\PageRepository::DOKTYPE_DEFAULT],
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
$temporaryColumns = [
|
||||
'tx_epevents_traveltype' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Reiseart',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['Keine Zuordnung', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_epevents_domain_model_traveltype',
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
]
|
||||
],
|
||||
'tx_epevents_offer' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Angebot/Beispielangebot',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['Keine Zuordnung', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_epevents_domain_model_offer',
|
||||
'foreign_table_where' => 'AND tx_epevents_domain_model_offer.type = 1 ORDER BY tx_epevents_domain_model_offer.name_internal',
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
]
|
||||
],
|
||||
];
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
|
||||
'pages',
|
||||
$temporaryColumns
|
||||
);
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'pages',
|
||||
'--div--;Konfigurator,
|
||||
tx_epevents_traveltype',
|
||||
(string) \EP\EpEvents\Constants::PAGETYPE_CATEGORY
|
||||
);
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
|
||||
'pages',
|
||||
'--div--;Konfigurator,
|
||||
tx_epevents_offer',
|
||||
(string) \EP\EpEvents\Constants::PAGETYPE_OFFER
|
||||
);
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
|
||||
'ep_events',
|
||||
'Configuration/TypoScript/pageTSconfig.ts',
|
||||
'EP Events'
|
||||
);
|
||||
|
||||
});
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
call_user_func(function() {
|
||||
|
||||
$temporaryColumns = [
|
||||
'tx_epevents_configurator_travel_type' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Reiseart',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['Keine Zuordnung', 0],
|
||||
['Incentive', 1],
|
||||
['Teambuilding', 2],
|
||||
['Meeting', 3],
|
||||
['Corporate Event', 4],
|
||||
],
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1,
|
||||
]
|
||||
],
|
||||
];
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', $temporaryColumns);
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(
|
||||
'tt_content',
|
||||
'headers',
|
||||
'tx_epevents_configurator_travel_type',
|
||||
'before:header_layout'
|
||||
);
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(
|
||||
'tt_content',
|
||||
'header',
|
||||
'tx_epevents_configurator_travel_type',
|
||||
'before:header_layout'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['header']['columnsOverrides'] = [
|
||||
'header' => [
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 60,
|
||||
'rows' => 2,
|
||||
],
|
||||
],
|
||||
'tx_epevents_configurator_travel_type' => [
|
||||
'label' => 'Icon/Kategorie',
|
||||
],
|
||||
];
|
||||
|
||||
$pluginSignature = 'epevents_offerteasers';
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$pluginSignature, 'FILE:EXT:ep_events/Configuration/FlexForms/offers.xml'
|
||||
);
|
||||
|
||||
$pluginSignature = 'epevents_activityteasers';
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$pluginSignature, 'FILE:EXT:ep_events/Configuration/FlexForms/activities.xml'
|
||||
);
|
||||
|
||||
});
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
call_user_func(function() {
|
||||
|
||||
$frontendLanguageFilePrefix = 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:';
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
'tt_content',
|
||||
'CType',
|
||||
[
|
||||
'Banner',
|
||||
'banner',
|
||||
'content-image'
|
||||
],
|
||||
'herounit',
|
||||
'after'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['banner'] = [
|
||||
'showitem' => '
|
||||
--palette--;' . $frontendLanguageFilePrefix . 'palette.general;general,
|
||||
tx_epevents_configurator_travel_type, bodytext, header, header_link, assets
|
||||
',
|
||||
'columnsOverrides' => [
|
||||
'header' => [
|
||||
'label' => 'Button Label',
|
||||
],
|
||||
'header_link' => [
|
||||
'label' => 'Button Link',
|
||||
],
|
||||
'bodytext' => [
|
||||
'label' => 'Text',
|
||||
],
|
||||
'assets' => [
|
||||
'label' => 'Hintergrundbild',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('assets', [
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'Hinzufügen'
|
||||
],
|
||||
'foreign_types' => $GLOBALS['TCA']['tt_content']['columns']['image']['config']['foreign_types'],
|
||||
'maxitems' => 1,
|
||||
'minitems' => 1,
|
||||
], 'jpg')
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
});
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
call_user_func(function() {
|
||||
|
||||
$frontendLanguageFilePrefix = 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:';
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
'tt_content',
|
||||
'CType',
|
||||
[
|
||||
'Herounit',
|
||||
'herounit',
|
||||
'content-image'
|
||||
],
|
||||
'statement',
|
||||
'after'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['palettes']['herounit_layout'] = [
|
||||
'showitem' => 'layout, tx_epevents_configurator_travel_type',
|
||||
];
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['herounit'] = [
|
||||
'showitem' => '
|
||||
--palette--;' . $frontendLanguageFilePrefix . 'palette.general;general, --palette--;;herounit_layout,
|
||||
header, subheader, bodytext, assets
|
||||
',
|
||||
'columnsOverrides' => [
|
||||
'header' => [
|
||||
'label' => 'Titel',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 50,
|
||||
'rows' => 2,
|
||||
],
|
||||
],
|
||||
'subheader' => [
|
||||
'label' => 'Untertitel',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 50,
|
||||
'rows' => 2,
|
||||
],
|
||||
],
|
||||
'bodytext' => [
|
||||
'label' => 'Headertext',
|
||||
'config' => [
|
||||
'cols' => 80,
|
||||
'rows' => 4,
|
||||
'eval' => 'trim'
|
||||
],
|
||||
],
|
||||
'assets' => [
|
||||
'label' => 'Bild',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('assets', [
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'Hinzufügen'
|
||||
],
|
||||
'foreign_types' => $GLOBALS['TCA']['tt_content']['columns']['image']['config']['foreign_types'],
|
||||
'maxitems' => 1,
|
||||
'minitems' => 1,
|
||||
], 'jpg')
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
});
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
call_user_func(function() {
|
||||
|
||||
$frontendLanguageFilePrefix = 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:';
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
'tt_content',
|
||||
'CType',
|
||||
[
|
||||
'Statement',
|
||||
'statement',
|
||||
'content-image'
|
||||
],
|
||||
'tile',
|
||||
'after'
|
||||
);
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['statement'] = [
|
||||
'showitem' => '
|
||||
--palette--;' . $frontendLanguageFilePrefix . 'palette.general;general,
|
||||
tx_epevents_configurator_travel_type, bodytext, header, header_link
|
||||
',
|
||||
'columnsOverrides' => [
|
||||
'header' => [
|
||||
'label' => 'Button Label',
|
||||
'config' => [
|
||||
'size' => 32,
|
||||
],
|
||||
],
|
||||
'header_link' => [
|
||||
'label' => 'Button Link',
|
||||
],
|
||||
'bodytext' => [
|
||||
'label' => 'Text',
|
||||
'config' => [
|
||||
'cols' => 80,
|
||||
'rows' => 2,
|
||||
'eval' => 'trim,required'
|
||||
],
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
});
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3_MODE') or die();
|
||||
|
||||
call_user_func(function() {
|
||||
|
||||
$frontendLanguageFilePrefix = 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:';
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
|
||||
'tt_content',
|
||||
'CType',
|
||||
[
|
||||
'Kachel',
|
||||
'tile',
|
||||
'content-image'
|
||||
],
|
||||
'textmedia',
|
||||
'after'
|
||||
);
|
||||
|
||||
|
||||
$GLOBALS['TCA']['tt_content']['types']['tile'] = [
|
||||
'showitem' => '
|
||||
--palette--;' . $frontendLanguageFilePrefix . 'palette.general;general,
|
||||
tx_epevents_configurator_travel_type, header, header_link, bodytext,
|
||||
--div--;Bild,
|
||||
assets
|
||||
',
|
||||
'columnsOverrides' => [
|
||||
'header' => [
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 32,
|
||||
'rows' => 2,
|
||||
]
|
||||
],
|
||||
'bodytext' => [
|
||||
'label' => 'Teasertext',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 80,
|
||||
'eval' => 'trim,required'
|
||||
],
|
||||
],
|
||||
'assets' => [
|
||||
'label' => 'Teaserbild',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('assets', [
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'Hinzufügen'
|
||||
],
|
||||
'foreign_types' => $GLOBALS['TCA']['tt_content']['columns']['image']['config']['foreign_types'],
|
||||
'maxitems' => 1,
|
||||
'minitems' => 1,
|
||||
], 'jpg')
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
});
|
||||
@@ -0,0 +1,286 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:ep_events/Resources/Private/Language/locallang.xlf:tx_epevents_domain_model_activity',
|
||||
'label' => 'name_internal',
|
||||
'default_sortby' => 'ORDER BY name_internal',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'dividers2tabs' => TRUE,
|
||||
'versioningWS' => 2,
|
||||
'versioning_followPages' => TRUE,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'name,name_internal,description,image_teaser,image_header,image_offer,configurator_type,',
|
||||
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_activity.gif'
|
||||
],
|
||||
'interface' => [
|
||||
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, name_internal,
|
||||
keywords, description, bannertext, footertext, image_teaser, image_header, image_offer, configurator_type',
|
||||
],
|
||||
'types' => [
|
||||
'1' => [
|
||||
'showitem' => '--palette--;;general,
|
||||
--palette--;;naming, keywords, bannertext,
|
||||
--div--;Texte, description, footertext,
|
||||
--div--;Bilder, image_teaser, image_header, image_offer',
|
||||
'columnsOverrides' => [
|
||||
'description' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
'footertext' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'palettes' => [
|
||||
'general' => ['showitem' => 'configurator_type, hidden'],
|
||||
'naming' => ['showitem' => 'name, name_internal'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'sys_language',
|
||||
'foreign_table_where' => 'ORDER BY sys_language.title',
|
||||
'items' => [
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages', -1],
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.default_value', 0]
|
||||
],
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_epevents_domain_model_activity',
|
||||
'foreign_table_where' => 'AND tx_epevents_domain_model_activity.pid=###CURRENT_PID### AND tx_epevents_domain_model_activity.sys_language_uid IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
't3ver_label' => [
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'max' => 255,
|
||||
]
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'name' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bezeichnung',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim,required'
|
||||
],
|
||||
],
|
||||
'name_internal' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bezeichnung intern',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim,required'
|
||||
],
|
||||
],
|
||||
'keywords' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Keywords',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 3,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Beschreibung (kurz)',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'footertext' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Footertext',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'bannertext' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bannertext',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 3,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'image_teaser' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Teaser',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_teaser',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'image_header' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Header',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_header',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'image_offer' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Angebotsseite',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_offer',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'configurator_type' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Konfigurator Typ',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['Outdoor & Action', 1],
|
||||
['Event-Gastronomie', 2],
|
||||
['Sightseeing', 3],
|
||||
['Spezial', 4],
|
||||
],
|
||||
'default' => 1,
|
||||
'size' => 1,
|
||||
'minitems' => 1,
|
||||
'maxitems' => 1,
|
||||
'eval' => ''
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,186 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:ep_events/Resources/Private/Language/locallang.xlf:tx_epevents_domain_model_contact',
|
||||
'label' => 'name',
|
||||
'default_sortby' => 'ORDER BY name',
|
||||
'sortby' => 'sorting',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'dividers2tabs' => TRUE,
|
||||
'versioningWS' => 2,
|
||||
'versioning_followPages' => TRUE,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'name,email,phone,image,',
|
||||
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_contact.gif'
|
||||
],
|
||||
'interface' => [
|
||||
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, position, email, phone, image',
|
||||
],
|
||||
'types' => [
|
||||
'1' => [
|
||||
'showitem' => 'hidden, name, position, email, phone, image'
|
||||
],
|
||||
],
|
||||
'palettes' => [
|
||||
'1' => ['showitem' => ''],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'sys_language',
|
||||
'foreign_table_where' => 'ORDER BY sys_language.title',
|
||||
'items' => [
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages', -1],
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.default_value', 0]
|
||||
],
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_epevents_domain_model_contact',
|
||||
'foreign_table_where' => 'AND tx_epevents_domain_model_contact.pid=###CURRENT_PID### AND tx_epevents_domain_model_contact.sys_language_uid IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
't3ver_label' => [
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'max' => 255,
|
||||
]
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'sorting' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough'
|
||||
]
|
||||
],
|
||||
'name' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Name',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim'
|
||||
],
|
||||
],
|
||||
'position' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Position',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim'
|
||||
],
|
||||
],
|
||||
'email' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'E-Mail',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim,email'
|
||||
],
|
||||
],
|
||||
'phone' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Telefon',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim'
|
||||
],
|
||||
],
|
||||
'image' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,225 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:ep_events/Resources/Private/Language/locallang.xlf:tx_epevents_domain_model_hotel',
|
||||
'label' => 'name_internal',
|
||||
'default_sortby' => 'ORDER BY name_internal',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'dividers2tabs' => TRUE,
|
||||
'versioningWS' => 2,
|
||||
'versioning_followPages' => TRUE,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'name,name_internal,description,image_teaser,image_offer,configurator_type,',
|
||||
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_hotel.gif'
|
||||
],
|
||||
'interface' => [
|
||||
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, name_internal,
|
||||
description, image_teaser, image_offer, configurator_type',
|
||||
],
|
||||
'types' => [
|
||||
'1' => [
|
||||
'showitem' => '--palette--;;general, --palette--;;naming, description,
|
||||
--div--;Bilder, image_teaser, image_offer',
|
||||
'columnsOverrides' => [
|
||||
'description' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'palettes' => [
|
||||
'general' => ['showitem' => 'configurator_type, hidden'],
|
||||
'naming' => ['showitem' => 'name, name_internal'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'sys_language',
|
||||
'foreign_table_where' => 'ORDER BY sys_language.title',
|
||||
'items' => [
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages', -1],
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.default_value', 0]
|
||||
],
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_epevents_domain_model_hotel',
|
||||
'foreign_table_where' => 'AND tx_epevents_domain_model_hotel.pid=###CURRENT_PID### AND tx_epevents_domain_model_hotel.sys_language_uid IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
't3ver_label' => [
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'max' => 255,
|
||||
]
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'name' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bezeichnung',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim,required'
|
||||
],
|
||||
],
|
||||
'name_internal' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bezeichnung intern',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim,required'
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Beschreibung',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'image_teaser' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Teaser',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_teaser',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'image_offer' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Angebotsseite',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_offer',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'configurator_type' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Konfigurator Typ',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['3-Sterne', 1],
|
||||
['4-Sterne', 2],
|
||||
['5-Sterne', 3],
|
||||
['Spezial', 4],
|
||||
],
|
||||
'default' => 1,
|
||||
'size' => 1,
|
||||
'minitems' => 1,
|
||||
'maxitems' => 1,
|
||||
'eval' => ''
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,320 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:ep_events/Resources/Private/Language/locallang.xlf:tx_epevents_domain_model_location',
|
||||
'label' => 'name',
|
||||
'default_sortby' => 'ORDER BY name',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'dividers2tabs' => TRUE,
|
||||
'versioningWS' => 2,
|
||||
'versioning_followPages' => TRUE,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'name,description_short,description_long,season,image_header,image_teaser,image_offer,
|
||||
configurator_type,configurator_distance,footer_text1,footer_text2,footer_text3,',
|
||||
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_location.gif'
|
||||
],
|
||||
'interface' => [
|
||||
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, name, description_short,
|
||||
description_long, season, image_header, image_teaser, image_offer, configurator_type, configurator_distance,
|
||||
footer_text1, footer_text2, footer_text3',
|
||||
],
|
||||
'types' => [
|
||||
'1' => [
|
||||
'showitem' => 'hidden, --palette--;;configurator,
|
||||
name, description_short, description_long, season, footer_text1, footer_text2, footer_text3,
|
||||
--div--;Bilder, image_header, image_teaser, image_offer',
|
||||
'columnsOverrides' => [
|
||||
'description_short' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
'description_long' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
'footer_text1' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
'footer_text2' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
'footer_text3' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'palettes' => [
|
||||
'configurator' => ['showitem' => 'configurator_type, configurator_distance'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'sys_language',
|
||||
'foreign_table_where' => 'ORDER BY sys_language.title',
|
||||
'items' => [
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages', -1],
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.default_value', 0]
|
||||
],
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_epevents_domain_model_location',
|
||||
'foreign_table_where' => 'AND tx_epevents_domain_model_location.pid=###CURRENT_PID### AND tx_epevents_domain_model_location.sys_language_uid IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
't3ver_label' => [
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'max' => 255,
|
||||
]
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'name' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bezeichnung',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim'
|
||||
],
|
||||
],
|
||||
'description_short' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Beschreibung kurz',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'description_long' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Beschreibung lang',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'season' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Beste Reisezeit',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 5,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'image_header' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Header',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_header',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'image_teaser' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Teaser',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_teaser',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'image_offer' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Angebotsseite',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_offer',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'footer_text1' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Footer Text 1',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'footer_text2' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Footer Text 2',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'footer_text3' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Footer Text 3',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'configurator_type' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Konfigurator Typ',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['Meer', 1],
|
||||
['Berge', 2],
|
||||
['Städte', 3],
|
||||
['Spezial', 4],
|
||||
],
|
||||
'default' => 1,
|
||||
'size' => 1,
|
||||
'minitems' => 1,
|
||||
'maxitems' => 1,
|
||||
'eval' => ''
|
||||
],
|
||||
],
|
||||
'configurator_distance' => [
|
||||
'exclude' => 0,
|
||||
'l10n_mode' => 'exclude',
|
||||
'label' => 'Entfernung',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
[ 'Deutschland', \EP\EpEvents\Domain\Model\Location::DISTANCE_GERMANY ],
|
||||
[ 'Europa', \EP\EpEvents\Domain\Model\Location::DISTANCE_EUROPE ],
|
||||
[ 'Welt', \EP\EpEvents\Domain\Model\Location::DISTANCE_WORLD ],
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,494 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:ep_events/Resources/Private/Language/locallang.xlf:tx_epevents_domain_model_offer',
|
||||
'label' => 'name_internal',
|
||||
'default_sortby' => 'ORDER BY name_internal',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'dividers2tabs' => TRUE,
|
||||
'versioningWS' => 2,
|
||||
'versioning_followPages' => TRUE,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'name,name_internal,groupname,header,arrival,schedule,services,guidelines,image_header,
|
||||
booking_form,configurator_type,contact,hotel,location,activities,',
|
||||
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_offer.gif',
|
||||
'type' => 'type',
|
||||
],
|
||||
'interface' => [
|
||||
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, name, name_internal,
|
||||
groupname, price, headline, header, arrival, schedule, services, guidelines, image_teaser,
|
||||
image_teaser_mobile, image_header, booking_form, configurator_type, contact, hotel, location, activities,
|
||||
detail_page, url, url_rendered',
|
||||
],
|
||||
'types' => [
|
||||
'1' => [
|
||||
'showitem' => 'hidden,
|
||||
--palette--;;general, --palette--;;naming, headline, header, services,
|
||||
--div--;Bilder, image_teaser, image_teaser_mobile, image_header,
|
||||
--div--;Verknüpfungen, contact, hotel, location, activities',
|
||||
'columnsOverrides' => [
|
||||
'header' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
'services' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
],
|
||||
],
|
||||
'2' => [
|
||||
'showitem' => 'hidden,
|
||||
--palette--;;general_ext, --palette--;;naming, --palette--;;url, groupname, headline, header,
|
||||
services, arrival, schedule, guidelines,
|
||||
--div--;Bilder/Dateien, image_header, booking_form,
|
||||
--div--;Verknüpfungen, contact, hotel, location, activities',
|
||||
'columnsOverrides' => [
|
||||
'header' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
'arrival' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
'schedule' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
'services' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
'guidelines' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'palettes' => [
|
||||
'general' => ['showitem' => 'type, configurator_type, detail_page'],
|
||||
'general_ext' => ['showitem' => 'type, configurator_type, price'],
|
||||
'naming' => ['showitem' => 'name, name_internal'],
|
||||
'url' => ['showitem' => 'url, url_rendered'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'sys_language',
|
||||
'foreign_table_where' => 'ORDER BY sys_language.title',
|
||||
'items' => [
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages', -1],
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.default_value', 0]
|
||||
],
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_epevents_domain_model_offer',
|
||||
'foreign_table_where' => 'AND tx_epevents_domain_model_offer.pid=###CURRENT_PID### AND tx_epevents_domain_model_offer.sys_language_uid IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
't3ver_label' => [
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'max' => 255,
|
||||
]
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'type' => [
|
||||
'exclude' => 0,
|
||||
'l10n_mode' => 'exclude',
|
||||
'label' => 'Angebotsart',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
[ 'Beispiel', \EP\EpEvents\Domain\Model\Offer::TYPE_EXAMPLE ],
|
||||
[ 'Angebotslink', \EP\EpEvents\Domain\Model\Offer::TYPE_CLIENT ],
|
||||
]
|
||||
],
|
||||
],
|
||||
'name' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bezeichnung',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim,required'
|
||||
],
|
||||
],
|
||||
'name_internal' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bezeichnung intern',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim,required'
|
||||
],
|
||||
],
|
||||
'groupname' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Gruppe/Kontakt',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 5,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'price' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Preis',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 8,
|
||||
'eval' => 'int'
|
||||
],
|
||||
],
|
||||
'headline' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Headline',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim,required'
|
||||
],
|
||||
],
|
||||
'header' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Header',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'arrival' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Anreise',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'schedule' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Ablauf',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'services' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Leistungen',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'guidelines' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Angebotsrichtlinien',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'image_teaser' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Teaser',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_teaser',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'image_teaser_mobile' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Teaser (mobil)',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_teaser_m',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'image_header' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Header',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_header',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'booking_form' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Buchungsformular',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'booking_form',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:media.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
]
|
||||
),
|
||||
],
|
||||
'configurator_type' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Konfigurator Typ',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['Incentive', 1],
|
||||
['Teambuilding', 2],
|
||||
['Meeting', 3],
|
||||
['Corporate Event', 4],
|
||||
],
|
||||
'default' => 1,
|
||||
'size' => 1,
|
||||
'minitems' => 1,
|
||||
'maxitems' => 1,
|
||||
'eval' => ''
|
||||
],
|
||||
],
|
||||
'contact' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Ansprechpartner',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'tx_epevents_domain_model_contact',
|
||||
'foreign_table_where' => 'AND 1=1 order by name',
|
||||
'minitems' => 1,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
],
|
||||
'hotel' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Unterkunft',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'tx_epevents_domain_model_hotel',
|
||||
'foreign_table_where' => 'AND 1=1 order by name',
|
||||
'minitems' => 1,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
],
|
||||
'location' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Location',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'tx_epevents_domain_model_location',
|
||||
'foreign_table_where' => 'AND 1=1 order by name',
|
||||
'minitems' => 1,
|
||||
'maxitems' => 1,
|
||||
],
|
||||
],
|
||||
'activities' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Programmpunkte',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectMultipleSideBySide',
|
||||
'foreign_table' => 'tx_epevents_domain_model_activity',
|
||||
'foreign_table_where' => 'AND 1=1 order by name',
|
||||
'MM' => 'tx_epevents_offer_activity_mm',
|
||||
'size' => 10,
|
||||
'autoSizeMax' => 30,
|
||||
'minitems' => 1,
|
||||
'maxitems' => 9999,
|
||||
'multiple' => 0,
|
||||
'wizards' => [
|
||||
'suggest' => [
|
||||
'type' => 'suggest',
|
||||
'default' => [
|
||||
'searchWholePhrase' => 1,
|
||||
]
|
||||
]
|
||||
],
|
||||
],
|
||||
],
|
||||
'detail_page' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Detailseite',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 4,
|
||||
'eval' => 'int,required',
|
||||
'wizards' => [
|
||||
'_PADDING' => 2,
|
||||
'link' => [
|
||||
'type' => 'popup',
|
||||
'title' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_link_formlabel',
|
||||
'icon' => 'actions-wizard-link',
|
||||
'module' => [
|
||||
'name' => 'wizard_link',
|
||||
],
|
||||
'params' => [
|
||||
'blindLinkOptions' => 'file,folder,mail,spec,url',
|
||||
],
|
||||
'JSopenParams' => 'height=300,width=500,status=0,menubar=0,scrollbars=1'
|
||||
],
|
||||
],
|
||||
'softref' => 'typolink'
|
||||
],
|
||||
],
|
||||
'url' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'URL Segment',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim,lower,nospace',
|
||||
],
|
||||
],
|
||||
'url_rendered' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Resultierende URL',
|
||||
'config' => [
|
||||
'type' => 'user',
|
||||
'userFunc' => \EP\EpEvents\Form\UrlField::class . '->render',
|
||||
]
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,169 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:ep_events/Resources/Private/Language/locallang.xlf:tx_epevents_domain_model_testimonial',
|
||||
'label' => 'client_name',
|
||||
'default_sortby' => 'ORDER BY client_name',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'dividers2tabs' => TRUE,
|
||||
'versioningWS' => 2,
|
||||
'versioning_followPages' => TRUE,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'client_name,client_image,quote,',
|
||||
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_testimonial.gif'
|
||||
],
|
||||
'interface' => [
|
||||
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, client_name, client_image,
|
||||
quote',
|
||||
],
|
||||
'types' => [
|
||||
'1' => [
|
||||
'showitem' => 'hidden, client_name, client_image, quote',
|
||||
'columnsOverrides' => [
|
||||
'quote' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'palettes' => [
|
||||
'1' => ['showitem' => ''],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'sys_language',
|
||||
'foreign_table_where' => 'ORDER BY sys_language.title',
|
||||
'items' => [
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages', -1],
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.default_value', 0]
|
||||
],
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_epevents_domain_model_testimonial',
|
||||
'foreign_table_where' => 'AND tx_epevents_domain_model_testimonial.pid=###CURRENT_PID### AND tx_epevents_domain_model_testimonial.sys_language_uid IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
't3ver_label' => [
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'max' => 255,
|
||||
]
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'client_name' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Name, Firma',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim'
|
||||
],
|
||||
],
|
||||
'client_image' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'client_image',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
|
||||
),
|
||||
],
|
||||
'quote' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Zitat',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,268 @@
|
||||
<?php
|
||||
return [
|
||||
'ctrl' => [
|
||||
'title' => 'LLL:EXT:ep_events/Resources/Private/Language/locallang.xlf:tx_epevents_domain_model_traveltype',
|
||||
'label' => 'title',
|
||||
'default_sortby' => 'ORDER BY title ASC',
|
||||
'tstamp' => 'tstamp',
|
||||
'crdate' => 'crdate',
|
||||
'cruser_id' => 'cruser_id',
|
||||
'dividers2tabs' => TRUE,
|
||||
'versioningWS' => 2,
|
||||
'versioning_followPages' => TRUE,
|
||||
'languageField' => 'sys_language_uid',
|
||||
'transOrigPointerField' => 'l10n_parent',
|
||||
'transOrigDiffSourceField' => 'l10n_diffsource',
|
||||
'delete' => 'deleted',
|
||||
'enablecolumns' => [
|
||||
'disabled' => 'hidden',
|
||||
'starttime' => 'starttime',
|
||||
'endtime' => 'endtime',
|
||||
],
|
||||
'searchFields' => 'title,subtitle,headertext,subheadline,description',
|
||||
'iconfile' => 'EXT:ep_events/Resources/Public/images/tx_epevents_domain_model_traveltype.gif',
|
||||
],
|
||||
'interface' => [
|
||||
'showRecordFieldList' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, subtitle,
|
||||
headertext, subheadline, bannertext, description, buttonlabel, configurator_type, image_header, image_banner',
|
||||
],
|
||||
'types' => [
|
||||
'1' => [
|
||||
'showitem' => '--palette--;;general, --palette--;;herounit, subheadline, bannertext,
|
||||
buttonlabel, description,
|
||||
--div--;Bilder,image_header, image_banner',
|
||||
'columnsOverrides' => [
|
||||
'description' => [
|
||||
'defaultExtras' => 'richtext[]:rte_transform[mode=ts_links]',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'palettes' => [
|
||||
'general' => ['showitem' => 'hidden, configurator_type'],
|
||||
'herounit' => ['showitem' => 'title, subtitle, headertext'],
|
||||
],
|
||||
'columns' => [
|
||||
'sys_language_uid' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'foreign_table' => 'sys_language',
|
||||
'foreign_table_where' => 'ORDER BY sys_language.title',
|
||||
'items' => [
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages', -1],
|
||||
['LLL:EXT:lang/locallang_general.xlf:LGL.default_value', 0]
|
||||
],
|
||||
],
|
||||
],
|
||||
'l10n_parent' => [
|
||||
'displayCond' => 'FIELD:sys_language_uid:>:0',
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.l18n_parent',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['', 0],
|
||||
],
|
||||
'foreign_table' => 'tx_epevents_domain_model_offer',
|
||||
'foreign_table_where' => 'AND tx_epevents_domain_model_offer.pid=###CURRENT_PID### AND tx_epevents_domain_model_offer.sys_language_uid IN (-1,0)',
|
||||
],
|
||||
],
|
||||
'l10n_diffsource' => [
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
't3ver_label' => [
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.versionLabel',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'max' => 255,
|
||||
]
|
||||
],
|
||||
'hidden' => [
|
||||
'exclude' => 1,
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
],
|
||||
],
|
||||
'starttime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.starttime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'endtime' => [
|
||||
'exclude' => 1,
|
||||
'l10n_mode' => 'mergeIfNotBlank',
|
||||
'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.endtime',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 13,
|
||||
'max' => 20,
|
||||
'eval' => 'datetime',
|
||||
'checkbox' => 0,
|
||||
'default' => 0,
|
||||
'range' => [
|
||||
'lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))
|
||||
],
|
||||
],
|
||||
],
|
||||
'title' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Titel',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 60,
|
||||
'rows' => 2,
|
||||
'eval' => 'trim,required'
|
||||
],
|
||||
],
|
||||
'subtitle' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Untertitel',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 60,
|
||||
'rows' => 2,
|
||||
'eval' => 'trim'
|
||||
],
|
||||
],
|
||||
'headertext' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Headertext',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 4,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'subheadline' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Subheadline',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'size' => 30,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'description' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Beschreibung',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 15,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'bannertext' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bannertext',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 40,
|
||||
'rows' => 3,
|
||||
'eval' => 'trim',
|
||||
],
|
||||
],
|
||||
'buttonlabel' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Button Label',
|
||||
'config' => [
|
||||
'type' => 'text',
|
||||
'cols' => 30,
|
||||
'rows' => 2,
|
||||
'eval' => 'trim',
|
||||
'default' => 'Beipiel Angebote',
|
||||
],
|
||||
],
|
||||
'image_header' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Bild Header',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_header',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
'jpg'
|
||||
),
|
||||
],
|
||||
'image_banner' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Banner Hintergrund',
|
||||
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
|
||||
'image_banner',
|
||||
[
|
||||
'appearance' => [
|
||||
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
|
||||
],
|
||||
'foreign_types' => [
|
||||
'0' => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
|
||||
'showitem' => '
|
||||
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
|
||||
--palette--;;filePalette'
|
||||
],
|
||||
],
|
||||
'maxitems' => 1
|
||||
],
|
||||
'jpg'
|
||||
),
|
||||
],
|
||||
'configurator_type' => [
|
||||
'exclude' => 0,
|
||||
'label' => 'Konfigurator Typ',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['Incentive', 1],
|
||||
['Team Building', 2],
|
||||
['Meeting', 3],
|
||||
['Corporate Event', 4],
|
||||
],
|
||||
'default' => 1,
|
||||
'size' => 1,
|
||||
'minitems' => 1,
|
||||
'maxitems' => 1,
|
||||
'eval' => ''
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
@@ -0,0 +1,12 @@
|
||||
tt_content.banner =< lib.fluidContent
|
||||
tt_content.banner {
|
||||
templateName = Banner
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = assets
|
||||
references.table = tt_content
|
||||
as = image
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
tt_content.herounit =< lib.fluidContent
|
||||
tt_content.herounit {
|
||||
templateName = Herounit
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = assets
|
||||
references.table = tt_content
|
||||
as = image
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
tt_content.statement =< lib.fluidContent
|
||||
tt_content.statement {
|
||||
templateName = Statement
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
tt_content.tile =< lib.fluidContent
|
||||
tt_content.tile {
|
||||
templateName = Tile
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10 {
|
||||
references.fieldName = assets
|
||||
references.table = tt_content
|
||||
as = image
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/Static/setup.txt">
|
||||
|
||||
lib.fluidContent {
|
||||
layoutRootPaths.20 = EXT:ep_events/Resources/Private/Layouts/FluidStyledContent
|
||||
templateRootPaths.20 = EXT:ep_events/Resources/Private/Templates/FluidStyledContent
|
||||
partialRootPaths.20 = EXT:ep_events/Resources/Private/Partials
|
||||
settings < plugin.tx_epevents.settings
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:form/Configuration/TypoScript/setup.txt">
|
||||
@@ -0,0 +1,17 @@
|
||||
lib.configurator = USER
|
||||
lib.configurator {
|
||||
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
|
||||
extensionName = EpEvents
|
||||
pluginName = Configurator
|
||||
vendorName = EP
|
||||
controller = Form
|
||||
action = configurator
|
||||
switchableControllerActions {
|
||||
Form {
|
||||
1 = configurator
|
||||
}
|
||||
}
|
||||
settings =< plugin.tx_epevents.settings
|
||||
persistence =< plugin.tx_epevents.persistence
|
||||
view =< plugin.tx_epevents.view
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
lib.dynamicContent = COA
|
||||
lib.dynamicContent {
|
||||
5 = LOAD_REGISTER
|
||||
5 {
|
||||
colPos.cObject = TEXT
|
||||
colPos.cObject {
|
||||
field = colPos
|
||||
ifEmpty.cObject = TEXT
|
||||
ifEmpty.cObject {
|
||||
value.current = 1
|
||||
ifEmpty = 0
|
||||
}
|
||||
}
|
||||
pageUid.cObject = TEXT
|
||||
pageUid.cObject {
|
||||
field = pageUid
|
||||
ifEmpty.data = TSFE:id
|
||||
}
|
||||
contentFromPid.cObject = TEXT
|
||||
contentFromPid.cObject {
|
||||
data = DB:pages:{register:pageUid}:content_from_pid
|
||||
data.insertData = 1
|
||||
}
|
||||
wrap.cObject = TEXT
|
||||
wrap.cObject {
|
||||
field = wrap
|
||||
}
|
||||
}
|
||||
20 = CONTENT
|
||||
20 {
|
||||
table = tt_content
|
||||
select {
|
||||
includeRecordsWithoutDefaultTranslation = 1
|
||||
orderBy = sorting
|
||||
where = colPos={register:colPos}
|
||||
where.insertData = 1
|
||||
pidInList.data = register:pageUid
|
||||
pidInList.override.data = register:contentFromPid
|
||||
}
|
||||
stdWrap {
|
||||
dataWrap = {register:wrap}
|
||||
required = 1
|
||||
}
|
||||
}
|
||||
90 = RESTORE_REGISTER
|
||||
}
|
||||
|
||||
lib.dynamicContentSlide =< lib.dynamicContent
|
||||
lib.dynamicContentSlide.20.slide = -1
|
||||
@@ -0,0 +1,126 @@
|
||||
lib.parseFunc {
|
||||
makelinks = 1
|
||||
makelinks {
|
||||
http {
|
||||
keep = path
|
||||
extTarget = _blank
|
||||
}
|
||||
mailto {
|
||||
keep = path
|
||||
}
|
||||
}
|
||||
tags {
|
||||
link = TEXT
|
||||
link {
|
||||
current = 1
|
||||
typolink {
|
||||
parameter {
|
||||
data = parameters : allParams
|
||||
}
|
||||
extTarget = _blank
|
||||
}
|
||||
parseFunc.constants = 1
|
||||
}
|
||||
a = TEXT
|
||||
a {
|
||||
current = 1
|
||||
typolink {
|
||||
parameter.data = parameters:href
|
||||
title.data = parameters:title
|
||||
ATagParams.data = parameters:allParams
|
||||
target.data = parameters:target
|
||||
extTarget = _blank
|
||||
extTarget.override.data = parameters:target
|
||||
}
|
||||
}
|
||||
}
|
||||
allowTags := addToList(a, abbr, acronym, address, article, aside, b, bdo)
|
||||
allowTags := addToList(big, blockquote, br, caption, center, cite, code, col)
|
||||
allowTags := addToList(colgroup, dd, del, dfn, dl, div, dt, em, font)
|
||||
allowTags := addToList(footer, header, h1, h2, h3, h4, h5, h6, hr, i, img)
|
||||
allowTags := addToList(ins, kbd, label, li, link, meta, nav, ol, p, pre, q)
|
||||
allowTags := addToList(samp, sdfield, section, small, span, strike, strong)
|
||||
allowTags := addToList(style, sub, sup, table, thead, tbody, tfoot, td, th)
|
||||
allowTags := addToList(tr, title, tt, u, ul, var)
|
||||
denyTags = *
|
||||
sword = <span class="text-highlight">|</span>
|
||||
constants = 1
|
||||
nonTypoTagStdWrap {
|
||||
HTMLparser = 1
|
||||
HTMLparser {
|
||||
keepNonMatchedTags = 1
|
||||
htmlSpecialChars = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
lib.parseFunc_RTE < lib.parseFunc
|
||||
lib.parseFunc_RTE {
|
||||
externalBlocks := addToList(article, aside, blockquote, div, dd, dl, footer)
|
||||
externalBlocks := addToList(header, nav, ol, section, table, ul, pre)
|
||||
externalBlocks {
|
||||
ol {
|
||||
stripNL = 1
|
||||
stdWrap {
|
||||
parseFunc = < lib.parseFunc
|
||||
}
|
||||
}
|
||||
ul {
|
||||
stripNL = 1
|
||||
stdWrap {
|
||||
parseFunc = < lib.parseFunc
|
||||
}
|
||||
}
|
||||
table {
|
||||
stripNL = 1
|
||||
stdWrap {
|
||||
wrap = <div class="table-responsive">|</div>
|
||||
}
|
||||
HTMLtableCells = 1
|
||||
HTMLtableCells {
|
||||
default.stdWrap {
|
||||
parseFunc = < lib.parseFunc_RTE
|
||||
parseFunc {
|
||||
nonTypoTagStdWrap {
|
||||
encapsLines {
|
||||
nonWrappedTag =
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
pre {
|
||||
stripNL = 1
|
||||
}
|
||||
div {
|
||||
stripNL = 1
|
||||
callRecursive = 1
|
||||
}
|
||||
blockquote < .div
|
||||
article < .div
|
||||
aside < .div
|
||||
footer < .div
|
||||
header < .div
|
||||
nav < .div
|
||||
section < .div
|
||||
dl < .div
|
||||
dd < .div
|
||||
}
|
||||
nonTypoTagStdWrap {
|
||||
encapsLines {
|
||||
encapsTagList = p, pre, h1, h2, h3, h4, h5, h6, hr, dt
|
||||
remapTag.DIV = P
|
||||
nonWrappedTag = P
|
||||
innerStdWrap_all.ifBlank =
|
||||
}
|
||||
}
|
||||
nonTypoTagStdWrap {
|
||||
HTMLparser = 1
|
||||
HTMLparser {
|
||||
keepNonMatchedTags = 1
|
||||
htmlSpecialChars = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
lib.searchForm = USER
|
||||
lib.searchForm {
|
||||
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
|
||||
extensionName = EpEvents
|
||||
pluginName = SearchForm
|
||||
vendorName = EP
|
||||
controller = Search
|
||||
action = form
|
||||
switchableControllerActions {
|
||||
Search {
|
||||
1 = form
|
||||
}
|
||||
}
|
||||
settings =< plugin.tx_epevents.settings
|
||||
persistence =< plugin.tx_epevents.persistence
|
||||
view =< plugin.tx_epevents.view
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
ajax_page_json = PAGE
|
||||
ajax_page_json {
|
||||
typeNum = 1703
|
||||
config {
|
||||
disableAllHeaderCode = 1
|
||||
additionalHeaders.10.header = Content-type:application/json
|
||||
xhtml_cleaning = 0
|
||||
admPanel = 0
|
||||
debug = 0
|
||||
no_cache = 1
|
||||
}
|
||||
|
||||
10 = USER_INT
|
||||
10 {
|
||||
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
|
||||
extensionName = EpEvents
|
||||
pluginName = Ajax
|
||||
vendorName = EP
|
||||
controller = AjaxForm
|
||||
action = processInquiryForm
|
||||
switchableControllerActions {
|
||||
AjaxForm {
|
||||
1 = processInquiryForm
|
||||
2 = processConfiguratorForm
|
||||
}
|
||||
}
|
||||
settings =< plugin.tx_epevents.settings
|
||||
persistence =< plugin.tx_epevents.persistence
|
||||
view =< plugin.tx_epevents.view
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
page = PAGE
|
||||
page {
|
||||
config {
|
||||
index_enable = 1
|
||||
}
|
||||
|
||||
meta {
|
||||
viewport = width=device-width, initial-scale=1, maximum-scale=1
|
||||
X-UA-Compatible = ie=edge
|
||||
}
|
||||
|
||||
shortcutIcon = EXT:ep_events/Resources/Public/images/favicon.ico
|
||||
|
||||
includeJS {
|
||||
remarketing = https://www.googleadservices.com/pagead/conversion_async.js
|
||||
remarketing.external = 1
|
||||
remarketing.disableCompression = 1
|
||||
}
|
||||
|
||||
includeJSFooter {
|
||||
main = EXT:ep_events/Resources/Public/js/main.js
|
||||
}
|
||||
|
||||
includeCSS {
|
||||
main = EXT:ep_events/Resources/Public/css/main.css
|
||||
}
|
||||
|
||||
10 = FLUIDTEMPLATE
|
||||
10 {
|
||||
file {
|
||||
cObject = TEXT
|
||||
cObject {
|
||||
data = levelfield: -1, backend_layout_next_level, slide
|
||||
override {
|
||||
data = TSFE:page|backend_layout
|
||||
}
|
||||
ifEmpty = Default
|
||||
split {
|
||||
token = pagets__
|
||||
1.current = 1
|
||||
1.wrap = |
|
||||
}
|
||||
wrap = typo3conf/ext/ep_events/Resources/Private/Templates/Page/|.html
|
||||
case = ucfirst
|
||||
}
|
||||
}
|
||||
|
||||
layoutRootPaths.0 = EXT:ep_events/Resources/Private/Layouts/
|
||||
partialRootPaths.0 = EXT:ep_events/Resources/Private/Partials/
|
||||
templateRootPaths.0 = EXT:ep_events/Resources/Private/Templates/
|
||||
|
||||
settings < plugin.tx_epevents.settings
|
||||
|
||||
dataProcessing {
|
||||
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
|
||||
10.references.fieldName = media
|
||||
20 = EP\EpEvents\DataProcessing\TraveltypeProcessor
|
||||
30 = EP\EpEvents\DataProcessing\OfferProcessor
|
||||
}
|
||||
}
|
||||
|
||||
headerData.999 = TEXT
|
||||
headerData.999.value (
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','{$plugin.tx_epevents.settings.googleTagManagerId}');</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
<script type="text/javascript">
|
||||
/* <![CDATA[ */
|
||||
goog_snippet_vars = function() {
|
||||
var w = window;
|
||||
w.google_conversion_id = 1072535457;
|
||||
w.google_conversion_label = "KiaaCObA9XEQoa-2_wM";
|
||||
w.google_remarketing_only = false;
|
||||
}
|
||||
// DO NOT CHANGE THE CODE BELOW.
|
||||
goog_report_conversion = function(url) {
|
||||
goog_snippet_vars();
|
||||
window.google_conversion_format = "3";
|
||||
var opt = new Object();
|
||||
opt.onload_callback = function() {
|
||||
if (typeof(url) != 'undefined') {
|
||||
window.location = url;
|
||||
}
|
||||
}
|
||||
var conv_handler = window['google_trackConversion'];
|
||||
if (typeof(conv_handler) == 'function') {
|
||||
conv_handler(opt);
|
||||
}
|
||||
}
|
||||
/* ]]> */
|
||||
</script>
|
||||
)
|
||||
headerData.999.stdWrap.if.isTrue = {$plugin.tx_epevents.settings.googleTagManagerId}
|
||||
}
|
||||
|
||||
[globalVar = TSFE:page|doktype = 101]
|
||||
page.stdWrap.addPageCacheTags = category_page,epevents_page
|
||||
[end]
|
||||
|
||||
[globalVar = TSFE:page|doktype = 102]
|
||||
page.stdWrap.addPageCacheTags = offer_page,epevents_page
|
||||
[end]
|
||||
@@ -0,0 +1,83 @@
|
||||
xmlSitemap = PAGE
|
||||
xmlSitemap {
|
||||
typeNum = 1848
|
||||
config {
|
||||
xhtml_cleaning = none
|
||||
no_cache = 1
|
||||
disableAllHeaderCode = 1
|
||||
additionalHeaders = Content-Type: text/xml; charset=utf-8
|
||||
simulateStaticDocuments = 0
|
||||
tx_realurl_enable = 1
|
||||
}
|
||||
|
||||
|
||||
wrap (
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset
|
||||
xmlns="http://www.google.com/schemas/sitemap/0.84"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemalocation="http://www.google.com/schemas/sitemap/0.84 www.google.com/schemas/sitemap/0.84/sitemap.xsd
|
||||
">|</urlset>
|
||||
)
|
||||
|
||||
10 = COA
|
||||
10 {
|
||||
10 = HMENU
|
||||
10 {
|
||||
special = list
|
||||
|
||||
# Ausgangspunkt / Root Seite
|
||||
special.value = {$plugin.tx_epevents.settings.xmlSitemapRootPageUid}
|
||||
|
||||
excludeDoktypes = 2,3,5,6,7,199,254,255
|
||||
excludeUidList = {$plugin.tx_epevents.settings.xmlSitemapExcludeUids}
|
||||
includeNotInMenu = 1
|
||||
|
||||
1 = TMENU
|
||||
1 {
|
||||
expAll = 1
|
||||
NO {
|
||||
doNotLinkIt = 1
|
||||
stdWrap {
|
||||
cObject = COA
|
||||
cObject {
|
||||
wrap = <url>|</url>
|
||||
10 = TEXT
|
||||
10 {
|
||||
typolink {
|
||||
parameter.field = uid
|
||||
returnLast = url
|
||||
forceAbsoluteUrl = 1
|
||||
}
|
||||
wrap = <loc>|</loc>
|
||||
}
|
||||
20 = TEXT
|
||||
20 {
|
||||
field = SYS_LASTCHANGED
|
||||
strftime = %Y-%m-%dT%H:%M:%SZ
|
||||
wrap = <lastmod>|</lastmod>
|
||||
}
|
||||
30 = TEXT
|
||||
30.value = <priority>1.0</priority>
|
||||
if.isFalse.field = shortcut
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2 < .1
|
||||
2.NO.stdWrap.cObject.30.value = <priority>0.9</priority>
|
||||
3 < .1
|
||||
3.NO.stdWrap.cObject.30.value = <priority>0.8</priority>
|
||||
4 < .1
|
||||
4.NO.stdWrap.cObject.30.value = <priority>0.7</priority>
|
||||
5 < .1
|
||||
5.NO.stdWrap.cObject.30.value = <priority>0.6</priority>
|
||||
6 < .1
|
||||
6.NO.stdWrap.cObject.30.value = <priority>0.5</priority>
|
||||
7 < .6
|
||||
8 < .6
|
||||
9 < .6
|
||||
10 < .6
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
plugin.tx_epevents {
|
||||
settings {
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Helper navigation PID
|
||||
helperNavPid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Footer navigation PID
|
||||
footerNavPid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Contact page UID
|
||||
contactPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Data protection page UID
|
||||
dataProtectionPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Legal notice page UID
|
||||
legalNoticePageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Terms page UID
|
||||
termsPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Offer detail page UID
|
||||
offerDetailPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Activity detail page UID
|
||||
activityDetailPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Activity list page UID
|
||||
activityListPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Inquiry page UID
|
||||
inquiryPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Feedback page UID
|
||||
feedbackPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Ajax page UID
|
||||
ajaxPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Search page UID
|
||||
searchPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Inquiry recipient email
|
||||
inquiryToEmail =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Inquiry recipient name
|
||||
inquiryToName =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Sitemap root page UID
|
||||
xmlSitemapRootPageUid =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=XML sitemap page UIDs to exclude
|
||||
xmlSitemapExcludeUids =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Google Tag Manager ID
|
||||
googleTagManagerId =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Ignore following IPs in searchlog
|
||||
searchLogIgnoreIps =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Activity default header image
|
||||
activityDefaultHeaderImage =
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Activity default keywords image
|
||||
activityDefaultKeywordsImage =
|
||||
}
|
||||
persistence {
|
||||
# cat=plugin.tx_epevents//a; type=string; label=Default storage PID
|
||||
storagePid =
|
||||
}
|
||||
}
|
||||
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/Static/constants.txt">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:form/Configuration/TypoScript/constants.txt">
|
||||
@@ -0,0 +1,174 @@
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Extensions/FluidStyledContent.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Extensions/Form.ts">
|
||||
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Library/DynamicContent.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Library/ParseFunc.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Library/SearchForm.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Library/Configurator.ts">
|
||||
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/ContentElements/banner.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/ContentElements/herounit.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/ContentElements/statement.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/ContentElements/tile.ts">
|
||||
|
||||
plugin.tx_epevents {
|
||||
features.skipDefaultArguments = 1
|
||||
view {
|
||||
layoutRootPaths.10 = EXT:ep_events/Resources/Private/Layouts/
|
||||
templateRootPaths.10 = EXT:ep_events/Resources/Private/Templates/
|
||||
partialRootPaths.10 = EXT:ep_events/Resources/Private/Partials/
|
||||
widget.TYPO3\CMS\Fluid\ViewHelpers\Widget\PaginateViewHelper.templateRootPath = EXT:ep_events/Resources/Private/Templates/
|
||||
}
|
||||
|
||||
persistence {
|
||||
storagePid = {$plugin.tx_epevents.persistence.storagePid}
|
||||
}
|
||||
settings < lib.fluidContent.settings
|
||||
settings {
|
||||
helperNavPid = {$plugin.tx_epevents.settings.helperNavPid}
|
||||
footerNavPid = {$plugin.tx_epevents.settings.footerNavPid}
|
||||
contactPageUid = {$plugin.tx_epevents.settings.contactPageUid}
|
||||
inquiryPageUid = {$plugin.tx_epevents.settings.inquiryPageUid}
|
||||
ajaxPageUid = {$plugin.tx_epevents.settings.ajaxPageUid}
|
||||
searchPageUid = {$plugin.tx_epevents.settings.searchPageUid}
|
||||
inquiryToEmail = {$plugin.tx_epevents.settings.inquiryToEmail}
|
||||
inquiryToName = {$plugin.tx_epevents.settings.inquiryToName}
|
||||
xmlSitemapRootPageUid = {$plugin.tx_epevents.settings.xmlSitemapRootPageUid}
|
||||
xmlSitemapExcludeUids = {$plugin.tx_epevents.settings.xmlSitemapExcludeUids}
|
||||
googleTagManagerId = {$plugin.tx_epevents.settings.googleTagManagerId}
|
||||
offerDetailPageUid = {$plugin.tx_epevents.settings.offerDetailPageUid}
|
||||
activityDetailPageUid = {$plugin.tx_epevents.settings.activityDetailPageUid}
|
||||
activityListPageUid = {$plugin.tx_epevents.settings.activityListPageUid}
|
||||
dataProtectionPageUid = {$plugin.tx_epevents.settings.dataProtectionPageUid}
|
||||
legalNoticePageUid = {$plugin.tx_epevents.settings.legalNoticePageUid}
|
||||
termsPageUid = {$plugin.tx_epevents.settings.termsPageUid}
|
||||
feedbackPageUid = {$plugin.tx_epevents.settings.feedbackPageUid}
|
||||
searchLogIgnoreIps = {$plugin.tx_epevents.settings.searchLogIgnoreIps}
|
||||
activityDefaultHeaderImage = {$plugin.tx_epevents.settings.activityDefaultHeaderImage}
|
||||
activityDefaultKeywordsImage = {$plugin.tx_epevents.settings.activityDefaultKeywordsImage}
|
||||
configurator {
|
||||
options {
|
||||
travelType {
|
||||
1 = Incentive
|
||||
2 = Teambuilding
|
||||
3 = Meeting
|
||||
4 = Corporate Event
|
||||
}
|
||||
locationType {
|
||||
1 = Meer
|
||||
2 = Berge
|
||||
3 = Städte
|
||||
4 = Spezial
|
||||
}
|
||||
accommodationType {
|
||||
1 = 3-Sterne
|
||||
2 = 4-Sterne
|
||||
3 = 5-Sterne
|
||||
4 = Spezial
|
||||
}
|
||||
programmeType {
|
||||
1 = Outdoor & Action
|
||||
2 = Event-Gastronomie
|
||||
3 = Sightseeing
|
||||
4 = Spezial
|
||||
}
|
||||
distance {
|
||||
1 = Deutschland
|
||||
2 = Europa
|
||||
3 = Welt
|
||||
}
|
||||
pax {
|
||||
1 = 15 - 20
|
||||
2 = 20 - 30
|
||||
3 = 30 - 40
|
||||
4 = 40 - 50
|
||||
5 = 50 - 60
|
||||
6 = 60 - 80
|
||||
7 = 80 - 100
|
||||
8 = 100 - 120
|
||||
9 = 120 - 150
|
||||
10 = 150 - 200
|
||||
11 = 200 - 250
|
||||
12 = 250 - 300
|
||||
13 = 350 - 400
|
||||
14 = 400 - 450
|
||||
15 = 450 - 500
|
||||
}
|
||||
budget {
|
||||
1 = nicht festgelegt
|
||||
2 = 300 - 400 €
|
||||
3 = 400 - 500 €
|
||||
4 = 500 - 600 €
|
||||
5 = 600 - 700 €
|
||||
6 = 700 - 800 €
|
||||
7 = 800 - 900 €
|
||||
8 = 900 - 1000 €
|
||||
9 = 1000 - 1100 €
|
||||
10 = 1100 - 1200 €
|
||||
11 = 1200 - 1300 €
|
||||
12 = 1300 - 1400 €
|
||||
13 = 1400 - 1500 €
|
||||
14 = 1500 - 1600 €
|
||||
15 = 1600 - 1700 €
|
||||
16 = 1700 - 1800 €
|
||||
17 = 1800 - 1900 €
|
||||
18 = 1900 - 2000 €
|
||||
19 = 2000 - 2100 €
|
||||
20 = 2100 - 2200 €
|
||||
21 = 2200 - 2300 €
|
||||
22 = 2300 - 2400 €
|
||||
23 = 2400 - 2500 €
|
||||
24 = 2500 - 2600 €
|
||||
25 = 2600 - 2700 €
|
||||
26 = 2700 - 2800 €
|
||||
27 = 2800 - 2900 €
|
||||
28 = 2900 - 3000 €
|
||||
}
|
||||
period {
|
||||
1 = 1 Nacht
|
||||
2 = 2 Nächte
|
||||
3 = 3 Nächte
|
||||
4 = 4 Nächte
|
||||
5 = 5 Nächte
|
||||
6 = 6 Nächte
|
||||
7 = 7 Nächte
|
||||
}
|
||||
}
|
||||
defaults {
|
||||
budget = 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lib.parseFunc_RTE {
|
||||
nonTypoTagStdWrap.encapsLines.addAttributes.P.class >
|
||||
nonTypoTagStdWrap.encapsLines.addAttributes.H2.class = headline headline--primary
|
||||
nonTypoTagStdWrap.encapsLines.addAttributes.H3.class = headline
|
||||
}
|
||||
|
||||
tt_content.stdWrap.innerWrap >
|
||||
lib.stdheader.3.headerClass >
|
||||
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Page/Main.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Page/Ajax.ts">
|
||||
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:ep_events/Configuration/TypoScript/Page/XMLSitemap.ts">
|
||||
|
||||
config {
|
||||
doctype = html5
|
||||
removeDefaultCSS = 1
|
||||
removePageCss = 1
|
||||
removeDefaultJS = 0
|
||||
disablePrefixComment = 1
|
||||
inlineStyle2TempFile = 1
|
||||
tx_realurl_enable = 1
|
||||
absRefPrefix = /
|
||||
language = de
|
||||
locale_all = de_DE.UTF-8
|
||||
sys_language_uid = 0
|
||||
htmlTag_langKey = de
|
||||
compressJs = 1
|
||||
compressCss = 1
|
||||
typolinkEnableLinksAcrossDomains = 1
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
deny from all
|
||||
@@ -0,0 +1,9 @@
|
||||
ul.coloured-list {
|
||||
list-style: circle;
|
||||
}
|
||||
ul.footnote-list {
|
||||
list-style: disc;
|
||||
}
|
||||
a.button {
|
||||
font-weight: 700;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><html lang=en><meta charset=utf-8><meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"><title>Error 500 (Server Error)!!1</title><style>*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{color:#222;text-align:unset;margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px;}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}pre{white-space:pre-wrap;}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}</style><div id="af-error-container"><a href=//www.google.com><span id=logo aria-label=Google></span></a><p><b>500.</b> <ins>That’s an error.</ins><p>There was an error. Please try again later. <ins>That’s all we know.</ins></div>
|
||||
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><html lang=en><meta charset=utf-8><meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"><title>Error 500 (Server Error)!!1</title><style>*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{color:#222;text-align:unset;margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px;}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}pre{white-space:pre-wrap;}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}</style><div id="af-error-container"><a href=//www.google.com><span id=logo aria-label=Google></span></a><p><b>500.</b> <ins>That’s an error.</ins><p>There was an error. Please try again later. <ins>That’s all we know.</ins></div>
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"name": "",
|
||||
"css_prefix_text": "icon-",
|
||||
"css_use_suffix": false,
|
||||
"hinting": true,
|
||||
"units_per_em": 1000,
|
||||
"ascent": 850,
|
||||
"glyphs": [
|
||||
{
|
||||
"uid": "44e04715aecbca7f266a17d5a7863c68",
|
||||
"css": "plus",
|
||||
"code": 59392,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "861ab06e455e2de3232ebef67d60d708",
|
||||
"css": "minus",
|
||||
"code": 59393,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "12f4ece88e46abd864e40b35e05b11cd",
|
||||
"css": "ok",
|
||||
"code": 59394,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "ee6d80c7df78180368f1fbb5c0673a96",
|
||||
"css": "icon_mail_circle",
|
||||
"code": 59396,
|
||||
"src": "custom_icons",
|
||||
"selected": true,
|
||||
"svg": {
|
||||
"path": "M500 940C743 940 942 741 941 499 940 256 743 59 500 59 257 59 60 257 60 500 60 743 258 941 500 940M476 1000C462 998 448 997 434 995 356 985 284 958 219 913 117 843 48 748 17 628-25 460 10 307 121 174 194 88 287 33 398 11 557-20 701 16 825 121 911 194 966 287 989 397 1017 536 992 665 912 782 842 884 746 952 626 983 596 991 565 993 534 998 531 999 527 999 524 1000L476 1000ZM510 699C586 699 663 699 739 699 764 699 780 683 780 658 780 555 780 451 780 347 780 322 765 306 739 306 587 306 434 306 281 306 277 306 272 307 268 308 251 313 241 327 241 347 241 394 241 441 241 488 241 545 241 601 241 658 241 671 244 682 254 690 262 697 272 699 282 699L510 699ZM216 670L216 335C217 334 217 334 217 334 221 306 246 282 281 282 432 282 583 282 734 282 737 282 740 282 744 282 770 283 788 296 799 319 802 324 803 330 804 335L804 670C804 671 804 671 803 672 796 704 773 723 740 723L307 723C297 723 287 723 278 723 252 722 233 710 222 686 219 681 218 676 216 670M419 519C399 497 379 476 360 454 338 430 316 406 294 382 289 377 288 371 292 366 295 362 301 359 306 362 309 363 311 365 313 367 362 421 412 474 460 529 485 556 522 558 547 540 554 535 561 528 567 521 614 470 661 419 707 367 715 358 725 361 729 367 732 372 731 377 726 383 706 405 685 428 665 450 644 473 623 496 602 519 609 526 617 533 624 540 657 570 691 600 724 631 724 631 725 632 726 632 732 639 733 645 728 651 723 656 715 656 709 650 686 629 662 607 639 586 621 570 603 554 585 537 566 561 542 577 510 577 479 577 455 562 436 537 424 548 413 558 402 568 372 596 342 623 312 650 305 656 298 656 293 651 288 645 289 638 295 632 335 596 375 560 414 523 416 522 417 521 419 519",
|
||||
"width": 1000
|
||||
},
|
||||
"search": [
|
||||
"icon_mail_circle"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "1b0a86f5250095cc6878f1215dedf51c",
|
||||
"css": "icon_phone_circle",
|
||||
"code": 59397,
|
||||
"src": "custom_icons",
|
||||
"selected": true,
|
||||
"svg": {
|
||||
"path": "M500 940C743 940 942 741 941 499 940 256 743 59 500 59 257 59 60 257 60 500 60 743 258 941 500 940M476 1000C462 998 448 997 434 995 356 985 284 958 219 913 117 843 48 748 17 628-25 460 10 307 121 174 194 88 287 33 398 11 557-20 701 16 825 121 911 194 966 287 989 397 1017 536 992 665 912 782 842 884 746 952 626 983 596 991 565 993 534 998 531 999 527 999 524 1000L476 1000ZM320 222C352 277 383 331 415 386 384 407 381 438 386 469 396 534 426 588 475 631 492 646 512 657 535 656 545 656 556 653 568 650 598 703 629 757 660 811 613 843 574 850 529 822 499 805 474 783 450 759 367 672 308 571 268 457 254 416 245 374 244 330 244 292 259 262 291 240 300 234 310 228 320 222M445 384C435 383 429 380 425 373 396 322 366 271 337 219 330 208 334 196 345 190 360 181 375 172 390 164 402 157 413 160 420 172 450 223 479 273 508 324 515 336 512 348 500 355 485 364 470 372 455 381 451 383 447 383 445 384M690 807C680 806 674 803 670 796 640 745 610 693 581 642 574 631 578 619 589 613 603 604 618 596 632 588 646 580 657 583 665 597 692 643 719 690 746 737 749 741 751 745 753 749 758 759 755 771 745 777 730 786 714 795 698 804 695 806 691 806 690 807",
|
||||
"width": 1000
|
||||
},
|
||||
"search": [
|
||||
"icon_phone_circle"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": "531bc468eecbb8867d822f1c11f1e039",
|
||||
"css": "calendar",
|
||||
"code": 59395,
|
||||
"src": "fontawesome"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Copyright (C) 2017 by original authors @ fontello.com</metadata>
|
||||
<defs>
|
||||
<font id="fontello" horiz-adv-x="1000" >
|
||||
<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
||||
<missing-glyph horiz-adv-x="1000" />
|
||||
<glyph glyph-name="plus" unicode="" d="M786 439v-107q0-22-16-38t-38-15h-232v-233q0-22-16-37t-38-16h-107q-22 0-38 16t-15 37v233h-232q-23 0-38 15t-16 38v107q0 23 16 38t38 16h232v232q0 22 15 38t38 16h107q23 0 38-16t16-38v-232h232q23 0 38-16t16-38z" horiz-adv-x="785.7" />
|
||||
|
||||
<glyph glyph-name="minus" unicode="" d="M786 439v-107q0-22-16-38t-38-15h-678q-23 0-38 15t-16 38v107q0 23 16 38t38 16h678q23 0 38-16t16-38z" horiz-adv-x="785.7" />
|
||||
|
||||
<glyph glyph-name="ok" unicode="" d="M933 534q0-22-16-38l-404-404-76-76q-16-15-38-15t-38 15l-76 76-202 202q-15 16-15 38t15 38l76 76q16 16 38 16t38-16l164-165 366 367q16 16 38 16t38-16l76-76q16-15 16-38z" horiz-adv-x="1000" />
|
||||
|
||||
<glyph glyph-name="calendar" unicode="" d="M71-79h161v161h-161v-161z m197 0h178v161h-178v-161z m-197 197h161v178h-161v-178z m197 0h178v178h-178v-178z m-197 214h161v161h-161v-161z m411-411h179v161h-179v-161z m-214 411h178v161h-178v-161z m428-411h161v161h-161v-161z m-214 197h179v178h-179v-178z m-196 482v161q0 7-6 12t-12 6h-36q-7 0-12-6t-6-12v-161q0-7 6-13t12-5h36q7 0 12 5t6 13z m410-482h161v178h-161v-178z m-214 214h179v161h-179v-161z m214 0h161v161h-161v-161z m18 268v161q0 7-5 12t-13 6h-35q-7 0-13-6t-5-12v-161q0-7 5-13t13-5h35q8 0 13 5t5 13z m215 36v-715q0-29-22-50t-50-21h-786q-29 0-50 21t-21 50v715q0 29 21 50t50 21h72v54q0 37 26 63t63 26h36q37 0 63-26t26-63v-54h214v54q0 37 27 63t63 26h35q37 0 64-26t26-63v-54h71q29 0 50-21t22-50z" horiz-adv-x="928.6" />
|
||||
|
||||
<glyph glyph-name="icon_mail_circle" unicode="" d="M500-90c243 0 442 199 441 441-1 243-198 440-441 440-243 0-440-198-440-441 0-243 198-441 440-440m-24-60c-14 2-28 3-42 5-78 10-150 37-215 82-102 70-171 165-202 285-42 168-7 321 104 454 73 86 166 141 277 163 159 31 303-5 427-110 86-73 141-166 164-276 28-139 3-268-77-385-70-102-166-170-286-201-30-8-61-10-92-15-3-1-7-1-10-2l-48 0z m34 301c76 0 153 0 229 0 25 0 41 16 41 41 0 103 0 207 0 311 0 25-15 41-41 41-152 0-305 0-458 0-4 0-9-1-13-2-17-5-27-19-27-39 0-47 0-94 0-141 0-57 0-113 0-170 0-13 3-24 13-32 8-7 18-9 28-9l228 0z m-294 29l0 335c1 1 1 1 1 1 4 28 29 52 64 52 151 0 302 0 453 0 3 0 6 0 10 0 26-1 44-14 55-37 3-5 4-11 5-16l0-335c0-1 0-1-1-2-7-32-30-51-63-51l-433 0c-10 0-20 0-29 0-26 1-45 13-56 37-3 5-4 10-6 16m203 151c-20 22-40 43-59 65-22 24-44 48-66 72-5 5-6 11-2 16 3 4 9 7 14 4 3-1 5-3 7-5 49-54 99-107 147-162 25-27 62-29 87-11 7 5 14 12 20 19 47 51 94 102 140 154 8 9 18 6 22 0 3-5 2-10-3-16-20-22-41-45-61-67-21-23-42-46-63-69 7-7 15-14 22-21 33-30 67-60 100-91 0 0 1-1 2-1 6-7 7-13 2-19-5-5-13-5-19 1-23 21-47 43-70 64-18 16-36 32-54 49-19-24-43-40-75-40-31 0-55 15-74 40-12-11-23-21-34-31-30-28-60-55-90-82-7-6-14-6-19-1-5 6-4 13 2 19 40 36 80 72 119 109 2 1 3 2 5 4" horiz-adv-x="1000" />
|
||||
|
||||
<glyph glyph-name="icon_phone_circle" unicode="" d="M500-90c243 0 442 199 441 441-1 243-198 440-441 440-243 0-440-198-440-441 0-243 198-441 440-440m-24-60c-14 2-28 3-42 5-78 10-150 37-215 82-102 70-171 165-202 285-42 168-7 321 104 454 73 86 166 141 277 163 159 31 303-5 427-110 86-73 141-166 164-276 28-139 3-268-77-385-70-102-166-170-286-201-30-8-61-10-92-15-3-1-7-1-10-2l-48 0z m-156 778c32-55 63-109 95-164-31-21-34-52-29-83 10-65 40-119 89-162 17-15 37-26 60-25 10 0 21 3 33 6 30-53 61-107 92-161-47-32-86-39-131-11-30 17-55 39-79 63-83 87-142 188-182 302-14 41-23 83-24 127 0 38 15 68 47 90 9 6 19 12 29 18m125-162c-10 1-16 4-20 11-29 51-59 102-88 154-7 11-3 23 8 29 15 9 30 18 45 26 12 7 23 4 30-8 30-51 59-101 88-152 7-12 4-24-8-31-15-9-30-17-45-26-4-2-8-2-10-3m245-423c-10 1-16 4-20 11-30 51-60 103-89 154-7 11-3 23 8 29 14 9 29 17 43 25 14 8 25 5 33-9 27-46 54-93 81-140 3-4 5-8 7-12 5-10 2-22-8-28-15-9-31-18-47-27-3-2-7-2-8-3" horiz-adv-x="1000" />
|
||||
</font>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><path d="M2,0l0,16l12,0l0,-12l-4,-4l-8,0Z" style="fill:#19a0d2;fill-rule:nonzero;"/><path d="M10,4l0,-4l4,4l-4,0Z" style="fill:#fff;fill-opacity:0.65;fill-rule:nonzero;"/><path d="M13,5l0,5l-4,-5l4,0Z" style="fill-opacity:0.2;fill-rule:nonzero;"/><path d="M2,0l0,16l12,0l0,-12l-4,-4l-8,0Zm1,1l6,0l0,4l4,0l0,10l-10,0l0,-14Zm7,0.4l2.6,2.6l-2.6,0l0,-2.6Z" style="fill:#999;fill-rule:nonzero;"/></svg>
|
||||
|
After Width: | Height: | Size: 807 B |
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><path d="M2,0l0,16l12,0l0,-12l-4,-4l-8,0Z" style="fill:#1e314b;fill-rule:nonzero;"/><path d="M10,4l0,-4l4,4l-4,0Z" style="fill:#fff;fill-opacity:0.65;fill-rule:nonzero;"/><path d="M13,5l0,5l-4,-5l4,0Z" style="fill-opacity:0.2;fill-rule:nonzero;"/><path d="M2,0l0,16l12,0l0,-12l-4,-4l-8,0Zm1,1l6,0l0,4l4,0l0,10l-10,0l0,-14Zm7,0.4l2.6,2.6l-2.6,0l0,-2.6Z" style="fill:#999;fill-rule:nonzero;"/></svg>
|
||||
|
After Width: | Height: | Size: 807 B |
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 160 160" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" ><g><circle cx="80" cy="80" r="80" fill="white"/><circle cx="80" cy="80" r="60" fill="grey"/></g></svg>
|
||||
|
After Width: | Height: | Size: 402 B |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 34 KiB |