wip watten

This commit is contained in:
salam committed 2026-10-18 17:49:22 +02:00
1 parent 8ace316cbf
commit afc8a6e1f5
93 files changed
+14369 -1

No files matched your search

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>Statistik Konfiguration</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<!-- Add settings here ... -->
<settings.statistik_mode>
<TCEforms>
<label>Select Statistik</label>
<config>
<type>select</type>
<renderType>selectSingle</renderType>
<items>
<numIndex index="0">
<numIndex index="0">Spieltag Chart</numIndex>
<numIndex index="1">line</numIndex>
</numIndex>
<numIndex index="1">
<numIndex index="0">Ranglisten Bar</numIndex>
<numIndex index="1">bar</numIndex>
</numIndex>
</items>
</config>
</TCEforms>
</settings.statistik_mode>
<!-- end of settings -->
</el>
</ROOT>
</sDEF>
</sheets>
</T3DataStructure>
+8
View File
@@ -0,0 +1,8 @@
<?php
return [
'watten-plugin-ergebnisse' => [
'provider' => \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class,
'source' => 'EXT:watten/Resources/Public/Icons/user_plugin_ergebnisse.svg'
],
];
@@ -0,0 +1,12 @@
<?php
return [
'frontend' => [
'hermanntelser/watten/wattenajax' => [
'target' => \HermannTelser\Watten\Controller\EidController::class,
'after' => [
'typo3/cms-frontend/prepare-tsfe-rendering'
]
],
],
];
@@ -0,0 +1,4 @@
<?php
defined('TYPO3') || die();
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('watten', 'Configuration/TypoScript', 'Watten');
@@ -0,0 +1,32 @@
<?php
defined('TYPO3') || die();
// 1 extension key
// 2 the name of the plugin
// 3 title of the plugin used in the select box of the content element
// 4 icon
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'Watten',
'Ergebnisse',
'Watten Ergebnisse',
'EXT:watten/Resources/Public/Icons/Extension.svg'
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'Watten',
'Rangliste',
'Watten Rangliste',
'EXT:watten/Resources/Public/Icons/Extension.svg'
);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
'Watten',
'Statistik',
'Watten Statistik',
'EXT:watten/Resources/Public/Icons/Extension.svg'
);
// $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['watten_statistik'] = 'pi_flexform';
// \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
// 'watten_statistik',
// 'FILE:EXT:watten/Configuration/FlexForms/flexform_watten.xml'
// );
@@ -0,0 +1,9 @@
<?php
defined('TYPO3_MODE') || die();
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'tx_watten_domain_model_athleten',
'Watten Athleten'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_watten_domain_model_athleten');
@@ -0,0 +1,9 @@
<?php
defined('TYPO3_MODE') || die();
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'tx_watten_domain_model_ergebnisse',
'Watten Ergebnisse'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_watten_domain_model_ergebnisse');
@@ -0,0 +1,9 @@
<?php
defined('TYPO3_MODE') || die();
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
'tx_watten_domain_model_events',
'Watten Spieltage'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_watten_domain_model_events');
@@ -0,0 +1,107 @@
<?php
return [
'ctrl' => [
'title' => 'Watten Athleten',
'label' => 'name',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'dividers2tabs' => true,
'versioningWS' => false,
'iconfile' => 'EXT:watten/Resources/Public/Icons/User.svg',
'sortby' => 'uid',
],
'interface' => [
'showRecordFieldList' => 'gender, name, image, isactive',
],
'types' => [
'0' => ['showitem' => '
--div--;Teilnehmer, gender, name, isactive, image'
],
],
'palettes' => [
'1' => ['showitem' => 'name, isactive'],
],
'columns' => [
'gender' => [
'exclude' => 1,
'label' => 'Gender',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['Herr', 0],
['Frau', 1],
],
],
],
'name' => [
'exclude' => 1,
'label' => 'Athleten',
'config' => [
'type' => 'input',
'size' => 30,
'max' => 50,
],
],
'isactive' => [
'exclude' => 0,
'label' => 'Ist Aktiv',
'config' => [
'type' => 'check',
],
],
'image' => [
'exclude' => true,
'label' => 'Avatar',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'image',
[
'appearance' => [
'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_UNKNOWN => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
title,
alternative,
crop,
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;;filePalette
'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;;filePalette
'
],
],
],
'minitems' => 0,
'maxitems' => 1,
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
],
];
@@ -0,0 +1,169 @@
<?php
return [
'ctrl' => [
'title' => 'Watten Ergebnisse',
'label' => 'uid',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'dividers2tabs' => true,
'versioningWS' => false,
'searchFields' => 'uid',
'iconfile' => 'EXT:watten/Resources/Public/Icons/List.svg',
'default_sortby' => 'uid DESC',
],
'interface' => [
'showRecordFieldList' => 'event_id, s1, s2, v1, v2, bumid, gstrichen',
],
'types' => [
'1' => ['showitem' => '
--div--;Spieltag, tournaments_id, event_id, s1, s2, v1, v2, bumid, gstrichen'
],
],
'palettes' => [
'1' => ['showitem' => 'datum'],
],
'columns' => [
// 'datum' => [
// 'exclude' => 1,
// 'label' => 'Spieltag',
// 'config' => [
// 'type' => 'input',
// 'renderType' => 'inputDateTime',
// 'disableAgeDisplay' => 1,
// 'size' => 13,
// 'eval' => 'date',
// 'checkbox' => 0,
// 'default' => time(),
// 'behaviour' => ['allowLanguageSynchronization' => false ],
// 'range' => ['lower' => mktime(0, 0, 0, date('m'), date('d'), date('Y'))]
// ],
// ],
'tournaments_id' => [
'exclude' => 0,
'label' => 'Tournament',
'config' => [
'fieldWizard' => [
'selectIcons' => [
'disabled' => true
]
],
"type" => "select",
'renderType' => 'selectSingle',
"foreign_table" => "tx_watten_tournaments",
// 'foreign_table_where' => 'AND active = 1 ORDER BY tournament',
"size" => 1,
"minitems" => 1,
"maxitems" => 1,
],
],
'event_id' => [
'exclude' => 0,
'label' => 'Event',
'config' => [
'fieldWizard' => [
'selectIcons' => [
'disabled' => true
]
],
"type" => "select",
'renderType' => 'selectSingle',
"foreign_table" => "tx_watten_domain_model_events",
// 'foreign_table_where' => 'AND isactive = 1',
"size" => 1,
"minitems" => 1,
"maxitems" => 1,
],
],
's1' => [
'exclude' => 0,
'label' => 'Sieger 1',
'config' => [
"type" => "select",
"default" => "0",
'items' => [
['Bitte wählen', 0],
],
'renderType' => 'selectSingle',
"foreign_table" => "tx_watten_domain_model_athleten",
'foreign_table_where' => 'AND isactive = 1 ORDER BY name',
"size" => 1,
"minitems" => 1,
"maxitems" => 1,
],
],
's2' => [
'exclude' => 0,
'label' => 'Sieger 2',
'config' => [
"type" => "select",
'items' => [
['Bitte wählen', 0],
],
"default" => "0",
'renderType' => 'selectSingle',
"foreign_table" => "tx_watten_domain_model_athleten",
'foreign_table_where' => 'AND isactive = 1 ORDER BY name',
"size" => 1,
"minitems" => 1,
"maxitems" => 1,
],
],
'v1' => [
'exclude' => 0,
'label' => 'Verlierer 1',
'config' => [
"type" => "select",
'items' => [
['Bitte wählen', 0],
],
"default" => "0",
'renderType' => 'selectSingle',
"foreign_table" => "tx_watten_domain_model_athleten",
'foreign_table_where' => 'AND isactive = 1 ORDER BY name',
"size" => 1,
"minitems" => 1,
"maxitems" => 1,
],
],
'v2' => [
'exclude' => 0,
'label' => 'Verlierer 2',
'config' => [
"type" => "select",
'items' => [
['Bitte wählen', 0],
],
"default" => "0",
'renderType' => 'selectSingle',
"foreign_table" => "tx_watten_domain_model_athleten",
'foreign_table_where' => 'AND isactive = 1 ORDER BY name',
"size" => 1,
"minitems" => 1,
"maxitems" => 1,
],
],
'bumid' => [
'label' => 'Bummalen',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
['Sieg', 1],
['Schneider', 2],
['Retour Schneider', 4],
],
"size" => 1,
"minitems" => 1,
"maxitems" => 1,
],
],
'gstrichen' => [
'exclude' => 0,
'label' => 'Gstrichen/Gstrichen',
'config' => [
'type' => 'check',
],
],
],
];
@@ -0,0 +1,84 @@
<?php
return [
'ctrl' => [
'title' => 'Watten Spieltage',
'label' => 'datum',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'dividers2tabs' => true,
'versioningWS' => false,
'iconfile' => 'EXT:watten/Resources/Public/Icons/Calender.svg',
'default_sortby' => 'datum DESC',
],
'interface' => [
'showRecordFieldList' => 'tournaments_id, datum, isactive, event, story',
],
'types' => [
'1' => ['showitem' => '
--div--;Spieltag, tournaments_id, datum, isactive, event, story'
],
],
'palettes' => [
'1' => ['showitem' => 'datum'],
],
'columns' => [
'tournaments_id' => [
'exclude' => 0,
'label' => 'Tournament/Saison',
'config' =>[
'fieldWizard' => [
'selectIcons' => [
'disabled' => true
]
],
"type" => "select",
'renderType' => 'selectSingle',
"foreign_table" => "tx_watten_tournaments",
"size" => 1,
"minitems" => 1,
"maxitems" => 1,
],
],
'datum' => [
'exclude' => 1,
'label' => 'Spieltag',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'disableAgeDisplay' => 1,
'size' => 13,
'eval' => 'date',
'checkbox' => 0,
'default' => time(),
'behaviour' => ['allowLanguageSynchronization' => false ]
],
],
'isactive' => [
'exclude' => 0,
'label' => 'Ist Aktiv',
'config' => [
'type' => 'check',
],
],
'event' => [
'exclude' => 1,
'label' => 'Select Anhang',
'config' => [
'type' => 'input',
'size' => 30,
'max' => 50,
],
],
'story' => [
'exclude' => true,
'label' => 'Spieltag Beschreibung',
'config' => [
'type' => 'text',
'cols' => 60,
'rows' => 5,
'enableRichtext' => true
]
],
],
];
@@ -0,0 +1,50 @@
<?php
return [
'ctrl' => [
'title' => 'Saisonen / Tournaments',
'label' => 'tournament',
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'dividers2tabs' => true,
'versioningWS' => false,
'iconfile' => 'EXT:watten/Resources/Public/Icons/Sun.svg',
'default_sortby' => 'tournament DESC',
],
'interface' => [
'showRecordFieldList' => 'tournament, active, king',
],
'types' => [
'0' => ['showitem' => '
--div--;Tournaments, tournament, active, king'
],
],
'palettes' => [
'1' => ['showitem' => 'Tournaments'],
],
'columns' => [
'tournament' => [
'exclude' => 0,
'label' => 'Tournaments',
'config' => [
'type' => 'input',
'size' => 30,
'max' => 50,
],
],
'active' => [
'exclude' => 0,
'label' => 'Ist Aktiv',
'config' => [
'type' => 'check',
],
],
'king' => [
'exclude' => 0,
'label' => 'Aktiver König',
'config' => [
'type' => 'check',
],
],
],
];
@@ -0,0 +1,14 @@
plugin.tx_watten_domain_model_ergebnisse {
view {
# cat=plugin.tx_watten_domain_model_ergebnisse/file; type=string; label=Path to template root (FE)
templateRootPath = EXT:watten/Resources/Private/Templates/
# cat=plugin.tx_watten_domain_model_ergebnisse/file; type=string; label=Path to template partials (FE)
partialRootPath = EXT:watten/Resources/Private/Partials/
# cat=plugin.tx_watten_domain_model_ergebnisse/file; type=string; label=Path to template layouts (FE)
layoutRootPath = EXT:watten/Resources/Private/Layouts/
}
persistence {
# cat=plugin.tx_watten_domain_model_ergebnisse//a; type=string; label=Default storage PID
storagePid =
}
}
@@ -0,0 +1,37 @@
plugin.tx_watten_domain_model_ergebnisse {
view {
templateRootPaths.0 = EXT:watten/Resources/Private/Templates/
templateRootPaths.1 = {$plugin.tx_watten_domain_model_ergebnisse.view.templateRootPath}
partialRootPaths.0 = EXT:watten/Resources/Private/Partials/
partialRootPaths.1 = {$plugin.tx_watten_domain_model_ergebnisse.view.partialRootPath}
layoutRootPaths.0 = EXT:watten/Resources/Private/Layouts/
layoutRootPaths.1 = {$plugin.tx_watten_domain_model_ergebnisse.view.layoutRootPath}
}
persistence {
storagePid = {$plugin.tx_watten_domain_model_ergebnisse.persistence.storagePid}
#recursive = 1
}
features {
#skipDefaultArguments = 1
# if set to 1, the enable fields are ignored in BE context
ignoreAllEnableFieldsInBe = 0
}
mvc {
#callDefaultActionIfActionCantBeResolved = 1
}
}
tx_watten_domain_model_ergebnisse = PAGE
tx_watten_domain_model_ergebnisse {
typeNum < 1234
config {
disableAllHeaderCode = 1
additionalHeaders = Content-type:text/html
xhtml_cleaning = 0
admPanel = 0
debug = 0
no_cache = 1
}
}