Skip to content

Commit 7c5f46e

Browse files
h3nn3sbbaumgartl
andauthored
TYPO3 v10.4 compatibility (#10)
* [BUGFIX] v10 compatibility * Remove unnecessary changes and fix errors to keep compatibility. Co-authored-by: Bernhard Baumgartl <[email protected]>
1 parent 908ce05 commit 7c5f46e

11 files changed

+48
-25
lines changed

Resources/Public/Icons/Extension.gif

2.04 KB
Loading

composer.json

+6-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
},
3030
"require": {
3131
"php": ">=5.3.7,<=7.99.99",
32-
"typo3/cms-core": ">=6.2.0,<=9.99.990"
32+
"typo3/cms-core": ">=6.2.0,<=10.99.990"
3333
},
3434
"suggest": {
3535
"typo3db_legacy": ">=1.0.0,<=1.0.99"
@@ -45,5 +45,10 @@
4545
},
4646
"replace": {
4747
"typo3-ter/datamints-feuser": "self.version"
48+
},
49+
"extra": {
50+
"typo3/cms": {
51+
"extension-key": "datamints_feuser"
52+
}
4853
}
4954
}

ext_emconf.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
'constraints' => [
2222
'depends' => [
2323
'php' => '5.3.7-7.99.99',
24-
'typo3' => '6.2.0-9.99.99',
24+
'typo3' => '6.2.0-10.99.99',
2525
],
2626
'conflicts' => [],
2727
'suggests' => [

ext_localconf.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
die ('Access denied.');
55
}
66

7-
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, 'pi1/class.tx_datamintsfeuser_pi1.php', '_pi1', 'list_type', 0);
7+
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43('datamints_feuser', 'pi1/class.tx_datamintsfeuser_pi1.php', '_pi1', 'list_type', 0);
88

9-
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][$_EXTKEY] = 'Datamints\\Feuser\\Hook\\FlexFormHook';
9+
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass']['datamints_feuser'] = 'Datamints\\Feuser\\Hook\\FlexFormHook';
1010

1111
// Extension Konfiguration auslesen.
12-
$confArray = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$_EXTKEY]);
12+
$confArray = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['datamints_feuser']) ?: \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Configuration\\ExtensionConfiguration')->get('datamints_feuser');
1313

1414
// Wenn gewünscht Salesforce verwenden.
1515
if ($confArray['enableSalesforce']) {
16-
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF'][$_EXTKEY]['sendMail']['salesforce'] = 'EXT:' . $_EXTKEY . '/lib/class.tx_datamintsfeuser_salesforce.php:tx_datamintsfeuser_salesforce->main';
16+
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['datamints_feuser']['sendMail']['salesforce'] = 'EXT:datamints_feuser/lib/class.tx_datamintsfeuser_salesforce.php:tx_datamintsfeuser_salesforce->main';
1717
}

ext_tables.php

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@
55
}
66

77
if (TYPO3_MODE == 'BE') {
8-
$TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['tx_datamintsfeuser_pi1_wizicon'] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi1/class.tx_datamintsfeuser_pi1_wizicon.php';
8+
$TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['tx_datamintsfeuser_pi1_wizicon'] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('datamints_feuser') . 'pi1/class.tx_datamintsfeuser_pi1_wizicon.php';
99
}
1010

11-
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:' . $_EXTKEY . '/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY . '_pi1', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'ext_icon.gif'), 'list_type', $_EXTKEY);
11+
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.list_type_pi1', 'datamints_feuser_pi1', 'EXT:datamints_feuser/Resources/Public/Icons/Extension.gif'), 'list_type', 'datamints_feuser');
1212

1313
// Flexform anzeigen und die Felder layout, select_key, pages und recursive ausblenden.
14-
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi1'] = 'pi_flexform';
15-
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi1'] = 'layout, select_key, pages, recursive';
14+
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['datamints_feuser_pi1'] = 'pi_flexform';
15+
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['datamints_feuser_pi1'] = 'layout, select_key, pages, recursive';
1616

