/** * Initializer. Checks if the configured path exists. * * @return void * @throws \Exception */ protected function _init() { parent::_init(); if (!is_dir($this->_config['path'])) { throw new Exception("Cldr directory does not exist at `{$this->_config['path']}`"); } }
/** * Merges an item into given data and unescapes fields. * * Please note that items with an id containing exclusively whitespace characters * are **not** being merged. Whitespace characters are space, tab, vertical tab, * line feed, carriage return and form feed. * * @param array $data Data to merge item into. * @param array $item Item to merge into $data. * @return array The merged data. * @see lithium\g11n\catalog\adapter\Base::_merge() */ protected function _merge($data, $item) { $filter = function ($value) use(&$filter) { if (is_array($value)) { return array_map($filter, $value); } $value = stripcslashes($value); $value = ctype_space($value) ? null : $value; return $value; }; $fields = array('id', 'ids', 'translated'); foreach ($fields as $field) { if (isset($item[$field])) { $item[$field] = $filter($item[$field]); } } return parent::_merge($data, $item); }
/** * Merges an item into given data and removes quotation marks * from the beginning and end of message strings. * * @param array $data Data to merge item into. * @param array $item Item to merge into $data. * @return array The merged data. * @see lithium\g11n\catalog\adapter\Base::_merge() */ protected function _merge($data, $item) { array_walk($item['ids'], function (&$value) { $value = substr($value, 1, -1); }); return parent::_merge($data, $item); }