/F2)@T!/F2 )@@ݑ!Q,p2)@@ٵ!/E|2)@4!Q,3)@z!Q, 3)@ !/7F3)@a i!/@H3)@a i!/ET3)@bj!/G`3)@w!Q-l3)@Bc!/F3)@N!Q-3)@}J!/F3)@o@d!/=FL2)@VV!S!/{F3)@o@v r!/F42)`G@F!Q -2)@!Q -x3)@x!/F3)@!Q - 4)@-%!/F$3)@; M3!/'F03)@Ƽ!/RF3)@@!Q,2)@!/X53)@7 e?!/E<3)@@=p!/FX2)@@=p!/8Fd2)`G@&K!/GF2)@V T!Q,3)@Ք!Q,3)@R!/@4+@@ !/F6+@@VCd_!Q,6*@o@LCD!/7F,4+@@!/F6*@o@d!/hF84*@@!/VF\4*@WR!/@6 *@O!Q,4*@H!/4F4*@G!/DF4*@x!/F4*@>!Q,4*@Լ!Q-L5*@!Q,p5*@!Q,|5*@z!/DF5*@’!/G5*@Rt!/Q:5*@;!Q,5*@ !/}F5*@JB!/2G5*@o@ҧ!Q,D4*@!/G5*@!Q -4*@SQ!/7Fd5*@j!/4FX5*@l~d!Q,5*@M>!Q,06*@!/F5*@ 4!/F4*@ 4!/E4*@tT|!/}F45*@!/F5*@@8!/$Fh4*@ai!/Q:(5*@uC!/LF$6*@@7c=!Q,P4*@!Q -5*@!/Q:6*@Y)Q!Q,5*@9!/{F@57S@s;*# :s*`G@#b?!!/*Ft4*`G@m!/F4*@!/E4*@$!!/ F 6*@p!/dF5*@w!Q,<6+@@LN!Q,6+@o@JhB!/RFT6+`G@t!/VF6+@@0!/E6+@@h!/qF6+`o@!/*F 7+@@ų!Q,x6+@@!/F6+@4 !Q,\7+@4!/Ft7+@O0G!Q,7+@@1H!Q,7+@AI!/yF7+@S$[!Q,7+@jb!Q,8+@x p!Q,(8+@pMx!/~F48+@. !/=FL8+@6s!Q,p8+@>!/WF|8+@Ծ!Q,8+@HA!/'F8+@o@awg!Q-`6+@o@&y!/Fl6+@8g!Q-,7+@)y!!Q,7+@#+!/E7+@!Q,7+@DhE!/F87+@@ C!/F7+@!/E8+@8!/F8+@S[!/F7+@ :!Q,X8+@@詥!/F6+@ !/}Fh7+@_N_W!/F7+@$:!/F7+@l9d!/nF8+@ݠ!/=F8+@5!Q-8+@S!Q,d8+@!Q`,8+`G@!/~G7+@ !/6FP7+@:!Q,@8+@VX^!/E8+@@?!/EF6+@ǥ!/F8+@[]^!/F8+@R!/FD7+@@~!/qF6-@HzI!/DF@;-@@V!Q,;-@f!/aGd; ,@@!/EF9,@@^!/BG$9,@!Q,9,@!/F9,@n!/>F9,@n!/6F9,@oIg!/F9,@W1!/E :,@顆!/FD:,@!/`GP:,@o@|!/@9,@@|y!/E09,@T!/E9,@,!/F:,@E!/'F8:,@Q!/{F:,@x}!/{F:,`G@=?!/R:x9,@5!/8F9,@NF!Q-9,@!Q,9,@dE!/F,:,@f!Q,\:,@f!/'Fh:,@@ՙ!Q, 9,@!/ F:,@@ !Q,<9,@V2P!Q,:,`G@1W0!/Fl9,`G@љ!/&F9,@NfO!Q,9,@@i!/F`9,@@/!/FH9,@@/!Q,T9-@o@W!/8G:,@=8!/Et:-@@!5%!/E;-@@%V&!/>F; -@@۩!Q`,:-@L!/F|;-@!/E;-@z!/BF;-@0!Q,;-@a~!Q-;-@m{$callback[1]}($objAttribute,$arrSet); } } return $arrSet; } /** * Call the prepareRendering HOOK * Triggered as an alternative rendering routine for any attribute * @param string * @param string * @param mixed * @param array * @param object */ protected function prepareRenderingHook($strField,$varValue,$objTemplate,$objAttribute) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['prepareRendering']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['prepareRendering'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['prepareRendering'] as $callback) { $strBuffer = \Contao\System::importStatic($callback[0])->{$callback[1]}($strField,$varValue,$objTemplate,$objAttribute); } } return $strBuffer ?? ''; } /** * Call the renderAttribute HOOK * Triggered before an attribute is rendered to the the frontend * @param string * @param string * @param mixed * @param array * @param object */ protected function renderAttributeHook($strBuffer,$strField,$varValue,$objAttribute) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['renderAttribute']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['renderAttribute'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['renderAttribute'] as $callback) { $strBuffer = \Contao\System::importStatic($callback[0])->{$callback[1]}($strBuffer,$strField,$varValue,$objAttribute->getFieldDefinition(),$objAttribute); } } return $strBuffer; } /** * Called when the clipboard is running in copy mode * Expects an array of ids of the customelements that should be copied as return value * @param array Ids of elements in the clipboard * @param string Table name * @param object DataContainer object * @return array[source] = source table name e.g. tl_content; array[ids] = the ids of the content elements * Triggered in: PCT\CustomElements\Helper\DcaHelper */ protected function observeClipboardHook($arrClipboard, $strTable, $objDC) { $arrReturn = array(); if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['observeClipboard']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['observeClipboard'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['observeClipboard'] as $callback) { $arrReturn = \Contao\System::importStatic($callback[0])->{$callback[1]}($arrClipboard, $strTable, $objDC); } } return $arrReturn; } /** * Called when a new copy in the vault should be created * @param integer Id of the new record created by contao * @param object The DataContainer object * @param object The DcaHelper class object * Triggered in: PCT\CustomElements\Helper\DcaHelper */ protected function createCopyInVaultHook($intRecord,$objDC,$objDcaHelper) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['createCopyInVault']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['createCopyInVault'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['createCopyInVault'] as $callback) { \Contao\System::importStatic($callback[0])->{$callback[1]}($intRecord,$objDC->table,$objDC,$objDcaHelper); } } } /** * Called when a contao element has been deleted * @param integer Id of the new record created by contao * @param string * @param object * Triggered in: PCT\CustomElements\Helper\DcaHelper */ protected function removeFromVaultHook($objDC) { $arrReturn = array(); if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['removeFromVault']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['removeFromVault'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['removeFromVault'] as $callback) { $arrReturn = \Contao\System::importStatic($callback[0])->{$callback[1]}($objDC->id,$objDC->table,$objDC); } } return $arrReturn; } /** * Manipulate the dca of an attribute on the fly * @param array Current field definition * @param object Attribute * @param object DataContainer * @return array */ protected function getDcaHook($arrData,$objAttribute,$objDC) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['getDCA']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['getDCA'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['getDCA'] as $callback) { $arrData = \Contao\System::importStatic($callback[0])->{$callback[1]}($arrData,$objAttribute,$objDC); } } return $arrData; } /** * Manipulate the backend output of an attribute on the fly * @param array Current field definition * @param object Attribute * @param object DataContainer * @return array */ protected function prepareForDcaHook($arrOutput,$objAttribute,$objDC) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['prepareForDca']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['prepareForDca'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['prepareForDca'] as $callback) { $arrOutput = \Contao\System::importStatic($callback[0])->{$callback[1]}($arrOutput,$objAttribute,$objDC); } } return $arrOutput; } /** * Manipulate the backend list output of the contao list view * @param string Name of the table * @param array Current db record * @param string The icon as html string * @param string Current prerendered output * @return string New output */ protected function child_record_callback($strTable, $arrRow, $strIcon, $strBuffer) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['child_record_callback']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['child_record_callback'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['child_record_callback'] as $callback) { $strBuffer = \Contao\System::importStatic($callback[0])->{$callback[1]}($strTable, $arrRow, $strIcon, $strBuffer); } } return $strBuffer; } /** * Toggle the backend icon * @param array Current field definition * @param object Attribute * @param object DataContainer * @return array */ protected function toggleIconHook($strTable, $arrRow, $strIcon) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['toggleIcon']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['toggleIcon'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['toggleIcon'] as $callback) { $strIcon = \Contao\System::importStatic($callback[0])->{$callback[1]}($strTable, $arrRow, $strIcon); } } return $strIcon; } /** * Import chain * @param array Current field definition * @param object Attribute * @param object DataContainer * @return array */ protected function importChainHook($objCaller) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['importChain']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['importChain'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['importChain'] as $callback) { $objCaller = \Contao\System::importStatic($callback[0])->{$callback[1]}($objCaller); } } return $objCaller; } /** * Load attribute value Hook * Triggered when calling the ->value() Method for a TemplateAttribute in the Frontend * @param array Current field definition * @param object Attribute * @param object DataContainer * @return array */ protected function loadValueHook($varValue,$objAttribute=null) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['loadValue']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['loadValue'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['loadValue'] as $callback) { $varValue = \Contao\System::importStatic($callback[0])->{$callback[1]}($varValue,$objAttribute); } } return $varValue; } /** * Translate attribute value Hook * Triggered when an attribute or filter processes its frontend output. Allow custom translated labels for values * @param array Current field definition * @param object Attribute * @param object DataContainer * @return string */ protected function translateValueHook($strField,$strValue,$strCustomElement,$objAttribute) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['translateValue']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['translateValue'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['translateValue'] as $callback) { $strTranslation = \Contao\System::importStatic($callback[0])->{$callback[1]}($strField,$strValue,$strCustomElement,$objAttribute); } } return $strTranslation ?? ''; } /** * On factory create instance Hook * Triggered when an CustomElement | Group | Attribute has been created by their Factory::create method * @param object The object created by the factory * @param object The ContaoModel related */ protected function onFactoryCreateHook($objElement,$objModel) { if (isset($GLOBALS['CUSTOMELEMENTS_HOOKS']['onFactoryCreate']) && !empty($GLOBALS['CUSTOMELEMENTS_HOOKS']['onFactoryCreate'])) { foreach($GLOBALS['CUSTOMELEMENTS_HOOKS']['onFactoryCreate'] as $callback) { \Contao\System::importStatic($callback[0])->{$callback[1]}($objElement,$objModel); } } } } An Error Occurred: Internal Server Error

Oops! An Error Occurred

The server returned a "500 Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.