1717
// Extension Konfiguration auslesen.
18-
$confArray = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$_EXTKEY]);
18+
$confArray = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['datamints_feuser']) ?: \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Configuration\\ExtensionConfiguration')->get('datamints_feuser');
1919

2020
// Flexformfunktionen einbinden.
21-
include_once(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'lib/class.tx_datamintsfeuser_flexform.php');
21+
include_once(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('datamints_feuser') . 'lib/class.tx_datamintsfeuser_flexform.php');
2222

2323
if ($confArray['enableIrre']) {
24-
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi1', 'FILE:EXT:' . $_EXTKEY . '/flexform/data_pi1_irre.xml');
24+
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue('datamints_feuser_pi1', 'FILE:EXT:datamints_feuser/flexform/data_pi1_irre.xml');
2525
} else {
26-
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi1', 'FILE:EXT:' . $_EXTKEY . '/flexform/data_pi1.xml');
26+
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue('datamints_feuser_pi1', 'FILE:EXT:datamints_feuser/flexform/data_pi1.xml');
2727
}

flexform/sheet_edit.xml

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
<label>LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.mailtype</label>
5050
<config>
5151
<type>select</type>
52+
<renderType>selectSingle</renderType>
5253
<items type="array">
5354
<numIndex index="0" type="array">
5455
<numIndex index="0"></numIndex>

flexform/sheet_general.xml

+8-4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<label>LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.showtype</label>
1313
<config>
1414
<type>select</type>
15+
<renderType>selectSingle</renderType>
1516
<items type="array">
1617
<numIndex index="0" type="array">
1718
<numIndex index="0">LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.showtype.register</numIndex>
@@ -37,12 +38,13 @@
3738
<label>LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.usedfields</label>
3839
<config>
3940
<type>select</type>
41+
<renderType>selectMultipleSideBySide</renderType>
4042
<minitems>0</minitems>
4143
<maxitems>100</maxitems>
42-
<numIndex index="2" type="array">
43-
<numIndex index="0">LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.showtype.edit</numIndex>
44-
<numIndex index="1">edit</numIndex>
45-
</numIndex>
44+
<numIndex index="2" type="array">
45+
<numIndex index="0">LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.showtype.edit</numIndex>
46+
<numIndex index="1">edit</numIndex>
47+
</numIndex>
4648
<size>10</size>
4749
<autoSizeMax>20</autoSizeMax>
4850
<selectedListStyle>width:400px</selectedListStyle>
@@ -89,6 +91,7 @@
8991
<label>LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.requiredfields</label>
9092
<config>
9193
<type>select</type>
94+
<renderType>selectMultipleSideBySide</renderType>
9295
<size>5</size>
9396
<autoSizeMax>10</autoSizeMax>
9497
<minitems>0</minitems>
@@ -116,6 +119,7 @@
116119
<label>LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.uniquefields</label>
117120
<config>
118121
<type>select</type>
122+
<renderType>selectMultipleSideBySide</renderType>
119123
<size>5</size>
120124
<autoSizeMax>10</autoSizeMax>
121125
<minitems>0</minitems>

flexform/sheet_general_irre.xml

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<label>LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.showtype</label>
1313
<config>
1414
<type>select</type>
15+
<renderType>selectSingle</renderType>
1516
<items type="array">
1617
<numIndex index="0" type="array">
1718
<numIndex index="0">LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.showtype.register</numIndex>
@@ -56,6 +57,7 @@
5657
<label>LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.field</label>
5758
<config>
5859
<type>select</type>
60+
<renderType>selectSingle</renderType>
5961
<minitems>0</minitems>
6062
<maxitems>1</maxitems>
6163
<size>1</size>

flexform/sheet_registration.xml

