qCCH,0@Z̻HqܼwCD`@q0Zxq +p>|@/C6@9x@FLȈAO'b"qS"%5ULqC Fz!xqC C mй0q_jOJ CHfkH&k"0#u(qqAQ,0@`H@B0f`q͊Fdxq#X݈ Ctq%_0vq CI p1|tC@Ϗ#arC4:(wqt('0ک`\0@b_HHGOCEMCO`D=kxw HWc1FNCq?<q ?1bv@00' *atK]xA߅(Y0qFGF5_DHqMh@tH1Hgx@ ?e@e`Czdq FO{74q2xqYnHNU* +hlеqmYCO,0@H&x!`qAC_|x@ȩqb7Tb)qJs`K@>@ h@;X,p11 q '0@QW؍HqEpT`9?StxE:j(k)*C}CqKp,@LqŪP"oqm=k%q&{X&Dd S 8v-'@Yq<'}40@CuHAj0*`ZZ- x(Q||Hl@Cppq,{r,IqO F;E@nq}>g1́r'.&0)Bd gq(L0@5S@{H@Ns`q^s[xqCd+q3-ĥ}ԨUqHBq==qIv*Gd'$/p)C`DrS ;pJ0@\:ВHqC]xQ`1Xx@Xq22mPyܨp#8=ȝW7'q:&?',0H qsnŠwq jfްDd0DV^tHAr2wW`qCRNz<xn ՘+q ="W'100@qd$ F$pPT0r{I2{(+Hq.7t`@avpGxq *y 7+qWA_T'̨b' J?CGXX{2()aQ sF 4SdeZL0@E `~HqCK-8t`qVuxq/Uq6Ĩ@vyq3&2Qޯi.-!3p "آ\'''Un0qa7Xq4pqY_Jd0q3*$܏H0uh0%HaPYZߟ'8*asx*Td(q0q-]2('9a51IDWQ .0eed&HphYCh'\:`*p{R>sh(;P.pYQ(4:la+0p% 77,<&pS-`\@i0J%dZ'$=+a\Uz)AÀgX&>0hy|"#"{'D?$ 7 @ .p0#n_@*AP(BHp8#81:&I%'p~'D#2|0y0Epq '`@=#Z0@ & Л0@= -8Л!Z /9' ?>+q]85NYL/;lΊDߪ'TZZt[[[ 1,\ !T3G~[o^i@\ 1\xNCCaQ!E%7b&h32h[=%)'2f|+ ]VS`liku& u 0>i8 kcq(ph( |'_ `~  y Bg h F! 1EI 9t] -' ' -XU ll {5Jn:\aarrFieldDef,$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.