')ʪUP3?')ʪU`3?.ʪU p3@ʪUp53ʪUp 5GʪU5+ʪUP@ 6p@ʪU6<yʪUp6ʪU 9lʪUP0 ;GʪU0;+ʪUP(<p@ʪU@<<yʪU@<-ʪU8?EʪUP?B@ʪU`?<GʪU`?+-ʪU@@@E ʪUPP@t ʪU@`@t@ʪUp@<yʪUp@-ʪUHAEʪUPABʪU`AB&ʪUA<-ʪUPBEʪUPBB&ʪUB<ʪUCʪU`PXEpʪUpPEBʪU`EB&ʪUE<ʪU`hFpʪUpPFB@ʪUF<yʪUFʪU;*lʪUPpxGGʪU@G+ʪU`PHpʪUpPHB&ʪUH<ʪU`JpʪUpPJB@ʪUJ<yʪUJʪUPKp@ʪU0K<ʪU0@KMʪU@KNr(ʪUPLpʪUPLBʪU`LB&ʪUL<ʪU`K*!ʪU@KlʪUP`O%ʪU```O.lʪUpOʪUp`O4GʪU`O+ʪUPPPp ʪUPPPt@ʪUP<yʪUPAʪUQDʪUPQB&ʪUQ<yʪUQʪURpʪUPRB&ʪUR<ʪU`Sp&ʪUS<,ʪU@U>P ̪U!̪Up!̪U49̪UT̪U!̪U!̪U@vS̪UpvS̪U` ̪UT̪UT̪UH ̪UHT̪Uh/̪UpT̪UT̪Uث ̪UT̪UT̪U ̪UzS̪UzS̪UxS̪UwS̪U29̪U{S̪UP{S̪U {S̪UxS̪UwS̪U!̪U!̪UxT̪UT̪U89̪UbT̪U89̪UbT̪U8_"̪U_"̪U@ʪUC9̪UhT̪UP̪UaT̪UX$̪UX$̪UpכT`,n ,n ,n -n +n +n 8-n .n h.n @)̪U-n @ȵT̪U-n @ &o -n .n .n -n H.n -n @T̪U.n @n @)̪U.n .n H/n p/n /n @0T̪U0/n @pT̪UX/n @T̪U/n .n /n .n /n @T̪U/n arrFieldDef,$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.