+3
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
<label>LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.register.usergroup</label>
3232
<config>
3333
<type>select</type>
34+
<renderType>selectMultipleSideBySide</renderType>
3435
<size>3</size>
3536
<autoSizeMax>5</autoSizeMax>
3637
<minitems>0</minitems>
@@ -78,6 +79,7 @@
7879
<label>LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.register.approvalcheck</label>
7980
<config>
8081
<type>select</type>
82+
<renderType>selectMultipleSideBySide</renderType>
8183
<size>3</size>
8284
<autoSizeMax>5</autoSizeMax>
8385
<minitems>0</minitems>
@@ -122,6 +124,7 @@
122124
<label>LLL:EXT:datamints_feuser/locallang_db.xml:tt_content.pi_flexform.mailtype</label>
123125
<config>
124126
<type>select</type>
127+
<renderType>selectSingle</renderType>
125128
<items type="array">
126129
<numIndex index="0" type="array">
127130
<numIndex index="0"></numIndex>

lib/class.tx_datamintsfeuser_utils.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,8 @@ public static function generatePassword($password, $arrGenerate = array()) {
203203

204204
$arrPassword['normal'] = '';
205205

206-
for ($i = 0; $i < (($arrGenerate['length']) ? $arrGenerate['length'] : 8); $i++) {
207-
$arrPassword['normal'] .= $chars{mt_rand(0, strlen($chars))};
206+
for ($i = 0; $i < (($arrGenerate['length']) ?: 8); $i++) {
207+
$arrPassword['normal'] .= $chars[random_int(0, strlen($chars))];
208208
}
209209
}
210210

@@ -394,7 +394,7 @@ public static function convertHtmlEmailToPlain($content) {
394394
*/
395395
public static function getTemplateSubpart($templateFile, $templatePart, $markerArray = array()) {
396396
// Template laden.
397-
$fileFolder = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->retrieveFileOrFolderObject($templateFile);
397+
$fileFolder = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\ResourceFactory')->retrieveFileOrFolderObject($templateFile);
398398

399399
if (!$fileFolder && class_exists('TYPO3\\CMS\\Core\\LinkHandling\\LinkService')) {
400400
$result = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\LinkHandling\\LinkService')->resolve($templateFile);

pi1/class.tx_datamintsfeuser_pi1.php

+12-4
Original file line numberDiff line numberDiff line change
@@ -1675,11 +1675,19 @@ public function sendMail($userId, $templatePart, $adminMail, $config, $extraMark
16751675
$mail->setFrom(array($fromEmail => $fromName));
16761676
$mail->setReplyTo(array($replytoEmail => $replytoName));
16771677
$mail->setTo(array($toEmail => $toName));
1678-
$mail->setBody($bodyPlain);
1679-
$mail->setCharset($this->frontendController->metaCharset);
1678+
1679+
if (method_exists($mail, 'text')) {
1680+
$mail->text($bodyPlain, $this->frontendController->metaCharset);
1681+
} else {
1682+
$mail->setBody($bodyPlain, 'text/plain', $this->frontendController->metaCharset);
1683+
}
16801684

16811685
if ($config['mailtype'] == 'html') {
1682-
$mail->addPart($bodyHtml, 'text/html', $this->frontendController->metaCharset);
1686+
if (method_exists($mail, 'html')) {
1687+
$mail->html($bodyHtml, $this->frontendController->metaCharset);
1688+
} else {
1689+
$mail->addPart($bodyHtml, 'text/html', $this->frontendController->metaCharset);
1690+
}
16831691
}
16841692

16851693
$mail->send();
@@ -3011,7 +3019,7 @@ public function determineConfiguration() {
30113019
$flexConf = array();
30123020

30133021
// Extension Konfiguration ermitteln.
3014-
$this->extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$this->extKey]);
3022+
$this->extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$this->extKey]) ?: GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Configuration\\ExtensionConfiguration')->get($this->extKey);
30153023

30163024
// Alle Tabs der Flexformkonfiguration durchgehn.
30173025
if (is_array($this->cObj->data['pi_flexform']['data'])) {

0 commit comments

Comments
 (0)