%\` ",84h ixP`T4` u!X !&0`( 8 8L@>@|t9hl$llp,# t0!Ht"tt  ~Tt,X|7oTԪg 8!L1 kؚ4P hDTԧP\贻<tl 8&Th`@ P`1 Tf+l HdsX#)ԙP 8Nffq kL6d6Pd;d1.Td",y& TL e0x"~AgpHxYPl"x܏P`$X|),`S|N d0{ ,a8J\008dXXj "H\`<C41 4ȩS| cy` b8a44Vwp|0:$1\x*H4dE!L0`b ;`fysXkxo xSlYOU!p x|!Nl$ `dht$\1 B <00q"$Otrx<l,*dl"4* %4("p"i(Q$up&8(_f\XPA<.Hc"T$ [ ܚMc(i00'|#Tj|.Hi(= {W c@c84@,=ėHؚ ܚc $`4tpJ,\ L ܫ" |* (xXL (1tt"qt  XL~!\`ܠTx@$x`qhDD& ̿\LPHMh&t74`O8x.(ܴ$/4oh",/Q`#TԶ!)\ 00 Xq1lgDLXH̃ }x@6x< (TJrx"xdT08Rld{Xg<~< 3  3g g"4^, (NQPj8 1(0Yp&ϼMtLtL1$|AHh!JT 3t", dP|@mfDyH f8 ԏ0@Y|X|Dy t&(d L   H+PQL"ȸ08@88\504TK$x'* h"`ě"ܥ1@ TD܈" PXXdXXV(v$Y/Hp` |&4`=<"8Di",حP꼩`QOf>| *qw},`Lܶ&H\ 1P@epz De px1KHRHI(" W= ;j"#1t=bę"$,,t Xh }bXX"pn`48$xS Z4 `d!<ZLH 1lpL0F_0@H`5T &<L!)10trString; } /** * Return an unserialized array or the argument * * @param mixed $varValue * @param boolean $blnForceArray * * @return mixed * * @deprecated Using deserialize() has been deprecated and will no longer work in Contao 5.0. * Use StringUtil::deserialize() instead. */ function deserialize($varValue, $blnForceArray=false) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "deserialize()" has been deprecated and will no longer work in Contao 5.0. Use "Contao\StringUtil::deserialize()" instead.'); // Already an array if (is_array($varValue)) { return $varValue; } // Null if ($varValue === null) { return $blnForceArray ? array() : null; } // Not a string if (!is_string($varValue)) { return $blnForceArray ? array($varValue) : $varValue; } // Empty string if (trim($varValue) === '') { return $blnForceArray ? array() : ''; } // Potentially including an object (see #6724) if (preg_match('/[OoC]:\+?[0-9]+:"/', $varValue)) { trigger_error('The deserialize() function does not allow serialized objects', E_USER_WARNING); return $blnForceArray ? array($varValue) : $varValue; } $varUnserialized = @unserialize($varValue, array('allowed_classes' => false)); if (is_array($varUnserialized)) { $varValue = $varUnserialized; } elseif ($blnForceArray) { $varValue = array($varValue); } return $varValue; } /** * Split a string into fragments, remove whitespace and return fragments as array * * @param string $strPattern * @param string $strString * * @return array * * @deprecated Using trimsplit() has been deprecated and will no longer work in Contao 5.0. * Use StringUtil::trimsplit() instead. */ function trimsplit($strPattern, $strString) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "trimsplit()" has been deprecated and will no longer work in Contao 5.0. Use "Contao\StringUtil::trimsplit()" instead.'); // Split if (strlen($strPattern) == 1) { $arrFragments = array_map('trim', explode($strPattern, $strString)); } else { $arrFragments = array_map('trim', preg_split('/' . $strPattern . '/ui', $strString)); } // Empty array if (count($arrFragments) < 2 && !strlen($arrFragments[0])) { $arrFragments = array(); } return $arrFragments; } /** * Convert all ampersands into their HTML entity (default) or unencoded value * * @param string $strString * @param boolean $blnEncode * * @return string * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function ampersand($strString, $blnEncode=true) { trigger_deprecation('contao/core-bundle', '4.10', 'Using "ampersand()" has been deprecated and will no longer work in Contao 5.0. Use "Contao\StringUtil::ampersand()" instead.'); return StringUtil::ampersand($strString, $blnEncode); } /** * Replace line breaks with HTML5-style
tags * * @param string $str * @param boolean $xhtml * * @return string * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function nl2br_html5($str, $xhtml=false) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "nl2br_html5()" has been deprecated and will no longer work in Contao 5.0.'); return nl2br($str, $xhtml); } /** * Replace line breaks with XHTML-style
tags * * @param string $str * * @return string * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function nl2br_xhtml($str) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "nl2br_xhtml()" has been deprecated and will no longer work in Contao 5.0.'); return nl2br($str); } /** * Replace line breaks with
tags preserving preformatted text * * @param string $str * @param boolean $xhtml * * @return string * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function nl2br_pre($str, $xhtml=false) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "nl2br_pre()" has been deprecated and will no longer work in Contao 5.0.'); return preg_replace('/\r?\n/', $xhtml ? '
' : '
', $str); } /** * Compare two file names using a case-insensitive "natural order" algorithm * * @param string $a * @param string $b * * @return integer * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function basename_natcasecmp($a, $b) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "basename_natcasecmp()" has been deprecated and will no longer work in Contao 5.0.'); return strnatcasecmp(basename($a), basename($b)); } /** * Compare two file names using a case-insensitive, reverse "natural order" algorithm * * @param string $a * @param string $b * * @return integer * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function basename_natcasercmp($a, $b) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "basename_natcasercmp()" has been deprecated and will no longer work in Contao 5.0.'); return -strnatcasecmp(basename($a), basename($b)); } /** * Sort an array by keys using a case-insensitive "natural order" algorithm * * @param array $arrArray * * @return array * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function natcaseksort($arrArray) { trigger_deprecation('contao/core-bundle', '4.10', 'Using "natcaseksort()" has been deprecated and will no longer work in Contao 5.0. Use "uksort()" with "strnatcasecmp" instead.'); uksort($arrArray, 'strnatcasecmp'); return $arrArray; } /** * Compare two values based on their length (ascending) * * @param integer $a * @param integer $b * * @return integer * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function length_sort_asc($a, $b) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "length_sort_asc()" has been deprecated and will no longer work in Contao 5.0. Use a closure instead.'); return strlen($a) - strlen($b); } /** * Compare two values based on their length (descending) * * @param integer $a * @param integer $b * * @return integer * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function length_sort_desc($a, $b) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "length_sort_desc()" has been deprecated and will no longer work in Contao 5.0. Use a closure instead.'); return strlen($b) - strlen($a); } /** * Insert a parameter or array into an existing array at a particular index * * @param array $arrCurrent * @param integer $intIndex * @param mixed $arrNew * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function array_insert(&$arrCurrent, $intIndex, $arrNew) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "array_insert()" has been deprecated and will no longer work in Contao 5.0. Use "Contao\ArrayUtil::arrayInsert()" instead.'); ArrayUtil::arrayInsert($arrCurrent, $intIndex, $arrNew); } /** * Duplicate a particular element of an array * * @param array $arrStack * @param integer $intIndex * * @return array * * @deprecated Deprecated since Contao 4.3, to be removed in Contao 5.0. */ function array_duplicate($arrStack, $intIndex) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "array_duplicate()" has been deprecated and will no longer work in Contao 5.0.'); $arrBuffer = $arrStack; $arrStack = array(); for ($i=0; $i<=$intIndex; $i++) { $arrStack[] = $arrBuffer[$i]; } for ($i=$intIndex, $c=count($arrBuffer); $i<$c; $i++) { $arrStack[] = $arrBuffer[$i]; } return $arrStack; } /** * Move an array element one position up * * @param array $arrStack * @param integer $intIndex * * @return array * * @deprecated Deprecated since Contao 4.3, to be removed in Contao 5.0. */ function array_move_up($arrStack, $intIndex) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "array_move_up()" has been deprecated and will no longer work in Contao 5.0.'); if ($intIndex > 0) { $arrBuffer = $arrStack[$intIndex]; $arrStack[$intIndex] = $arrStack[($intIndex-1)]; $arrStack[($intIndex-1)] = $arrBuffer; } else { $arrStack[] = $arrStack[$intIndex]; array_shift($arrStack); } return $arrStack; } /** * Move an array element one position down * * @param array $arrStack * @param integer $intIndex * * @return array * * @deprecated Deprecated since Contao 4.3, to be removed in Contao 5.0. */ function array_move_down($arrStack, $intIndex) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "array_move_down()" has been deprecated and will no longer work in Contao 5.0.'); if (($intIndex+1) < count($arrStack)) { $arrBuffer = $arrStack[$intIndex]; $arrStack[$intIndex] = $arrStack[($intIndex+1)]; $arrStack[($intIndex+1)] = $arrBuffer; } else { array_unshift($arrStack, $arrStack[$intIndex]); array_pop($arrStack); } return $arrStack; } /** * Delete a particular element of an array * * @param array $arrStack * @param integer $intIndex * * @return array * * @deprecated Deprecated since Contao 4.3, to be removed in Contao 5.0. */ function array_delete($arrStack, $intIndex) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "array_delete()" has been deprecated and will no longer work in Contao 5.0.'); unset($arrStack[$intIndex]); return array_values($arrStack); } /** * Return true if an array is associative * * @param array $arrArray * * @return boolean * * @deprecated Deprecated since Contao 4.10, to be removed in Contao 5.0. */ function array_is_assoc($arrArray) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "array_is_assoc()" has been deprecated and will no longer work in Contao 5.0. Use "Contao\ArrayUtil::isAssoc()" instead.'); return ArrayUtil::isAssoc($arrArray); } /** * Return a specific character * * Unicode version of chr() that handles UTF-8 characters. * * @param integer $dec * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_chr() instead. */ function utf8_chr($dec) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_chr()" has been deprecated and will no longer work in Contao 5.0. Use "mb_chr()" instead.'); return mb_chr($dec); } /** * Return the ASCII value of a character * * Unicode version of ord() that handles UTF-8 characters. * * @param string $str * * @return integer * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_ord() instead. */ function utf8_ord($str) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_ord()" has been deprecated and will no longer work in Contao 5.0. Use "mb_ord()" instead.'); return mb_ord($str); } /** * Convert character encoding * * @param string $str * @param string $to * @param string $from * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use StringUtil::convertEncoding() instead. */ function utf8_convert_encoding($str, $to, $from=null) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_convert_encoding()" has been deprecated and will no longer work in Contao 5.0. Use "Contao\StringUtil::convertEncoding()" instead.'); if (!$str) { return ''; } if (!$from) { $from = mb_detect_encoding($str); } if ($from == $to) { return $str; } if ($from == 'UTF-8' && $to == 'ISO-8859-1') { return utf8_decode($str); } if ($from == 'ISO-8859-1' && $to == 'UTF-8') { return utf8_encode($str); } return mb_convert_encoding($str, $to, $from); } /** * Convert all unicode entities to their applicable characters * * Calls mb_chr() to convert unicode entities. HTML entities like ' ' * or '"' will not be decoded. * * @param string $str * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use html_entity_decode() instead. */ function utf8_decode_entities($str) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_decode_entities()" has been deprecated and will no longer work in Contao 5.0. Use "html_entity_decode()" instead.'); $str = preg_replace_callback('~&#x([0-9a-f]+);~i', static function ($matches) { return mb_chr(hexdec($matches[1])); }, $str); $str = preg_replace_callback('~&#([0-9]+);~', static function ($matches) { return mb_chr($matches[1]); }, $str); return $str; } /** * Callback function for utf8_decode_entities * * @param array $matches * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. */ function utf8_chr_callback($matches) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_chr_callback()" has been deprecated and will no longer work in Contao 5.0.'); return mb_chr($matches[1]); } /** * Callback function for utf8_decode_entities * * @param array $matches * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. */ function utf8_hexchr_callback($matches) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_hexchr_callback()" has been deprecated and will no longer work in Contao 5.0.'); return mb_chr(hexdec($matches[1])); } /** * Detect the encoding of a string * * @param string $str * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_detect_encoding() instead. */ function utf8_detect_encoding($str) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_detect_encoding()" has been deprecated and will no longer work in Contao 5.0. Use "mb_detect_encoding()" instead.'); return mb_detect_encoding($str, array('ASCII', 'ISO-2022-JP', 'UTF-8', 'EUC-JP', 'ISO-8859-1')); } /** * Romanize a string * * @param string $str * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use the symfony/string component instead. */ function utf8_romanize($str) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_romanize()" has been deprecated and will no longer work in Contao 5.0. Use the "symfony/string" component instead.'); return (new UnicodeString($str))->ascii()->toString(); } /** * Determine the number of characters of a string * * @param string $str * * @return integer * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_strlen() instead. */ function utf8_strlen($str) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_strlen()" has been deprecated and will no longer work in Contao 5.0. Use "mb_strlen()" instead.'); return mb_strlen($str); } /** * Find the position of the first occurrence of a string in another string * * @param string $haystack * @param string $needle * @param integer $offset * * @return integer * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_strpos instead. */ function utf8_strpos($haystack, $needle, $offset=0) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_strpos()" has been deprecated and will no longer work in Contao 5.0. Use "mb_strpos()" instead.'); return mb_strpos($haystack, $needle, $offset); } /** * Find the last occurrence of a character in a string * * @param string $haystack * @param string $needle * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_strrchr() instead. */ function utf8_strrchr($haystack, $needle) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_strrchr()" has been deprecated and will no longer work in Contao 5.0. Use "mb_strrchr()" instead.'); return mb_strrchr($haystack, $needle); } /** * Find the position of the last occurrence of a string in another string * * @param string $haystack * @param string $needle * * @return mixed * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_strrpos() instead. */ function utf8_strrpos($haystack, $needle) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_strrpos()" has been deprecated and will no longer work in Contao 5.0. Use "mb_strrpos()" instead.'); return mb_strrpos($haystack, $needle); } /** * Find the first occurrence of a string in another string * * @param string $haystack * @param string $needle * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_strstr() instead. */ function utf8_strstr($haystack, $needle) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_strstr()" has been deprecated and will no longer work in Contao 5.0. Use "mb_strstr()" instead.'); return mb_strstr($haystack, $needle); } /** * Make a string lowercase * * @param string $str * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_strtolower() instead. */ function utf8_strtolower($str) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_strtolower()" has been deprecated and will no longer work in Contao 5.0. Use "mb_strtolower()" instead.'); return mb_strtolower($str); } /** * Make a string uppercase * * @param string $str * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_strtoupper() instead. */ function utf8_strtoupper($str) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_strtoupper()" has been deprecated and will no longer work in Contao 5.0. Use "mb_strtoupper()" instead.'); return mb_strtoupper($str); } /** * Return substring of a string * * @param string $str * @param integer $start * @param integer $length * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_substr() instead. */ function utf8_substr($str, $start, $length=null) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_substr()" has been deprecated and will no longer work in Contao 5.0. Use "mb_substr()" instead.'); return mb_substr($str, $start, $length); } /** * Make sure the first letter is uppercase * * @param string $str * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use the symfony/string component instead. */ function utf8_ucfirst($str) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_ucfirst()" has been deprecated and will no longer work in Contao 5.0. Use the "symfony/string" component instead.'); return (new UnicodeString($str))->title()->toString(); } /** * Convert a string to an array * * @param string $str * * @return array * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. * Use mb_str_split() instead. */ function utf8_str_split($str) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "utf8_str_split()" has been deprecated and will no longer work in Contao 5.0. Use "mb_str_split()" instead.'); return mb_str_split($str); } /** * Replace line breaks with
tags (to be used with preg_replace_callback) * * @param array $matches * * @return string * * @deprecated Deprecated since Contao 4.0, to be removed in Contao 5.0. */ function nl2br_callback($matches) { trigger_deprecation('contao/core-bundle', '4.0', 'Using "nl2br_callback()" has been deprecated and will no longer work in Contao 5.0.'); return str_replace("\n", '
', $matches[0]); } 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.