Bug #56669

Transliterator object not created successful

Added by Simon Edelmann over 1 year ago.

Status:New Start date:2014-03-08
Priority:Must have Due date:
Assigned To:- % Done:

0%

Category:-
Target version:-

Description

I've set up a new TYPO3 Neos installation (1.0.2) with the Demo Content Page. When I try to add a new page I get this error message:

ExtDirect error: Unable to connect to the server.

After reloading the Neos backend I've two new pages, named node531af4151b5e8 and node531af4163697e.
Neos twice tries and fails setting the node name.

The problem is in the TYPO3CR package in Classes/TYPO3/TYPO3CR/Utility.php in line 30.

if (class_exists('Transliterator', FALSE)) {
    $transliterator = \Transliterator::create('Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC; [:Punctuation:] Remove; Latin-ASCII; Lower();');
    $name = $transliterator->transliterate($name);
    return preg_replace('/[-\s]+/', '-', $name);
} else {
    // Alternative method to remove unwanted characters...
}

Neos checks if the class Transliterator exists, then it creates an object and used it. But creating the object fails on my server; I can't say why. Maybe there is a relation to PECL intl, which is installed in the (old) version 1.1.0. (It's a shared hosting machine, so I can't change that.)

As workaround I changed the line 29:

// if (class_exists('Transliterator', FALSE)) {

if (false) {

So Neos always uses the alternative method without the Transliterator object. But it would be much better to check, if the class could be created successful.

Also available in: Atom PDF