[TASK] Make compatible with v14
This commit is contained in:
parent
20f79eef93
commit
b010c5e0fd
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
@ -75,7 +75,7 @@ class ContentElementCommand extends Command
|
|||||||
->executeQuery()
|
->executeQuery()
|
||||||
->fetchAllAssociative();
|
->fetchAllAssociative();
|
||||||
|
|
||||||
(new Table($output))
|
new Table($output)
|
||||||
->setHeaderTitle('Content in tree ' . $pageId)
|
->setHeaderTitle('Content in tree ' . $pageId)
|
||||||
->setHeaders(array_keys($result[0]))
|
->setHeaders(array_keys($result[0]))
|
||||||
->setRows($result)
|
->setRows($result)
|
||||||
@ -141,7 +141,7 @@ class ContentElementCommand extends Command
|
|||||||
* that you want to use as a WHERE fragment is not prefixed.
|
* that you want to use as a WHERE fragment is not prefixed.
|
||||||
*
|
*
|
||||||
* @param string $constraint The where part fragment with a possible leading AND / OR operator
|
* @param string $constraint The where part fragment with a possible leading AND / OR operator
|
||||||
* @return string The modified where part without leading operator
|
* @return string The modified where part without a leading operator
|
||||||
*/
|
*/
|
||||||
public function stripLogicalOperatorPrefix(string $constraint): string
|
public function stripLogicalOperatorPrefix(string $constraint): string
|
||||||
{
|
{
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace Evoweb\EwBase\Configuration;
|
namespace Evoweb\EwBase\Configuration;
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
@ -214,7 +214,7 @@ class PickColorFromImage extends AbstractFormElement
|
|||||||
{
|
{
|
||||||
$defaultConfig = self::$defaultConfig;
|
$defaultConfig = self::$defaultConfig;
|
||||||
|
|
||||||
// If ratios are set do not add default options
|
// If ratios are set, do not add default options
|
||||||
if (isset($baseConfiguration['cropVariants'])) {
|
if (isset($baseConfiguration['cropVariants'])) {
|
||||||
unset($defaultConfig['cropVariants']);
|
unset($defaultConfig['cropVariants']);
|
||||||
}
|
}
|
||||||
@ -233,7 +233,7 @@ class PickColorFromImage extends AbstractFormElement
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Aspect ratios may not contain a "." character, see Ratio::__construct()
|
// Aspect ratios may not contain a "." character, see Ratio::__construct()
|
||||||
// To match them again properly, same replacement is required here.
|
// To match them again properly, the same replacement is required here.
|
||||||
$preparedAllowedAspectRatios = [];
|
$preparedAllowedAspectRatios = [];
|
||||||
foreach ($cropVariant['allowedAspectRatios'] as $aspectRatio => $aspectRatioDefinition) {
|
foreach ($cropVariant['allowedAspectRatios'] as $aspectRatio => $aspectRatioDefinition) {
|
||||||
$preparedAllowedAspectRatios[Ratio::prepareAspectRatioId($aspectRatio)] = $aspectRatioDefinition;
|
$preparedAllowedAspectRatios[Ratio::prepareAspectRatioId($aspectRatio)] = $aspectRatioDefinition;
|
||||||
@ -259,7 +259,7 @@ class PickColorFromImage extends AbstractFormElement
|
|||||||
|
|
||||||
$config['cropVariants'] = $cropVariants;
|
$config['cropVariants'] = $cropVariants;
|
||||||
|
|
||||||
// By default we allow all image extensions that can be handled by the GFX functionality
|
// By default, we allow all image extensions that can be handled by the GFX functionality
|
||||||
$config['allowedExtensions'] ??= $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'];
|
$config['allowedExtensions'] ??= $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'];
|
||||||
return $config;
|
return $config;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
@ -20,7 +20,7 @@ use Doctrine\DBAL\ParameterType;
|
|||||||
use TYPO3\CMS\Core\Database\Query\QueryBuilder;
|
use TYPO3\CMS\Core\Database\Query\QueryBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class that parses sql statements with regard to types and parameters.
|
* Utility class that parses SQL statements with regard to types and parameters.
|
||||||
*/
|
*/
|
||||||
class QueryBuilderHelper
|
class QueryBuilderHelper
|
||||||
{
|
{
|
||||||
@ -53,7 +53,7 @@ class QueryBuilderHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets an array of the placeholders in a sql statements as keys and their positions in the query string.
|
* Gets an array of the placeholders in a SQL statement as keys and their positions in the query string.
|
||||||
*
|
*
|
||||||
* For a statement with positional parameters, returns a zero-indexed list of placeholder position.
|
* For a statement with positional parameters, returns a zero-indexed list of placeholder position.
|
||||||
* For a statement with named parameters, returns a map of placeholder positions to their parameter names.
|
* For a statement with named parameters, returns a map of placeholder positions to their parameter names.
|
||||||
@ -127,7 +127,7 @@ class QueryBuilderHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For a positional query this method can rewrite the sql statement with regard to array parameters.
|
* For a positional query this method can rewrite the SQL statement with regard to array parameters.
|
||||||
*
|
*
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
@ -160,7 +160,7 @@ class QueryBuilderHelper
|
|||||||
$arrayPositions[$name] = false;
|
$arrayPositions[$name] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// parameter are positional and no array parameter given
|
// parameters are positional and no array parameter given
|
||||||
if ($isPositional && !$arrayPositions) {
|
if ($isPositional && !$arrayPositions) {
|
||||||
return [$query, $params, $types];
|
return [$query, $params, $types];
|
||||||
}
|
}
|
||||||
@ -210,7 +210,7 @@ class QueryBuilderHelper
|
|||||||
$expandStr = $count ? implode(', ', array_fill(0, $count, '?')) : 'NULL';
|
$expandStr = $count ? implode(', ', array_fill(0, $count, '?')) : 'NULL';
|
||||||
$query = substr($query, 0, $needlePos) . $expandStr . substr($query, $needlePos + 1);
|
$query = substr($query, 0, $needlePos) . $expandStr . substr($query, $needlePos + 1);
|
||||||
|
|
||||||
$paramOffset += $count - 1; // Grows larger by number of parameters minus the replaced needle.
|
$paramOffset += $count - 1; // Grows larger by the number of parameters minus the replaced needle.
|
||||||
$queryOffset += strlen($expandStr) - 1;
|
$queryOffset += strlen($expandStr) - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
@ -15,6 +15,9 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Evoweb\EwBase\User;
|
namespace Evoweb\EwBase\User;
|
||||||
|
|
||||||
|
use TYPO3\CMS\Core\SystemResource\Exception\CanNotResolvePublicResourceException;
|
||||||
|
use TYPO3\CMS\Core\SystemResource\Exception\CanNotResolveSystemResourceException;
|
||||||
|
use TYPO3\CMS\Core\SystemResource\Publishing\UriGenerationOptions;
|
||||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||||
use TYPO3\CMS\Core\Utility\PathUtility;
|
use TYPO3\CMS\Core\Utility\PathUtility;
|
||||||
|
|
||||||
@ -27,10 +30,18 @@ use TYPO3\CMS\Core\Utility\PathUtility;
|
|||||||
*/
|
*/
|
||||||
class AssetPath
|
class AssetPath
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @throws CanNotResolvePublicResourceException
|
||||||
|
* @throws CanNotResolveSystemResourceException
|
||||||
|
*/
|
||||||
public function getAbsolutePublicPath(string $content, array $conf): string
|
public function getAbsolutePublicPath(string $content, array $conf): string
|
||||||
{
|
{
|
||||||
return $content
|
return $content
|
||||||
. GeneralUtility::getIndpEnv('TYPO3_SITE_URL')
|
. GeneralUtility::getIndpEnv('TYPO3_SITE_URL')
|
||||||
. ltrim(PathUtility::getPublicResourceWebPath($conf['file']), '/');
|
. ltrim((string)PathUtility::getSystemResourceUri(
|
||||||
|
$conf['file'],
|
||||||
|
null,
|
||||||
|
new UriGenerationOptions(cacheBusting: false)
|
||||||
|
), '/');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
@ -16,13 +16,22 @@ declare(strict_types=1);
|
|||||||
namespace Evoweb\EwBase\ViewHelpers\Be;
|
namespace Evoweb\EwBase\ViewHelpers\Be;
|
||||||
|
|
||||||
use Psr\Http\Message\ServerRequestInterface;
|
use Psr\Http\Message\ServerRequestInterface;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
use TYPO3\CMS\Backend\Routing\UriBuilder;
|
use TYPO3\CMS\Backend\Routing\UriBuilder;
|
||||||
use TYPO3\CMS\Backend\Utility\BackendUtility;
|
use TYPO3\CMS\Backend\Utility\BackendUtility;
|
||||||
use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
|
use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
|
||||||
|
use TYPO3\CMS\Core\Database\RelationHandler;
|
||||||
use TYPO3\CMS\Core\Imaging\IconFactory;
|
use TYPO3\CMS\Core\Imaging\IconFactory;
|
||||||
use TYPO3\CMS\Core\Imaging\IconSize;
|
use TYPO3\CMS\Core\Imaging\IconSize;
|
||||||
use TYPO3\CMS\Core\Localization\LanguageService;
|
use TYPO3\CMS\Core\Localization\LanguageService;
|
||||||
|
use TYPO3\CMS\Core\Log\LogManager;
|
||||||
|
use TYPO3\CMS\Core\Resource\Exception\FileDoesNotExistException;
|
||||||
|
use TYPO3\CMS\Core\Resource\FileReference;
|
||||||
use TYPO3\CMS\Core\Resource\ProcessedFile;
|
use TYPO3\CMS\Core\Resource\ProcessedFile;
|
||||||
|
use TYPO3\CMS\Core\Resource\ResourceFactory;
|
||||||
|
use TYPO3\CMS\Core\Schema\Field\FileFieldType;
|
||||||
|
use TYPO3\CMS\Core\Schema\TcaSchema;
|
||||||
|
use TYPO3\CMS\Core\Schema\TcaSchemaFactory;
|
||||||
use TYPO3\CMS\Core\Type\Bitmask\Permission;
|
use TYPO3\CMS\Core\Type\Bitmask\Permission;
|
||||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||||
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
|
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
|
||||||
@ -48,7 +57,7 @@ class ThumbnailViewHelper extends AbstractViewHelper
|
|||||||
$field = $this->arguments['fieldName'];
|
$field = $this->arguments['fieldName'];
|
||||||
$row = $this->arguments['row'];
|
$row = $this->arguments['row'];
|
||||||
|
|
||||||
$fileReferences = BackendUtility::resolveFileReferences($table, $field, $row);
|
$fileReferences = $this->resolveFileReferences($table, $field, $row);
|
||||||
$fileObject = is_array($fileReferences) ? current($fileReferences)->getOriginalFile() : null;
|
$fileObject = is_array($fileReferences) ? current($fileReferences)->getOriginalFile() : null;
|
||||||
|
|
||||||
if ($fileObject && $fileObject->isMissing()) {
|
if ($fileObject && $fileObject->isMissing()) {
|
||||||
@ -74,6 +83,65 @@ class ThumbnailViewHelper extends AbstractViewHelper
|
|||||||
return $this->linkEditContent('<img src="' . $previewFile->getPublicUrl() . '"/>', $row );
|
return $this->linkEditContent('<img src="' . $previewFile->getPublicUrl() . '"/>', $row );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function resolveFileReferences(
|
||||||
|
string $tableName,
|
||||||
|
string $fieldName,
|
||||||
|
array $element,
|
||||||
|
?int $workspaceId = null
|
||||||
|
): ?array {
|
||||||
|
if (!($schema = self::getTcaSchema($tableName))?->hasField($fieldName)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
$field = $schema->getField($fieldName);
|
||||||
|
if ($field instanceof FileFieldType === false) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$fileReferences = [];
|
||||||
|
$relationHandler = GeneralUtility::makeInstance(RelationHandler::class);
|
||||||
|
if ($workspaceId !== null) {
|
||||||
|
$relationHandler->setWorkspaceId($workspaceId);
|
||||||
|
}
|
||||||
|
$relationHandler->initializeForField(
|
||||||
|
$tableName,
|
||||||
|
$field->getConfiguration(),
|
||||||
|
$element,
|
||||||
|
$element[$fieldName],
|
||||||
|
);
|
||||||
|
$relationHandler->processDeletePlaceholder();
|
||||||
|
$referenceUids = $relationHandler->tableArray[$field->getConfiguration()['foreign_table']] ?? [];
|
||||||
|
|
||||||
|
foreach ($referenceUids as $referenceUid) {
|
||||||
|
try {
|
||||||
|
$fileReference = GeneralUtility::makeInstance(ResourceFactory::class)->getFileReferenceObject(
|
||||||
|
$referenceUid,
|
||||||
|
[],
|
||||||
|
$workspaceId === 0
|
||||||
|
);
|
||||||
|
$fileReferences[$fileReference->getUid()] = $fileReference;
|
||||||
|
} catch (FileDoesNotExistException $e) {
|
||||||
|
/**
|
||||||
|
* We just catch the exception here
|
||||||
|
* Reasoning: There is nothing an editor or even admin could do
|
||||||
|
*/
|
||||||
|
} catch (\InvalidArgumentException $e) {
|
||||||
|
/**
|
||||||
|
* The storage does not exist anymore
|
||||||
|
* Log the exception message for admins as they maybe can restore the storage
|
||||||
|
*/
|
||||||
|
// @extensionScannerIgnoreLine
|
||||||
|
self::getLogger()->error($e->getMessage(), [
|
||||||
|
'table' => $tableName,
|
||||||
|
'fieldName' => $fieldName,
|
||||||
|
'referenceUid' => $referenceUid,
|
||||||
|
'exception' => $e,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $fileReferences;
|
||||||
|
}
|
||||||
|
|
||||||
protected function linkEditContent(string $linkText, $row): string
|
protected function linkEditContent(string $linkText, $row): string
|
||||||
{
|
{
|
||||||
if (empty($linkText)) {
|
if (empty($linkText)) {
|
||||||
@ -84,10 +152,8 @@ class ThumbnailViewHelper extends AbstractViewHelper
|
|||||||
if (
|
if (
|
||||||
$backendUser->check('tables_modify', 'tt_content')
|
$backendUser->check('tables_modify', 'tt_content')
|
||||||
&& $backendUser->recordEditAccessInternals('tt_content', $row)
|
&& $backendUser->recordEditAccessInternals('tt_content', $row)
|
||||||
&& (
|
&& new Permission(
|
||||||
new Permission(
|
$backendUser->calcPerms(BackendUtility::getRecord('pages', $row['pid']) ?? [])
|
||||||
$backendUser->calcPerms(BackendUtility::getRecord('pages', $row['pid']) ?? [])
|
|
||||||
)
|
|
||||||
)->editContentPermissionIsGranted()
|
)->editContentPermissionIsGranted()
|
||||||
) {
|
) {
|
||||||
$urlParameters = [
|
$urlParameters = [
|
||||||
@ -112,6 +178,17 @@ class ThumbnailViewHelper extends AbstractViewHelper
|
|||||||
return $linkText;
|
return $linkText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static function getLogger(): LoggerInterface
|
||||||
|
{
|
||||||
|
return GeneralUtility::makeInstance(LogManager::class)->getLogger(__CLASS__);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static function getTcaSchema(string $tableName): ?TcaSchema
|
||||||
|
{
|
||||||
|
$schemaFactory = GeneralUtility::makeInstance(TcaSchemaFactory::class);
|
||||||
|
return $schemaFactory->has($tableName) ? $schemaFactory->get($tableName) : null;
|
||||||
|
}
|
||||||
|
|
||||||
protected function getBackendUser(): BackendUserAuthentication
|
protected function getBackendUser(): BackendUserAuthentication
|
||||||
{
|
{
|
||||||
return $GLOBALS['BE_USER'];
|
return $GLOBALS['BE_USER'];
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
@ -16,6 +16,9 @@ declare(strict_types=1);
|
|||||||
namespace Evoweb\EwBase\ViewHelpers;
|
namespace Evoweb\EwBase\ViewHelpers;
|
||||||
|
|
||||||
use TYPO3\CMS\Core\Resource\Exception\InvalidFileException;
|
use TYPO3\CMS\Core\Resource\Exception\InvalidFileException;
|
||||||
|
use TYPO3\CMS\Core\SystemResource\Exception\CanNotResolvePublicResourceException;
|
||||||
|
use TYPO3\CMS\Core\SystemResource\Exception\CanNotResolveSystemResourceException;
|
||||||
|
use TYPO3\CMS\Core\SystemResource\Publishing\UriGenerationOptions;
|
||||||
use TYPO3\CMS\Core\Utility\PathUtility;
|
use TYPO3\CMS\Core\Utility\PathUtility;
|
||||||
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
|
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
|
||||||
|
|
||||||
@ -25,9 +28,6 @@ use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
|
|||||||
* <code title="Simple Loop">
|
* <code title="Simple Loop">
|
||||||
* <ewb:publicPath path="{data}">....</ewb:publicPath>
|
* <ewb:publicPath path="{data}">....</ewb:publicPath>
|
||||||
* </code>
|
* </code>
|
||||||
* <output>
|
|
||||||
* fixed flexform data for extbase controller
|
|
||||||
* </output>
|
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
@ -45,11 +45,12 @@ class PublicPathViewHelper extends AbstractViewHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws InvalidFileException
|
* @throws CanNotResolvePublicResourceException
|
||||||
|
* @throws CanNotResolveSystemResourceException
|
||||||
*/
|
*/
|
||||||
public function renderStatic(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$path = (string)$this->arguments['path'];
|
$path = (string)$this->arguments['path'];
|
||||||
return PathUtility::getPublicResourceWebPath($path);
|
return (string)PathUtility::getSystemResourceUri($path, null, new UriGenerationOptions(cacheBusting: false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
*
|
*
|
||||||
* It is free software; you can redistribute it and/or modify it under
|
* It is free software; you can redistribute it and/or modify it under
|
||||||
* the terms of the GNU General Public License, either version 2
|
* the terms of the GNU General Public License, either version 2
|
||||||
* of the License, or any later version.
|
* of the License or any later version.
|
||||||
*
|
*
|
||||||
* For the full copyright and license information, please read the
|
* For the full copyright and license information, please read the
|
||||||
* LICENSE.txt file that was distributed with this source code.
|
* LICENSE.txt file that was distributed with this source code.
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "evoweb/ew-base",
|
"name": "evoweb/ew-base",
|
||||||
"type": "typo3-cms-extension",
|
"type": "typo3-cms-extension",
|
||||||
|
"description": "Site base",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Evoweb\\EwBase\\": "Classes/"
|
"Evoweb\\EwBase\\": "Classes/"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user