diff --git a/Configuration/Extbase/Persistence/Classes.php b/Configuration/Extbase/Persistence/Classes.php index 1c70c6a38d7145cf482790e59efbe53f4b1d67d6..8b7caeb8a298b1093d4666397efb70e9e535a216 100644 --- a/Configuration/Extbase/Persistence/Classes.php +++ b/Configuration/Extbase/Persistence/Classes.php @@ -4,14 +4,18 @@ declare(strict_types=1); // if you need to change this, keep in mind the changes need to be done in // Configuration/TypoScript/Common/setup.typoscript for TYPO3 9, too +use SGalinski\SgJobs\Domain\Model\ExperienceLevel; +use SGalinski\SgJobs\Domain\Model\FileReference; +use SGalinski\SgJobs\Domain\Model\JobApplication; + return [ - \SGalinski\SgJobs\Domain\Model\FileReference::class => [ + FileReference::class => [ 'tableName' => 'sys_file_reference' ], - \SGalinski\SgJobs\Domain\Model\JobApplication::class => [ + JobApplication::class => [ 'tableName' => 'tx_sgjobs_domain_model_job_application' ], - \SGalinski\SgJobs\Domain\Model\ExperienceLevel::class => [ + ExperienceLevel::class => [ 'tableName' => 'tx_sgjobs_domain_model_experience_level' ] ]; diff --git a/Configuration/Icons.php b/Configuration/Icons.php index 4fad03d9adf0ba9ed701499c679ac13a358caf55..621beb0c2afb468bae35e403647db5a0186d5095 100644 --- a/Configuration/Icons.php +++ b/Configuration/Icons.php @@ -6,6 +6,8 @@ * Either use a closure here, or do not call your variable $icons. */ +use TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider; + $iconList = []; $sgJobsIcons = [ 'extension-sg_jobs-module' => 'module-sgjobs.svg', @@ -13,7 +15,7 @@ $sgJobsIcons = [ foreach ($sgJobsIcons as $identifier => $path) { $iconList[$identifier] = [ - 'provider' => \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, + 'provider' => SvgIconProvider::class, 'source' => 'EXT:sg_jobs/Resources/Public/Icons/' . $path, ]; } diff --git a/Configuration/TCA/Overrides/sys_template.php b/Configuration/TCA/Overrides/sys_template.php index 641c18aaa4e5c47d66be54f136674ee264922917..5b5fb8eac2cdf49d388f05979dc83b5ee00e34aa 100644 --- a/Configuration/TCA/Overrides/sys_template.php +++ b/Configuration/TCA/Overrides/sys_template.php @@ -1,33 +1,9 @@ <?php -defined('TYPO3') or die(); -/** - * - * Copyright notice - * - * (c) sgalinski Internet Services (https://www.sgalinski.de) - * - * 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! - */ - // Adds the static TypoScript template. -\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile( +use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; + +ExtensionManagementUtility::addStaticFile( 'sg_jobs', 'Configuration/TypoScript/Frontend', 'SgJobs - Configuration' diff --git a/Configuration/TCA/Overrides/tt_content.php b/Configuration/TCA/Overrides/tt_content.php index 613a289588919f1a9f86bfb4eca9ead2c6862f90..4ecddf379b505509073d73bc8fb6779e7f6b8a28 100644 --- a/Configuration/TCA/Overrides/tt_content.php +++ b/Configuration/TCA/Overrides/tt_content.php @@ -1,70 +1,43 @@ <?php -defined('TYPO3') or die(); -/** - * - * Copyright notice - * - * (c) sgalinski Internet Services (https://www.sgalinski.de) - * - * 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! - */ - // Register frontend plugins -\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( +use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; +use TYPO3\CMS\Extbase\Utility\ExtensionUtility; + +ExtensionUtility::registerPlugin( 'sg_jobs', 'Joblist', 'LLL:EXT:sg_jobs/Resources/Private/Language/locallang_backend.xlf:listPlugin' ); // Register frontend plugins -\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( +ExtensionUtility::registerPlugin( 'sg_jobs', 'JobApplication', 'LLL:EXT:sg_jobs/Resources/Private/Language/locallang_backend.xlf:applyPlugin' ); // Register frontend plugins -\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin( +ExtensionUtility::registerPlugin( 'sg_jobs', 'JobTeaser', 'LLL:EXT:sg_jobs/Resources/Private/Language/locallang_backend.xlf:teaserPlugin' ); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['sgjobs_joblist'] = 'pi_flexform'; -\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue( +ExtensionManagementUtility::addPiFlexFormValue( 'sgjobs_joblist', 'FILE:EXT:sg_jobs/Configuration/FlexForms/Joblist.xml' ); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['sgjobs_jobapplication'] = 'pi_flexform'; -\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue( +ExtensionManagementUtility::addPiFlexFormValue( 'sgjobs_jobapplication', 'FILE:EXT:sg_jobs/Configuration/FlexForms/JobApplication.xml' ); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['sgjobs_jobteaser'] = 'pi_flexform'; -\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue( +ExtensionManagementUtility::addPiFlexFormValue( 'sgjobs_jobteaser', 'FILE:EXT:sg_jobs/Configuration/FlexForms/JobTeaser.xml' ); - -$GLOBALS['TCA']['tt_content']['types']['list']['previewRenderer']['sgjobs_joblist'] = \SGalinski\SgJobs\Preview\PreviewRenderer::class; -$GLOBALS['TCA']['tt_content']['types']['list']['previewRenderer']['sgjobs_jobapplication'] = \SGalinski\SgJobs\Preview\PreviewRenderer::class; -$GLOBALS['TCA']['tt_content']['types']['list']['previewRenderer']['sgjobs_jobteaser'] = \SGalinski\SgJobs\Preview\PreviewRenderer::class; diff --git a/Configuration/TCA/tx_sgjobs_domain_model_contact.php b/Configuration/TCA/tx_sgjobs_domain_model_contact.php index 994d3c5281485a187031d3e81bc4c40d740f0f30..ca6084d01a57b6cc8469c2273ead204c157a15be 100644 --- a/Configuration/TCA/tx_sgjobs_domain_model_contact.php +++ b/Configuration/TCA/tx_sgjobs_domain_model_contact.php @@ -174,16 +174,11 @@ $columns = [ 'image' => [ 'exclude' => TRUE, 'label' => 'LLL:EXT:sg_jobs/Resources/Private/Language/locallang_db.xlf:tx_sgjobs_domain_model_contact.image', - 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( - 'image', - [ - 'appearance' => [ - 'useSortable' => TRUE, - ], - 'minitems' => 0, - 'maxitems' => 1, - ] - ), + 'config' => [ + 'type' => 'file', + 'minitems' => 0, + 'maxitems' => 1, + ] ], 'phone' => [ 'exclude' => TRUE, diff --git a/Configuration/TCA/tx_sgjobs_domain_model_job.php b/Configuration/TCA/tx_sgjobs_domain_model_job.php index 399ea8586ba5c2be44e10cf1c7eca981e2481ce7..5038d37649dd40b31640583c1f8810a7743e3e44 100644 --- a/Configuration/TCA/tx_sgjobs_domain_model_job.php +++ b/Configuration/TCA/tx_sgjobs_domain_model_job.php @@ -209,11 +209,11 @@ $columns = [ 'attachment' => [ 'exclude' => TRUE, 'label' => 'LLL:EXT:sg_jobs/Resources/Private/Language/locallang_db.xlf:tx_sgjobs_domain_model_job.attachment', - 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( - 'attachment', - ['maxitems' => 1], - 'pdf' - ) + 'config' => [ + 'type' => 'file', + 'maxitems' => 1, + 'allowed' => ['pdf'] + ] ], 'department' => [ 'exclude' => TRUE, diff --git a/Configuration/TCA/tx_sgjobs_domain_model_job_application.php b/Configuration/TCA/tx_sgjobs_domain_model_job_application.php index 4a0a4991402b2aff9ac0805d29ec4ddc2c033e05..ff021298746c13b80bb7c0e6be2d830c525723ec 100644 --- a/Configuration/TCA/tx_sgjobs_domain_model_job_application.php +++ b/Configuration/TCA/tx_sgjobs_domain_model_job_application.php @@ -332,29 +332,32 @@ $columns = [ 'cover_letter' => [ 'exclude' => FALSE, 'label' => 'LLL:EXT:sg_jobs/Resources/Private/Language/locallang_db.xlf:tx_sgjobs_domain_model_job_application.cover_letter', - 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( - 'cover_letter', - ['maxitems' => 1, 'minitems' => 1], - 'pdf' - ), + 'config' => [ + 'type' => 'file', + 'maxitems' => 1, + 'minitems' => 1, + 'allowed' => ['pdf'] + ] ], 'certificate' => [ 'exclude' => FALSE, 'label' => 'LLL:EXT:sg_jobs/Resources/Private/Language/locallang_db.xlf:tx_sgjobs_domain_model_job_application.certificate', - 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( - 'certificate', - ['maxitems' => 1, 'minitems' => 1], - 'pdf' - ), + 'config' => [ + 'type' => 'file', + 'maxitems' => 1, + 'minitems' => 1, + 'allowed' => ['pdf'] + ] ], 'cv' => [ 'exclude' => FALSE, 'label' => 'LLL:EXT:sg_jobs/Resources/Private/Language/locallang_db.xlf:tx_sgjobs_domain_model_job_application.cv', - 'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig( - 'cv', - ['maxitems' => 1, 'minitems' => 1], - 'pdf' - ), + 'config' => [ + 'type' => 'file', + 'maxitems' => 1, + 'minitems' => 1, + 'allowed' => ['pdf'] + ] ], 'privacy_policy' => [ 'exclude' => FALSE, diff --git a/Configuration/TypoScript/Common/setup.typoscript b/Configuration/TypoScript/Common/setup.typoscript deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/ext_localconf.php b/ext_localconf.php index 33970f02807c71b920b45f05f3adc0247e6e8427..46b69995f8937b173ce1c555315b0f7976866320 100644 --- a/ext_localconf.php +++ b/ext_localconf.php @@ -1,60 +1,67 @@ <?php +use SGalinski\SgAjax\Service\AjaxRegistration; +use SGalinski\SgJobs\Controller\Ajax\UploadController; +use SGalinski\SgJobs\Controller\JoblistController; +use SGalinski\SgJobs\Controller\JobTeaserController; +use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; +use TYPO3\CMS\Extbase\Utility\ExtensionUtility; + call_user_func( static function () { - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup( + ExtensionManagementUtility::addTypoScriptSetup( '@import "EXT:sg_jobs/Configuration/TypoScript/Common/setup.typoscript"' ); // Configure frontend plugins - \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( + ExtensionUtility::configurePlugin( 'SgJobs', 'Joblist', [ // Available actions - \SGalinski\SgJobs\Controller\JoblistController::class => 'index' + JoblistController::class => 'index' ], [ // Non-Cache actions - \SGalinski\SgJobs\Controller\JoblistController::class => 'index' + JoblistController::class => 'index' ] ); - \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( + ExtensionUtility::configurePlugin( 'SgJobs', 'JobApplication', [ // Available actions - \SGalinski\SgJobs\Controller\JoblistController::class => 'applyForm, apply, empty' + JoblistController::class => 'applyForm, apply, empty' ], [ // Non-Cache actions - \SGalinski\SgJobs\Controller\JoblistController::class => 'applyForm, apply, empty' + JoblistController::class => 'applyForm, apply, empty' ] ); - \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin( + ExtensionUtility::configurePlugin( 'SgJobs', 'JobTeaser', [ // Available actions - \SGalinski\SgJobs\Controller\JobTeaserController::class => 'index' + JobTeaserController::class => 'index' ], [ // Non-Cache actions - \SGalinski\SgJobs\Controller\JobTeaserController::class => '' + JobTeaserController::class => '' ] ); - \SGalinski\SgAjax\Service\AjaxRegistration::configureAjaxFrontendPlugin( + AjaxRegistration::configureAjaxFrontendPlugin( 'sg_jobs', [ - \SGalinski\SgJobs\Controller\Ajax\UploadController::class => 'uploadCoverletter, uploadCv, uploadCertificate', + UploadController::class => 'uploadCoverletter, uploadCv, uploadCertificate', ] ); - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptConstants( + ExtensionManagementUtility::addTypoScriptConstants( '@import "EXT:sg_jobs/Configuration/TypoScript/Backend/constants.typoscript"' ); - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup( + ExtensionManagementUtility::addTypoScriptSetup( '@import "EXT:sg_jobs/Configuration/TypoScript/Backend/setup.typoscript"' ); @@ -63,7 +70,7 @@ call_user_func( $GLOBALS['sg_mail']['sg_jobs']['ApplicantMail'] = 'EXT:sg_jobs/Configuration/SgMail/ApplicantMail.php'; //include Plugin sg_jobs - \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig( + ExtensionManagementUtility::addPageTSConfig( '@import "EXT:sg_jobs/Configuration/TsConfig/Page/NewContentElementWizard.tsconfig"' );