diff --git a/etc/volkszaehler.conf.template.php b/etc/volkszaehler.conf.template.php index dd7affe..71ceebf 100644 --- a/etc/volkszaehler.conf.template.php +++ b/etc/volkszaehler.conf.template.php @@ -86,6 +86,12 @@ $config['lib']['doctrine'] = VZ_DIR . '/lib/vendor/Doctrine'; */ //$config['timezone'] = 'Europe/Berlin'; +/** + * @var string Locale used for regular expressions + * @link http://php.net/manual/de/function.setlocale.php + */ +$config['locale'] = array('de_DE', 'en_US', 'C'); + /** * @var array of colors for plot series */ diff --git a/htdocs/middleware.php b/htdocs/middleware.php index a12fc2f..2e082cc 100644 --- a/htdocs/middleware.php +++ b/htdocs/middleware.php @@ -46,6 +46,9 @@ Util\Configuration::load(VZ_DIR . '/etc/volkszaehler.conf'); $tz = (Util\Configuration::read('timezone')) ? Util\Configuration::read('timezone') : @date_default_timezone_get(); date_default_timezone_set($tz); +// set locale +setlocale(LC_ALL, Util\Configuration::read('locale')); + // define include dirs for vendor libs define('DOCTRINE_DIR', Util\Configuration::read('lib.doctrine') ? Util\Configuration::read('lib.doctrine') : 'Doctrine'); define('JPGRAPH_DIR', Util\Configuration::read('lib.jpgraph') ? Util\Configuration::read('lib.jpgraph') : 'JpGraph'); diff --git a/lib/Definition/PropertyDefinition.json b/lib/Definition/PropertyDefinition.json index 9b0bd3c..0a0df30 100644 --- a/lib/Definition/PropertyDefinition.json +++ b/lib/Definition/PropertyDefinition.json @@ -29,7 +29,7 @@ { "name" : "title", "type" : "string", - "pattern" : "\/^[a-z0-9_ -]*$\/i", + "pattern" : "\/^[\\w\\.\\-\\,()\\]\\[!&*+\\/:@]+$\/u", "max" : 255, "translation" : { "de" : "Titel", @@ -103,7 +103,7 @@ { "name" : "address:city", "type" : "string", - "pattern" : "\/^[a-z.- ]*$\/i", + "pattern" : "\/^[\\w\\.\\-\\,() ]+$\/u", "translation" : { "de" : "Stadt", "en" : "City"