Commit d67a854c authored by Thomas Löffler's avatar Thomas Löffler

Merge branch 'TYPO3V9/ter_fe2' into task/update-solr

parents 3c886716 b1880fd2
......@@ -3113,11 +3113,11 @@
},
{
"name": "t3o/gitlab_api",
"version": "1.0.2",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://git-t3o.typo3.org/t3o/gitlab_api.git",
"reference": "89d77f24e1f5a19823e64db7b0346acda9476775"
"reference": "4eba61d5fc46bce200f44fabff25e800d69e9611"
},
"replace": {
"gitlab_api": "self.version",
......@@ -3132,7 +3132,7 @@
"keywords": [
"TYPO3 CMS"
],
"time": "2018-04-11T09:12:14+00:00"
"time": "2019-08-08T12:20:59+00:00"
},
{
"name": "t3o/t3olayout",
......@@ -3140,7 +3140,7 @@
"source": {
"type": "git",
"url": "https://git-t3o.typo3.org/t3o/t3olayout.git",
"reference": "d8a0598bd4e35a843888ec6dcf3add85796be2fd"
"reference": "654d258aca85468439fb797cabd3852fe0768958"
},
"require": {
"causal/ig_ldap_sso_auth": "^3.4",
......@@ -3189,7 +3189,7 @@
"keywords": [
"TYPO3 CMS"
],
"time": "2019-08-02T21:41:34+00:00"
"time": "2019-08-08T12:24:44+00:00"
},
{
"name": "t3o/ter-frontend",
......
......@@ -36,7 +36,7 @@ class ExtConf implements SingletonInterface
public function __construct()
{
// get global configuration
$extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['ter']);
$extConf = $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['ter'];
if (is_array($extConf) && count($extConf)) {
// call setter method foreach configuration entry
foreach ($extConf as $key => $value) {
......
......@@ -14,6 +14,7 @@ namespace T3o\Ter\Task;
* The TYPO3 project - inspiring people to share!
*/
use TYPO3\CMS\Core\Core\Environment;
use TYPO3\CMS\Core\Utility\GeneralUtility;
/**
......@@ -42,7 +43,7 @@ class UpdateCurrentVersionListTask extends \TYPO3\CMS\Extbase\Scheduler\Task
protected function fetchCurrentCoreData()
{
$result = false;
$targetFile = PATH_site . $GLOBALS['TYPO3_CONF_VARS']['BE']['fileadminDir'] . 'currentcoredata.json';
$targetFile = Environment::getPublicPath() . '/' . $GLOBALS['TYPO3_CONF_VARS']['BE']['fileadminDir'] . 'currentcoredata.json';
$sourceData = GeneralUtility::getUrl('http://get.typo3.org/json');
if (json_decode($sourceData, true) !== null) {
$result = GeneralUtility::writeFile($targetFile, $sourceData);
......@@ -57,7 +58,7 @@ class UpdateCurrentVersionListTask extends \TYPO3\CMS\Extbase\Scheduler\Task
protected function fetchCurrentDocumentationData()
{
$result = false;
$targetFile = PATH_site . $GLOBALS['TYPO3_CONF_VARS']['BE']['fileadminDir'] . 'currentdocumentationdata.json';
$targetFile = Environment::getPublicPath() . '/' . $GLOBALS['TYPO3_CONF_VARS']['BE']['fileadminDir'] . 'currentdocumentationdata.json';
$sourceData = GeneralUtility::getUrl('https://intercept.typo3.com/assets/docs/manuals.json');
if (json_decode($sourceData, true) !== null) {
$result = GeneralUtility::writeFile($targetFile, $sourceData);
......@@ -76,12 +77,12 @@ class UpdateCurrentVersionListTask extends \TYPO3\CMS\Extbase\Scheduler\Task
protected function generateExtensionFilesForExtensionManager(): bool
{
// Check extension configuration
if (empty($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['ter'])) {
if (empty($GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['ter'])) {
throw new \Exception('No extension configuration found in $TYPO3_CONF_VARS', 1303220916);
}
// Check extension repository path
$extensionConfig = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['ter']);
$extensionConfig = $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['ter'];
if (empty($extensionConfig['repositoryDir'])) {
throw new \Exception('No repository path found in extension configuration', 1303220917);
}
......
......@@ -19,7 +19,7 @@ return [
'label_userFunc' => 'EXT:ter/class.tx_ter_tcaLabel.php:tx_ter_tcaLabel->getExtensionKey',
'default_sortby' => 'ORDER BY extensionuid',
'title' => 'LLL:EXT:ter/locallang_tca.xml:tx_ter_extensiondetails',
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($extensionKey) . 'tx_ter_extensiondetails.gif',
'iconfile' => \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(ExtensionManagementUtility::extPath($extensionKey)) . 'tx_ter_extensiondetails.gif',
'dividers2tabs' => true,
],
'interface' => [
......
......@@ -20,7 +20,7 @@ return [
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'title' => 'LLL:EXT:ter/locallang_tca.xml:tx_ter_extensionkeys',
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($extensionKey) . 'tx_ter_extensionkeys.gif',
'iconfile' => \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(ExtensionManagementUtility::extPath($extensionKey)) . 'tx_ter_extensionkeys.gif',
'dividers2tabs' => true,
],
'interface' => [
......
......@@ -18,7 +18,7 @@ return [
'label' => 'extensionkey',
'default_sortby' => 'ORDER BY extensionkey',
'title' => 'LLL:EXT:ter/locallang_tca.xml:tx_ter_extensionmembers',
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($extensionKey) . 'tx_ter_extensionmembers.gif',
'iconfile' => \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(ExtensionManagementUtility::extPath($extensionKey)) . 'tx_ter_extensionmembers.gif',
'dividers2tabs' => true,
],
'interface' => [
......
......@@ -21,7 +21,7 @@ return [
'tstamp' => 'tstamp',
'delete' => 'deleted',
'title' => 'LLL:EXT:ter/locallang_tca.xml:tx_ter_extensionqueue',
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($extensionKey) . 'tx_ter_extensionqueue.gif',
'iconfile' => \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(ExtensionManagementUtility::extPath($extensionKey)) . 'tx_ter_extensionqueue.gif',
'dividers2tabs' => true,
],
'interface' => [
......
......@@ -20,7 +20,7 @@ return [
'tstamp' => 'tstamp',
'crdate' => 'crdate',
'title' => 'LLL:EXT:ter/locallang_tca.xml:tx_ter_extensions',
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($extensionKey) . 'tx_ter_extensions.gif',
'iconfile' => \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(ExtensionManagementUtility::extPath($extensionKey)) . 'tx_ter_extensions.gif',
'dividers2tabs' => true,
],
'interface' => [
......
......@@ -33,11 +33,14 @@ class tx_ter_tcaLabel
return;
}
$result = $GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow(
'extensionkey',
'tx_ter_extensions',
'uid=' . (int)$params['row']['uid']
);
$result = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Database\ConnectionPool::class)
->getConnectionForTable('tx_ter_extensions')
->select(
['extensionkey'],
'tx_ter_extensions',
['uid = ' . (int)$params['row']['uid']]
)
->fetch();
if (!empty($result['extensionkey'])) {
$params['title'] = htmlspecialchars($result['extensionkey']);
......
......@@ -28,9 +28,7 @@ $EM_CONF[$_EXTKEY] = [
'author_company' => 'TYPO3 Association',
'version' => '2.0.9',
'constraints' => [
'depends' => [
'saltedpasswords' => '',
],
'depends' => [],
'conflicts' => [],
'suggests' => [],
],
......
......@@ -30,11 +30,8 @@
* TOTAL FUNCTIONS: 1
* (This index is automatically created/updated by the extension "extdeveval")
*/
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
use TYPO3\CMS\Frontend\Plugin\AbstractPlugin;
require_once(ExtensionManagementUtility::extPath('ter') . 'class.tx_ter_api.php');
/**
* TYPO3 Extension Repository, frontend plugin for SOAP service
*
......@@ -50,14 +47,12 @@ class tx_ter_pi1 extends AbstractPlugin
public function main($content, $conf)
{
global $TSFE;
$this->pi_initPIflexForm();
$this->conf = $conf;
$this->extensionsPID = $conf['pid'];
$this->wsdlNamespace = $conf['wsdlNamespace'];
$staticConfArr = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['ter']);
$staticConfArr = $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['ter'];
if (is_array($staticConfArr)) {
$this->repositoryDir = $staticConfArr['repositoryDir'];
if (substr($this->repositoryDir, -1, 1) != '/') {
......
......@@ -31,9 +31,8 @@ define('PATH_thisScript', str_replace('//', '/', str_replace(
(php_sapi_name() == 'cgi' || php_sapi_name() == 'isapi' || php_sapi_name() == 'cgi-fcgi') && ($_SERVER['ORIG_PATH_TRANSLATED'] ? $_SERVER['ORIG_PATH_TRANSLATED'] : $_SERVER['PATH_TRANSLATED']) ? ($_SERVER['ORIG_PATH_TRANSLATED'] ? $_SERVER['ORIG_PATH_TRANSLATED'] : $_SERVER['PATH_TRANSLATED']) : ($_SERVER['ORIG_SCRIPT_FILENAME'] ? $_SERVER['ORIG_SCRIPT_FILENAME'] : $_SERVER['SCRIPT_FILENAME'])
)));
define('PATH_site', str_replace(['/wsdl', '/typo3conf/ext/ter'], '', dirname(PATH_thisScript)) . '/');
define('PATH_site', str_replace(['/wsdl', '/typo3conf/ext/ter'], '', dirname(\TYPO3\CMS\Core\Core\Environment::getCurrentScript())) . '/');
define('PATH_typo3', PATH_site . 'typo3/');
define('PATH_tslib', PATH_typo3 . 'sysext/cms/tslib/');
define('PATH_typo3conf', PATH_site . 'typo3conf/');
define('TYPO3_mainDir', 'typo3/');
......
......@@ -24,6 +24,7 @@ class ExtensionController
{
/**
* TODO: Do we still need this?
* @var \TYPO3\CMS\Core\Database\DatabaseConnection
*/
protected $databaseConnection;
......
......@@ -15,6 +15,8 @@ namespace T3o\TerFe2\Controller;
*/
use T3o\TerFe2\Validation\Validator\ComposerNameValidator;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Utility\GeneralUtility;
/**
* Controller for the extension object
......@@ -579,23 +581,28 @@ class ExtensionController extends \T3o\TerFe2\Controller\AbstractController
/**
* Check if current frontend user can upload given extension
*
* There is no better (and faster) way to do this at the momement.
* There is no better (and faster) way to do this at the moment.
*
* @param string $extensionKey The extension key
* @return bool TRUE if upload is allowed
*/
protected function userIsAllowedToUploadExtension($extensionKey)
protected function userIsAllowedToUploadExtension($extensionKey): bool
{
$this->frontendUser = (!empty($GLOBALS['TSFE']->fe_user->user) ? $GLOBALS['TSFE']->fe_user->user : []);
if (empty($this->frontendUser['username'])) {
return false;
}
$isAllowedToUploadKey = $GLOBALS['TYPO3_DB']->exec_SELECTcountRows(
$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tx_ter_extensionkeys');
$isAllowedToUploadKey = $connection->count(
'uid',
'tx_ter_extensionkeys',
'ownerusername LIKE "' . $GLOBALS['TYPO3_DB']->quoteStr($this->frontendUser['username'], 'foo') . '"
AND extensionkey LIKE "' . $GLOBALS['TYPO3_DB']->quoteStr($extensionKey, 'foo') . '"'
[
'ownerusername' => $this->frontendUser['username'],
'extensionkey' => $extensionKey
]
);
return !empty($isAllowedToUploadKey);
}
......@@ -614,24 +621,31 @@ class ExtensionController extends \T3o\TerFe2\Controller\AbstractController
/**
* Check if an version does not exist for extension
*
* There is no better (and faster) way to do this at the momement.
* There is no better (and faster) way to do this at the moment.
*
* @param string $extensionKey The extension key
* @param string $versionString The extension version
* @return bool TRUE if version already exists
*
* TODO: Discuss with Thomas, logic looks incorrect with naming and return value.
*/
protected function versionIsPossibleForExtension($extensionKey, $versionString)
{
if (empty($extensionKey) || empty($versionString)) {
return false;
}
$versionExistsForExtension = $GLOBALS['TYPO3_DB']->exec_SELECTcountRows(
$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tx_ter_extensions');
$versionExistsForExtension = $connection->count(
'uid',
'tx_ter_extensions',
'extensionkey = "' . $GLOBALS['TYPO3_DB']->quoteStr($extensionKey, 'foo') . '"
AND version LIKE "' . $GLOBALS['TYPO3_DB']->quoteStr($versionString, 'foo') . '"'
[
'extensionkey' => $extensionKey,
'version' => $versionString
]
);
return empty($versionExistsForExtension);
return $versionExistsForExtension;
}
/**
......
......@@ -107,6 +107,19 @@ class ExtensionRepository extends \T3o\TerFe2\Domain\Repository\AbstractReposito
return $query->execute()->getFirst();
}
/**
* Returns extension by extension key
*
* @param $extensionKey
* @return int
*/
public function countByExtKey($extensionKey)
{
$query = $this->createQuery(0, 1);
$this->match($query, $query->equals('extKey', $extensionKey));
return $query->execute()->count();
}
/**
* Returns new and updated extensions
*
......
......@@ -14,6 +14,8 @@ namespace T3o\TerFe2\Provider;
* The TYPO3 project - inspiring people to share!
*/
use TYPO3\CMS\Core\Utility\GeneralUtility;
/**
* Abstract extension provider
*/
......@@ -123,7 +125,7 @@ abstract class AbstractProvider implements \T3o\TerFe2\Provider\ProviderInterfac
*/
protected function getVersionByRange($version)
{
$version = \TYPO3\CMS\Extbase\Utility\ArrayUtility::trimExplode('-', $version);
$version = GeneralUtility::trimExplode('-', $version);
$minimum = (!empty($version[0]) ? \TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionNumberToInteger($version[0]) : 0);
$maximum = (!empty($version[1]) ? \TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionNumberToInteger($version[1]) : 0);
......
......@@ -219,7 +219,7 @@ class MirrorService implements \TYPO3\CMS\Core\SingletonInterface
$url = \T3o\TerFe2\Utility\FileUtility::getAbsolutePathFromUrl($url);
$content = \TYPO3\CMS\Core\Utility\GeneralUtility::getURL($url);
} else {
$content = \TYPO3\CMS\Core\Utility\GeneralUtility::getURL($url, 0, [TYPO3_user_agent]);
$content = \TYPO3\CMS\Core\Utility\GeneralUtility::getURL($url, 0, $GLOBALS['TYPO3_CONF_VARS']['HTTP']['headers']['User-Agent']);
}
if (empty($content)) {
......
......@@ -14,6 +14,13 @@ namespace T3o\TerFe2\Task;
* The TYPO3 project - inspiring people to share!
*/
use T3o\TerFe2\Domain\Model\Extension;
use T3o\TerFe2\Domain\Repository\ExtensionRepository;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Object\ObjectManager;
use TYPO3\CMS\Extensionmanager\Domain\Repository\RepositoryRepository;
/**
* This is a one-time task to get all extension keys from ter tables
* to the new ter_fe2 tables.
......@@ -31,6 +38,24 @@ class ImportAllExtensionKeysTask extends \TYPO3\CMS\Extbase\Scheduler\Task
*/
protected $pid = 2;
/**
* @var ObjectManager
*/
protected $objectManager;
/**
* @var ExtensionRepository
*/
protected $extensionRepository;
/**
* @param ObjectManager $objectManager
*/
protected function injectObjectManager(ObjectManager $objectManager)
{
$this->objectManager = $objectManager;
}
/**
* executes the importer
*
......@@ -38,6 +63,7 @@ class ImportAllExtensionKeysTask extends \TYPO3\CMS\Extbase\Scheduler\Task
*/
public function execute()
{
$this->extensionRepository = $this->objectManager->get(RepositoryRepository::class);
$extensionKeysFromTer = $this->getAllExtensionKeysFromTer();
foreach ($extensionKeysFromTer as $extensionData) {
......@@ -59,31 +85,35 @@ class ImportAllExtensionKeysTask extends \TYPO3\CMS\Extbase\Scheduler\Task
*/
public function getAllExtensionKeysFromTer(): array
{
$extData = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
'*',
'tx_ter_extensionkeys',
'',
false,
'crdate'
$extData = [];
$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tx_ter_extensionkeys');
$result = $connection->select(
['*'],
'tx_ter_extensionkeys'
);
while ($row = $result->fetch()) {
$extData[] = $row;
}
return $extData;
}
/**
* @param array $extData
*
* @return int $uid extension uid
* @return bool|int
* @deprecated Will be removed June 2020
*/
public function extensionExists($extData)
{
$extRec = $GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow(
'uid',
'tx_terfe2_domain_model_extension',
'NOT deleted AND ext_key = ' . $GLOBALS['TYPO3_DB']->fullQuoteStr($extData['extensionkey'], 'tx_terfe2_domain_model_extension')
);
$extensionRepository = $this->objectManager->get(ExtensionRepository::class);
$extension = $extensionRepository->findOneByExtKey($extData['extensionkey']);
return !empty($extRec);
if ($extension instanceof Extension) {
return $extension->getUid();
}
return false;
}
/**
......@@ -92,13 +122,8 @@ class ImportAllExtensionKeysTask extends \TYPO3\CMS\Extbase\Scheduler\Task
*/
public function getVersionCount($extensionKey)
{
$versionCounter = $GLOBALS['TYPO3_DB']->exec_SELECTcountRows(
'uid',
'tx_ter_extensions',
'extensionkey = ' . $GLOBALS['TYPO3_DB']->fullQuoteStr($extensionKey, 'tx_ter_extensions')
);
return (int)$versionCounter;
$extensionRepository = $this->objectManager->get(ExtensionRepository::class);
return $extensionRepository->countByExtKey($extensionKey);
}
/**
......@@ -118,6 +143,10 @@ class ImportAllExtensionKeysTask extends \TYPO3\CMS\Extbase\Scheduler\Task
];
$GLOBALS['TYPO3_DB']->exec_INSERTquery('tx_terfe2_domain_model_extension', $insertExtension);
$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tx_terfe2_domain_model_extension');
$connection->insert(
'tx_terfe2_domain_model_extension',
$insertExtension
);
}
}
......@@ -520,7 +520,7 @@ $EM_CONF[$_EXTKEY] = ' . self::arrayToCode($emConfArray, 0) . ';
} elseif (strlen($k)) {
$lines .= str_repeat(TAB, $level) . "'" . $k . "' => "
. (\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($v) ? intval($v) : "'"
. \TYPO3\CMS\Core\Utility\GeneralUtility::slashJS(trim($v), 1) . "'") . ',' . LF;
. str_replace('\\', '\\\\', trim($v))) . ',' . LF;
}
}
......
......@@ -16,7 +16,7 @@ return [
'enablecolumns' => [
'disabled' => 'hidden'
],
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('ter_fe2') . 'Resources/Public/Icons/author.gif',
'iconfile' => \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('ter_fe2')) . 'Resources/Public/Icons/author.gif',
],
'interface' => [
'showRecordFieldList' => 'name,email,company,forge_link,username,versions,frontend_user,author_type',
......
......@@ -16,7 +16,7 @@ return [
'enablecolumns' => [
'disabled' => 'hidden'
],
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('ter_fe2') . 'Resources/Public/Icons/extension.gif',
'iconfile' => \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('ter_fe2')) . 'Resources/Public/Icons/extension.gif',
],
'interface' => [
'showRecordFieldList' => 'ext_key,forge_link,last_update,last_maintained,tags,versions,last_version,frontend_user,downloads,composer_name,repository_url,paypal_url,external_manual,expire',
......
......@@ -16,7 +16,7 @@ return [
'enablecolumns' => [
'disabled' => 'hidden'
],
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('ter_fe2') . 'Resources/Public/Icons/relation.gif',
'iconfile' => \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('ter_fe2')) . 'Resources/Public/Icons/relation.gif',
],
'interface' => [
'showRecordFieldList' => 'relation_type,relation_key,minimum_version,maximum_version',
......
......@@ -16,7 +16,7 @@ return [
'enablecolumns' => [
'disabled' => 'hidden'
],
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('ter_fe2') . 'Resources/Public/Icons/tag.gif',
'iconfile' => \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('ter_fe2')) . 'Resources/Public/Icons/tag.gif',
],
'interface' => [
'showRecordFieldList' => 'title,extensions',
......
......@@ -18,7 +18,7 @@ return [
'enablecolumns' => [
'disabled' => 'hidden'
],
'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('ter_fe2') . 'Resources/Public/Icons/version.gif',
'iconfile' => \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('ter_fe2')) . 'Resources/Public/Icons/version.gif',
],
'interface' => [
'showRecordFieldList' => 'title,description,version_number,version_string,upload_date,upload_comment,download_counter,frontend_download_counter,state,em_category,load_order,priority,shy,internal,do_not_load_in_fe,uploadfolder,clear_cache_on_load,module,create_dirs,modify_tables,lock_type,cgl_compliance,cgl_compliance_note,review_state,manual,has_manual,software_relations,author,file_hash,extension_provider,has_zip_file,has_images,composer_info',
......
......@@ -19,7 +19,8 @@
},
"license": "GPL-2.0+",
"require": {
"typo3/cms-core": "^8.7 || ^9.5"
"typo3/cms-core": "^8.7 || ^9.5",
"apache-solr-for-typo3/solr": "^9.0"
},
"autoload": {
"psr-4": {
......
......@@ -31,16 +31,9 @@ $EM_CONF[$_EXTKEY] = [
'lockType' => '',
'version' => '0.4.0',
'constraints' => [
'depends' => [
'extbase' => '',
'fluid' => '',
],
'conflicts' => [
],
'suggests' => [
'em' => '',
'paginate' => '',
],
'depends' => [],
'conflicts' => [],
'suggests' => [],
],
'suggests' => [
],
......
......@@ -30,7 +30,7 @@ call_user_func(function () {
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
mod.wizards.newContentElement.wizardItems.special {\n
elements.' . $extIdent . ' {\n
icon = ' . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('ter_fe2') . 'Resources/Public/Images/Wizard.gif\n
icon = ' . \TYPO3\CMS\Core\Utility\PathUtility::stripPathSitePrefix(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('ter_fe2')) . 'Resources/Public/Images/Wizard.gif\n
title = LLL:EXT:ter_fe2/Resources/Private/Language/locallang_db.xlf:newContentElement.wizardItem.title\n
description = LLL:EXT:ter_fe2/Resources/Private/Language/locallang_db.xlf:newContentElement.wizardItem.description\n\n
tt_content_defValues {\n
......
......@@ -21,24 +21,76 @@ return [
],
'EXT' => [
'extConf' => [
'backend' => 'a:5:{s:9:"loginLogo";s:0:"";s:19:"loginHighlightColor";s:0:"";s:20:"loginBackgroundImage";s:0:"";s:11:"backendLogo";s:0:"";s:14:"backendFavicon";s:0:"";}',
'backend' => 'a:6:{s:9:"loginLogo";s:0:"";s:19:"loginHighlightColor";s:0:"";s:20:"loginBackgroundImage";s:0:"";s:13:"loginFootnote";s:0:"";s:11:"backendLogo";s:0:"";s:14:"backendFavicon";s:0:"";}',
'extensionmanager' => 'a:2:{s:21:"automaticInstallation";s:1:"1";s:11:"offlineMode";s:1:"0";}',
'gridelements' => 'a:3:{s:20:"additionalStylesheet";s:0:"";s:19:"nestingInListModule";s:1:"0";s:26:"overlayShortcutTranslation";s:1:"0";}',
'ig_ldap_sso_auth' => 'a:18:{s:18:"checkConfiguration";s:1:"0";s:21:"throwExceptionAtLogin";s:1:"1";s:22:"forceLowerCaseUsername";s:1:"1";s:26:"enableBELDAPAuthentication";s:1:"0";s:17:"TYPO3BEGroupExist";s:1:"0";s:16:"TYPO3BEUserExist";s:1:"0";s:10:"BEfailsafe";s:1:"0";s:27:"TYPO3BEGroupsNotSynchronize";s:1:"0";s:12:"keepBEGroups";s:1:"0";s:11:"enableBESSO";s:1:"0";s:26:"enableFELDAPAuthentication";s:1:"1";s:31:"TYPO3FEDeleteUserIfNoLDAPGroups";s:1:"0";s:32:"TYPO3FEDeleteUserIfNoTYPO3Groups";s:1:"0";s:17:"TYPO3FEGroupExist";s:1:"0";s:16:"TYPO3FEUserExist";s:1:"0";s:27:"TYPO3FEGroupsNotSynchronize";s:1:"1";s:12:"keepFEGroups";s:1:"1";s:11:"enableFESSO";s:1:"0";}',
'realurl' => 'a:6:{s:10:"configFile";s:34:"typo3conf/RealurlConfiguration.php";s:14:"enableAutoConf";s:1:"1";s:14:"autoConfFormat";s:1:"0";s:17:"segTitleFieldList";s:0:"";s:12:"enableDevLog";s:1:"0";s:10:"moduleIcon";s:1:"0";}',
'rsaauth' => 'a:1:{s:18:"temporaryDirectory";s:0:"";}',
'rte_ckeditor' => 'a:1:{s:15:"ckeditorVersion";s:1:"1";}',
'saltedpasswords' => 'a:2:{s:3:"BE.";a:4:{s:21:"saltedPWHashingMethod";s:41:"TYPO3\\CMS\\Saltedpasswords\\Salt\\PhpassSalt";s:11:"forceSalted";i:0;s:15:"onlyAuthService";i:0;s:12:"updatePasswd";i:1;}s:3:"FE.";a:5:{s:7:"enabled";i:1;s:21:"saltedPWHashingMethod";s:41:"TYPO3\\CMS\\Saltedpasswords\\Salt\\PhpassSalt";s:11:"forceSalted";i:0;s:15:"onlyAuthService";i:0;s:12:"updatePasswd";i:1;}}',
'scheduler' => 'a:4:{s:11:"maxLifetime";s:4:"1440";s:11:"enableBELog";s:1:"1";s:15:"showSampleTasks";s:1:"1";s:11:"useAtdaemon";s:1:"0";}',
'solr' => 'a:0:{}',
't3olayout' => 'a:0:{}',
'ter' => 'a:1:{s:13:"repositoryDir";s:28:"/var/www/html/fileadmin/ter/";}',
'ter_fe2' => 'a:0:{}',
'ter_layout' => 'a:0:{}',
'gridelements' => 'a:6:{s:20:"additionalStylesheet";s:0:"";s:19:"nestingInListModule";s:1:"0";s:26:"overlayShortcutTranslation";s:1:"0";s:19:"disableDragInWizard";s:1:"0";s:25:"disableCopyFromPageButton";s:1:"0";s:38:"disableAutomaticUnusedColumnCorrection";s:1:"0";}',
'ig_ldap_sso_auth' => 'a:18:{s:21:"throwExceptionAtLogin";s:1:"1";s:22:"forceLowerCaseUsername";s:1:"0";s:23:"useExtConfConfiguration";s:1:"0";s:26:"enableBELDAPAuthentication";s:1:"0";s:17:"TYPO3BEGroupExist";s:1:"0";s:16:"TYPO3BEUserExist";s:1:"0";s:10:"BEfailsafe";s:1:"0";s:27:"TYPO3BEGroupsNotSynchronize";s:1:"0";s:12:"keepBEGroups";s:1:"0";s:11:"enableBESSO";s:1:"0";s:26:"enableFELDAPAuthentication";s:1:"0";s:31:"TYPO3FEDeleteUserIfNoLDAPGroups";s:1:"0";s:32:"TYPO3FEDeleteUserIfNoTYPO3Groups";s:1:"0";s:17:"TYPO3FEGroupExist";s:1:"0";s:16:"TYPO3FEUserExist";s:1:"0";s:27:"TYPO3FEGroupsNotSynchronize";s:1:"0";s:12:"keepFEGroups";s:1:"0";s:11:"enableFESSO";s:1:"0";}',
'scheduler' => 'a:2:{s:11:"maxLifetime";s:4:"1440";s:15:"showSampleTasks";s:1:"1";}',
'solr' => 'a:4:{s:35:"useConfigurationFromClosestTemplate";s:1:"0";s:43:"useConfigurationTrackRecordsOutsideSiteroot";s:1:"1";s:29:"useConfigurationMonitorTables";s:0:"";s:27:"allowSelfSignedCertificates";s:1:"0";}',
'ter' => 'a:1:{s:13:"repositoryDir";s:0:"";}',
],
],
'EXTENSIONS' => [
'backend' => [
'backendFavicon' => '',
'backendLogo' => '',
'loginBackgroundImage' => '',
'loginFootnote' => '',
'loginHighlightColor' => '',
'loginLogo' => '',
],
'extensionmanager' => [
'automaticInstallation' => '1',
'offlineMode' => '0',
],
'gridelements' => [
'additionalStylesheet' => '',
'disableAutomaticUnusedColumnCorrection' => '0',
'disableCopyFromPageButton' => '0',
'disableDragInWizard' => '0',
'nestingInListModule' => '0',
'overlayShortcutTranslation' => '0',
],
'ig_ldap_sso_auth' => [
'BEfailsafe' => '0',
'TYPO3BEGroupExist' => '0',
'TYPO3BEGroupsNotSynchronize' => '0',
'TYPO3BEUserExist' => '0',
'TYPO3FEDeleteUserIfNoLDAPGroups' => '0',
'TYPO3FEDeleteUserIfNoTYPO3Groups' => '0',
'TYPO3FEGroupExist' => '0',
'TYPO3FEGroupsNotSynchronize' => '0',
'TYPO3FEUserExist' => '0',
'enableBELDAPAuthentication' => '0',
'enableBESSO' => '0',
'enableFELDAPAuthentication' => '0',
'enableFESSO' => '0',
'forceLowerCaseUsername' => '0',
'keepBEGroups' => '0',
'keepFEGroups' => '0',
'throwExceptionAtLogin' => '1',
'useExtConfConfiguration' => '0',
],
'scheduler' => [
'maxLifetime' => '1440',
'showSampleTasks' => '1',
],
'solr' => [
'allowSelfSignedCertificates' => '0',
'useConfigurationFromClosestTemplate' => '0',
'useConfigurationMonitorTables' => '',
'useConfigurationTrackRecordsOutsideSiteroot' => '1',
],
'ter' => [
'repositoryDir' => '',
],
],
'FE' => [
'cHashExcludedParameters' => 'fbclid',
'cacheHash' => [
'excludedParameters' => [
'fbclid',
],
],
'debug' => true,
'loginSecurityLevel' => 'normal',
'pageNotFoundOnCHashError' => false,
......@@ -49,7 +101,7 @@ return [
'processor' => 'ImageMagick',
'processor_allowTemporaryMasksAsPng' => false,
'processor_colorspace' => 'sRGB',
'processor_effects' => 1,
'processor_effects' => true,
'processor_enabled' => 1,
'processor_path' => '/usr/bin/',
'processor_path_lzw' => '/usr/bin/',
......@@ -75,13 +127,9 @@ return [
],
'devIPmask' => '*',
'displayErrors' => 1,
'enableDeprecationLog' => 'file',
'encryptionKey' => '52fd0fa7b7337befc0840fd8ad8fd8868fc9d98f60ea9b6e737ce732448e80eb35d2662bc15d04eb523171ec727c1dee',
'exceptionalErrors' => 28674,
'isInitialDatabaseImportDone' => true,
'isInitialInstallationInProgress' => false,
'exceptionalErrors' => 12290,
'sitename' => 'Extension',
'sqlDebug' => 1,
'systemLogLevel' => 0,
],
];
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment