Skip to content

Commit

Permalink
Merge pull request #214 from t3solution/5.1.14
Browse files Browse the repository at this point in the history
New release v5.1.14
  • Loading branch information
t3solution committed Jun 7, 2022
2 parents 6d72666 + 33c5949 commit 2104e37
Show file tree
Hide file tree
Showing 41 changed files with 1,089 additions and 498 deletions.
63 changes: 40 additions & 23 deletions Classes/Components/Card.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
use TYPO3\CMS\Backend\Utility\BackendUtility;
use T3SBS\T3sbootstrap\Helper\FlexformHelper;


/*
* This file is part of the TYPO3 extension t3sbootstrap.
*
Expand All @@ -22,7 +21,7 @@ class Card implements SingletonInterface
/**
* Returns the $processedData
*/
public function getProcessedData(array $processedData, array $flexconf): array
public function getProcessedData(array $processedData, array $flexconf, array $parentflexconf): array
{
$flexformService = GeneralUtility::makeInstance(FlexFormService::class);
$flexformHelper = GeneralUtility::makeInstance(FlexformHelper::class);
Expand All @@ -38,7 +37,6 @@ public function getProcessedData(array $processedData, array $flexconf): array
$parentflexconf =$flexformHelper->addMissingElements($parentflexconf, $parentFlexformData['CType'], TRUE);
}
}

$cardData = $flexconf;
// crop max characters
$cardData['cropMaxCharacters'] = !empty($parentflexconf['cropMaxCharacters']) ? $parentflexconf['cropMaxCharacters'] : '';
Expand Down Expand Up @@ -73,17 +71,13 @@ public function getProcessedData(array $processedData, array $flexconf): array
// dimensions
$cardData['dimensions']['width'] = $processedData['data']['imagewidth'];
$cardData['dimensions']['height'] = $processedData['data']['imageheight'];
// class
$cardClass = 'card'.$processedData['class'];
$cardClass .= !empty($flexconf['button']['stretchedLink']) ? ' ce-link-content' : '';
// image
if ( !empty($cardData['image']['overlay']) ) {
if ( $cardData['header']['text'] && $cardData['footer']['text'] ) {
$cardData['image']['class'] = 'img-fluid';
} elseif ( $cardData['header']['text'] ) {
$cardData['image']['class'] = 'card-img-bottom img-fluid';
} elseif ( $cardData['footer']['text'] ) {
$cardData['image']['class'] = 'card-img-top img-fluid';
} else {
$cardData['image']['class'] = 'img-fluid';
}
$cardClass .= ' overflow-hidden';
$cardData['image']['class'] = 'img-fluid';
$cardData['image']['overlay'] = 'card-img-overlay d-flex';
$cardData['mobile']['overlay'] = FALSE;
} else {
Expand Down Expand Up @@ -111,17 +105,6 @@ public function getProcessedData(array $processedData, array $flexconf): array
} else {
$cardData['block']['enable'] = TRUE;
}
// class
$cardClass = $processedData['class'];
$cardClass .= ' card';

if ( $processedData['data']['tx_t3sbootstrap_textcolor'] ) {
$cardClass .= ' text-'.$processedData['data']['tx_t3sbootstrap_textcolor'];
}
if ( $processedData['data']['tx_t3sbootstrap_contextcolor'] ) {
$cardClass .= ' bg-'.$processedData['data']['tx_t3sbootstrap_contextcolor'];
}

// flip card
if ( !empty($flexconf['flipcard']) ) {
$backstyle = '';
Expand All @@ -144,7 +127,36 @@ public function getProcessedData(array $processedData, array $flexconf): array
} else {
$cardClass .= $processedData['data']['tx_t3sbootstrap_header_position'] ? ' '.$processedData['data']['tx_t3sbootstrap_header_position']:'';
}
// list group
if ( !empty($flexconf['list']['container']) && is_array($flexconf['list']['container']) ) {
foreach( $flexconf['list'] as $container ) {
foreach ($container as $list)
$listGroup[] = $list['list']['group'];
}
$cardData['list'] = $listGroup;
}

