@B$pu@u;t࡟@덚*€t@iB0Hw3`s`YNLߠr$3E跰qJ*˒`p/O L`ߗKjyP5N`pp3 vr1v]zE՞ ݗ,o`ܗ xxع@8Dž!ۗ@v3VIs ڗ@V.Isؗ@E̗:מ@֗:؞`|1 0ٞ + ח?H7@Kk[=qHڞ\kڞ&eVͱp՗f 4w8D M$S`  6Ϡ@P*V GNӈޝP*z\<`ӗ@tZŠҗcPٝ`_Gc ї 5L/F=gd5.M0|aҝ\1|aН.a1|a؎QAQ -s^-dhOx.jшZ\+*7٧P*apWP)%&i,Š( JNσ'ewaJv&mnpO&t}?%[2DɊH#td@w$BJ+@"2XyrF#+BHΠ01Vp򘭜`[nKs6tguo+0|a T|(@]Vt4`]g$'-pShs07ѠUob43J0fb4ofO8(>lRqy@k']]j1ﴼXB T#T x*nQo/`ޛ*muY؀ܛ@C@=8*ǐ"؛`jQo/כ`PvxO!g`cv[WҜ`4Eɕ0f`8@;%҆h`r[ȶ~qՀ`5nøH`}ֶø`eX;˜`jk;@`&E5c`iA; `& ;ȝ`*?X|b`A61"Pa`Awsҹ*OWp *ByY`_bp+PpParrFieldDef,$strName); } // caption field if(in_array('caption', $options)) { $strName = $strField.'_caption'; $arrFieldDef = $GLOBALS['TL_DCA']['tl_content']['fields']['caption']; $arrFieldDef['eval']['tl_class'] = 'w50'; $arrFieldDef['saveDataAs'] = 'varchar'; $this->prepareChildAttribute($arrFieldDef,$strName); } return $strBuffer; } /** * Render the attribute and return html * @param string * @param mixed * @param object * @param object * @return array */ public function renderCallback($strField,$varValue,$objTemplate,$objAttribute) { $varValue = \Contao\StringUtil::deserialize($varValue); $objOrig = $this->getActiveRecord(); $objActiveRecord = new \Contao\ContentModel(); $objActiveRecord->mergeRow( $objOrig->row() ); $objActiveRecord->__set('strPk',$objActiveRecord->id); $objActiveRecord->singleSRC = \Contao\StringUtil::uuidToBin($varValue); $objActiveRecord->customTpl = ''; $objActiveRecord->autogrid = 0; $objActiveRecord->cssID = $objAttribute->get('cssID'); $objActiveRecord->isCustomElement = true; $blnOverwriteMeta = false; // laod option values $arrOptionValues = array_filter( $this->loadOptionValues($strField) ); foreach($arrOptionValues as $k => $v) { $objActiveRecord->{$k} = $v; // meta data fields if( \in_array($k, array('title','alt','caption','imageUrl') ) ) { $blnOverwriteMeta = true; } } $objActiveRecord->overwriteMeta = $blnOverwriteMeta; $objActiveRecord->imageTitle = $arrOptionValues['title'] ?? ''; // a non ce attribute template is coming in if( \property_exists($this,'isCustomTemplate') && $this->isCustomTemplate) { $objActiveRecord->customTpl = $objAttribute->get('template'); } $objMyAttribute = new \Contao\ContentImage($objActiveRecord); $objMyAttribute->customTpl = ''; $objMyAttribute->type = 'image'; $objMyAttribute->overwriteMeta = $blnOverwriteMeta; $objActiveRecord->headline = ''; $objMyAttribute->imageUrl = $arrOptionValues['imageUrl'] ?? ''; $objMyAttribute->href = $arrOptionValues['imageUrl'] ?? ''; $objMyAttribute->fullsize = $arrOptionValues['fullsize'] ?? ''; $objMyAttribute->caption = $arrOptionValues['caption'] ?? ''; $options = \Contao\StringUtil::deserialize($this->get('options')); if(!empty($options) && is_array($options) && !empty($arrOptionValues['size'])) { $arrSize = array_filter(\Contao\StringUtil::deserialize($arrOptionValues['size']),'strlen'); if(count($arrSize) > 0) { $objMyAttribute->size = $arrOptionValues['size']; } } if(!$objMyAttribute->size) { $objMyAttribute->size = $this->get('size'); } $objMyAttribute->space = array(); // pass to template $objTemplate->activeRecord = $objActiveRecord; $objTemplate->element = $objMyAttribute; // generate the attribute and place html in attribute template $objTemplate->value = \Contao\Controller::replaceInsertTags( $objMyAttribute->generate() ?? '' ); // bypass the CE attribute template when a Contao template is in use if( \property_exists($objAttribute,'isCustomTemplate') && $objAttribute->isCustomTemplate) { return $objTemplate->value; } return $objTemplate->parse(); } /** * Generate wildcard value * @param mixed * @param object DatabaseResult * @return string */ public function processWildcardValue($varValue,$objAttribute) { if($objAttribute->get('type') != 'image' || empty($varValue)) { return $varValue; } $size = $GLOBALS['PCT_CUSTOMELEMENTS']['defaultWildcardImageSize']; $objFile = \Contao\FilesModel::findByPk($varValue); $image = ControllerHelper::callstatic('getImage',array($objFile->path,$size[0],$size[1],$size[2])); if(strlen($image) < 1) { return ''; } $image = \Contao\Image::getHtml($image); return $image; } /** * Return the field definition for an options field * @param string * @return array */ public function getOptionFieldDefinition($strOption) { $arrReturn = $GLOBALS['TL_DCA']['tl_content']['fields'][$strOption] ?? array(); $arrReturn['eval']['tl_class'] = 'w50'; $arrReturn['saveDataAs'] = 'varchar'; if( isset($arrReturn['eval']['datepicker']) || isset($arrReturn['eval']['dcaPicker']) ) { $arrReturn['eval']['tl_class'] .= ' wizard'; } return $arrReturn; } } Redirecting to https://regional-elbe-elster.de/regional.html Redirecting to https://regional-elbe-elster.de/regional.html.