// profile card
$cardData['multiImage']['enable'] = FALSE;
if ( !empty($flexconf['multiImage']['enable']) ) {
$cardData['multiImage']['enable'] = TRUE;
$cardData['multiImage']['percent'] = '0.'.$flexconf['multiImage']['percent'];
$cardData['multiImage']['style'] = 'top: -' . $flexconf['multiImage']['percent']/2 .'px';
$borderColor = $flexconf['multiImage']['borderColor'] ? ' border-'.$flexconf['multiImage']['borderColor'] : '';
$shadow = $flexconf['multiImage']['shadow'] ? ' circularshadow' : '';
$cardData['multiImage']['shadow'] = $flexconf['multiImage']['shadow'] ? TRUE : FALSE;
$cardData['multiImage']['border'] = $flexconf['multiImage']['borderWidth'].$borderColor.$shadow;
$cardData['multiImage']['slope'] = $flexconf['multiImage']['diagonal'] ? $flexconf['multiImage']['slope'] : 0;
$cardData['multiImage']['socialmedia']['enable'] = $flexconf['multiImage']['socialmedia']['enable'];
$cardData['multiImage']['socialmedia']['footer'] = $flexconf['multiImage']['socialmedia']['footer'];
if (!empty($flexconf['multiImage']['socialmedia']['enable'])) {
foreach ($flexconf['multiImage']['socialmedia'] as $key=>$socialmedia) {
if ($key != 'enable' && $key != 'footer' && !empty($socialmedia)) {
$cardData['multiImage']['socialmediaLinks'][$key] = $socialmedia;
}
}
}
}
// header position
if ( $processedData['data']['header_position'] ) {
$headerPosition = $processedData['data']['header_position'];
Expand All @@ -160,6 +172,11 @@ public function getProcessedData(array $processedData, array $flexconf): array
if ( !empty($cardData['cardborder']) ) {
$cardClass .= ' border-'.$cardData['cardborderstyle'];
}
// parent equal Height
if ( !empty($parentflexconf['equalHeight']) ) {
$cardClass .= ' w-100';
}

$processedData['class'] = trim($cardClass);

// addmedia
Expand Down
3 changes: 1 addition & 2 deletions Classes/ContentElements/Table.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
namespace T3SBS\T3sbootstrap\ContentElements;

use TYPO3\CMS\Core\SingletonInterface;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Core\Resource\FileRepository;

/*
* This file is part of the TYPO3 extension t3sbootstrap.
Expand Down Expand Up @@ -38,6 +36,7 @@ public function getProcessedData(array $processedData, array $flexconf): array
$processedData['tableclass'] = trim($tableclass);
$processedData['theadclass'] = $flexconf['theadClass'];
$processedData['tableResponsive'] = $flexconf['tableResponsive'] ? TRUE : FALSE;
$processedData['tableResponsiveVariant'] = $flexconf['tableResponsiveVariant'] ? TRUE : FALSE;

return $processedData;
}
Expand Down
10 changes: 5 additions & 5 deletions Classes/Controller/ConfigController.php
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,11 @@ public function writeConstants(): void
} else {
$filecontent .= '[page["uid"] == '.$config->getPid().']'.PHP_EOL;
}
$filecontent .= self::getConstants($config, FALSE);
if ($config->getGeneralOverride()) {
$filecontent .= self::getConstants($config, TRUE);
} else {
$filecontent .= self::getConstants($config, FALSE);
}
$filecontent .= '[END]'.PHP_EOL.PHP_EOL;
}
}
Expand Down Expand Up @@ -685,8 +689,6 @@ private function getUtilityColors(): array
$scsscolor = GeneralUtility::trimExplode(':', $customvariables);
if ( str_starts_with((string)$customvariables, '$') && GeneralUtility::inList($defaultUtilColorsList, $scsscolor[0]) ) {
$scsscolor = GeneralUtility::trimExplode(':', $customvariables);


$customScssArr[$scsscolor[0]] = $scsscolor[1];
}
}
Expand All @@ -711,8 +713,6 @@ private function getUtilityColors(): array
if ( str_starts_with((string)$defaultVariables, '$') && GeneralUtility::inList($defaultUtilColorsList, $defaultScssColor[0])
&& ( str_starts_with((string)$defaultScssColor[1], '$') || str_starts_with((string)$defaultScssColor[1], '#') ) ) {
$scsscolor = GeneralUtility::trimExplode(':', $defaultVariables);


$defaultUtilColors[$scsscolor[0]] = substr($scsscolor[1], 0, -9);
}
}
Expand Down
3 changes: 1 addition & 2 deletions Classes/DataProcessing/BootstrapProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ class BootstrapProcessor implements DataProcessorInterface
const T3SBS_ELEMENTS = 't3sbs_mediaobject,t3sbs_card,t3sbs_carousel,t3sbs_button,t3sbs_fluidtemplate,t3sbs_gallery,t3sbs_toast';
const TX_CONTAINER = 'button_group,background_wrapper,parallax_wrapper,autoLayout_row,container,carousel_container,collapsible_container,collapsible_accordion,modal,tabs_container,tabs_tab,listGroup_wrapper,masonry_wrapper,swiper_container,toast_container,card_wrapper';


/**
* Process data
*
Expand Down Expand Up @@ -133,7 +132,7 @@ public function process(ContentObjectRenderer $cObj, array $contentObjectConfigu
}
if ( $cType == 't3sbs_card' ) {
$processedData = GeneralUtility::makeInstance(Card::class)
->getProcessedData($processedData, $flexconf);
->getProcessedData($processedData, $flexconf, $parentflexconf);
}
if ( $cType == 't3sbs_carousel' ) {
$processedData = GeneralUtility::makeInstance(Carousel::class)
Expand Down
38 changes: 11 additions & 27 deletions Classes/DataProcessing/ConfigProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,16 @@
namespace T3SBS\T3sbootstrap\DataProcessing;

use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Core\Site\Entity\SiteInterface;
use TYPO3\CMS\Core\Routing\SiteMatcher;
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
use TYPO3\CMS\Frontend\ContentObject\DataProcessorInterface;
use T3SBS\T3sbootstrap\Utility\BackgroundImageUtility;
use TYPO3\CMS\Core\Resource\FileRepository;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Configuration\ExtensionConfiguration;
use TYPO3\CMS\Core\Domain\Repository\PageRepository;
use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction;
use TYPO3\CMS\Core\Database\Query\QueryHelper;
use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
use TYPO3\CMS\Frontend\ContentObject\DataProcessorInterface;
use T3SBS\T3sbootstrap\Utility\BackgroundImageUtility;

/*
* This file is part of the TYPO3 extension t3sbootstrap.
Expand All @@ -38,8 +36,10 @@ class ConfigProcessor implements DataProcessorInterface
*/
public function process(ContentObjectRenderer $cObj, array $contentObjectConfiguration, array $processorConfiguration, array $processedData)
{

$request = $GLOBALS['TYPO3_REQUEST'];
$settings = $contentObjectConfiguration['settings.'];
$frontendController = self::getFrontendController();
$frontendController = $request->getAttribute('frontend.controller');
$webp = (bool)$settings['webp'];

if ( is_numeric($contentObjectConfiguration['settings.']['config.']['uid']) ) {
Expand Down Expand Up @@ -130,7 +130,7 @@ public function process(ContentObjectRenderer $cObj, array $contentObjectConfigu
* Language Navigation
*/
if( $processedRecordVariables['navbarEnable'] && $processedRecordVariables['navbarLangmenu'] ) {
$site = self::getCurrentSite();
$site = $request->getAttribute('site');
$langUid = [];
foreach ($site->getLanguages() as $lang ) {
$langUid[$lang->getLanguageId()] = $lang->getLanguageId();
Expand Down Expand Up @@ -356,6 +356,8 @@ public function process(ContentObjectRenderer $cObj, array $contentObjectConfigu
# Image from pages media
$hasBgImages = 0;
$fileRepository = GeneralUtility::makeInstance(FileRepository::class);


$fileObjects = [];
$processedData['config']['jumbotron']['alignItem'] = 'd-flex align-items-'.$processedRecordVariables['jumbotronAlignitem'];
$processedData['config']['jumbotron']['alignment'] = $processedRecordVariables['jumbotronAlignitem'];
Expand Down Expand Up @@ -530,24 +532,6 @@ public function process(ContentObjectRenderer $cObj, array $contentObjectConfigu
}


/**
* Returns the currently configured "site" if a site is configured (= resolved) in the current request.
*/
protected function getCurrentSite(): SiteInterface
{
$matcher = GeneralUtility::makeInstance(SiteMatcher::class);
return $matcher->matchByPageId((int)self::getFrontendController()->id);
}

/**
* Returns the frontend controller
*/
protected function getFrontendController(): TypoScriptFrontendController
{
return $GLOBALS['TSFE'];
}


/**
* Returns an instance of the rbackground image utility
*/
Expand Down
39 changes: 39 additions & 0 deletions Classes/Domain/Model/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -659,6 +659,15 @@ class Config extends AbstractEntity
*/
protected $generalRootline = false;


/**
* generalRootline
*
* @var bool
*/
protected $generalOverride = false;


/**
* contentOnlyOnRootpage
*
Expand Down Expand Up @@ -3126,6 +3135,36 @@ public function isGeneralRootline()
return $this->generalRootline;
}

/**
* Returns the generalOverride
*
* @return bool $generalOverride
*/
public function getGeneralOverride()
{
return $this->generalOverride;
}

/**
* Sets the generalOverride
*
* @param bool $generalOverride
* @return void
*/
public function setGeneralOverride($generalOverride)
{
$this->generalOverride = $generalOverride;
}

/**
* Returns the boolean state of generalOverride
*
* @return bool
*/
public function isGeneralOverride()
{
return $this->generalOverride;
}

/**
* Returns the contentOnlyOnRootpage
Expand Down
Loading

0 comments on commit 2104e37

Please sign in to comment.