diff --git a/Naming/DefaultNamer.php b/Naming/DefaultNamer.php index 865c419..c5e2956 100644 --- a/Naming/DefaultNamer.php +++ b/Naming/DefaultNamer.php @@ -17,39 +17,29 @@ class DefaultNamer */ public function translitRename(PropertyMapping $propertyMapping, $name) { - - - - if (function_exists('transliterator_transliterate')) { - $name = transliterator_transliterate("Any-Latin; Latin-ASCII; [\u0100-\u7fff] remove" , $name); + $name = transliterator_transliterate("Any-Latin; Latin-ASCII; [\u0100-\u7fff] remove", $name); $name = preg_replace('/[^\\pL\d.]+/u', '-', $name); $name = preg_replace('/[-\s]+/', '-', $name); + $name = preg_replace('/[\(\)\[\]]+/', '', $name); } else { - - $iso = array( - "Є" => "YE", "І" => "I", "Ѓ" => "G", "і" => "i", "№" => "N", "є" => "ye", "ѓ" => "g", - "А" => "A", "Б" => "B", "В" => "V", "Г" => "G", "Д" => "D", - "Е" => "E", "Ё" => "e", "Ж" => "z", - "З" => "Z", "И" => "I", "Й" => "J", "К" => "K", "Л" => "L", - "М" => "M", "Н" => "N", "О" => "O", "П" => "P", "Р" => "R", - "С" => "S", "Т" => "T", "У" => "U", "Ф" => "F", "Х" => "H", - "Ц" => "C", "Ч" => "C", "Ш" => "S", "Щ" => "s", "Ъ" => "", - "Ы" => "Y", "Ь" => "", "Э" => "E", "Ю" => "U", "Я" => "a", - "а" => "a", "б" => "b", "в" => "v", "г" => "g", "д" => "d", - "е" => "e", "ё" => "e", "ж" => "z", - "з" => "z", "и" => "i", "й" => "j", "к" => "k", "л" => "l", - "м" => "m", "н" => "n", "о" => "o", "п" => "p", "р" => "r", - "с" => "s", "т" => "t", "у" => "u", "ф" => "f", "х" => "h", - "ц" => "c", "ч" => "c", "ш" => "s", "щ" => "s", "ъ" => "", - "ы" => "y", "ь" => "", "э" => "e", "ю" => "u", "я" => "a", "«" => "", "»" => "", "—" => "-" + "Є" => "YE", "І" => "I", "Ѓ" => "G", "і" => "i", "№" => "N", "є" => "ye", "ѓ" => "g", "А" => "A", + "Б" => "B", "В" => "V", "Г" => "G", "Д" => "D", "Е" => "E", "Ё" => "e", "Ж" => "z", "З" => "Z", + "И" => "I", "Й" => "J", "К" => "K", "Л" => "L", "М" => "M", "Н" => "N", "О" => "O", "П" => "P", + "Р" => "R", "С" => "S", "Т" => "T", "У" => "U", "Ф" => "F", "Х" => "H", "Ц" => "C", "Ч" => "C", + "Ш" => "S", "Щ" => "s", "Ъ" => "", "Ы" => "Y", "Ь" => "", "Э" => "E", "Ю" => "U", "Я" => "a", + "а" => "a", "б" => "b", "в" => "v", "г" => "g", "д" => "d", "е" => "e", "ё" => "e", "ж" => "z", + "з" => "z", "и" => "i", "й" => "j", "к" => "k", "л" => "l", "м" => "m", "н" => "n", "о" => "o", + "п" => "p", "р" => "r", "с" => "s", "т" => "t", "у" => "u", "ф" => "f", "х" => "h", "ц" => "c", + "ч" => "c", "ш" => "s", "щ" => "s", "ъ" => "", "ы" => "y", "ь" => "", "э" => "e", "ю" => "u", + "я" => "a", "«" => "", "»" => "", "—" => "-", ); $name = strtr($name, $iso); - $name = preg_replace('/[^\\pL\d.]+/u', '-', $name); $name = preg_replace('/[-\s]+/', '-', $name); + $name = preg_replace('/[\(\)\[\]]+/', '', $name); // transliterate if (function_exists('iconv')) { @@ -57,16 +47,11 @@ public function translitRename(PropertyMapping $propertyMapping, $name) } $name = preg_replace("/[^0-9A-Za-z-_ .]/", "", $name); - - - } $name = trim($name, '-'); $name = strtolower($name); - - return $name; } @@ -80,7 +65,9 @@ public function translitRename(PropertyMapping $propertyMapping, $name) public function propertyRename(PropertyMapping $propertyMapping, $name, $params) { $fieldValue = $this->getFieldValueByParam($propertyMapping, $params); - if ($fieldValue) $name = $fieldValue . substr($name, strrpos($name, '.')); + if ($fieldValue) { + $name = $fieldValue . substr($name, strrpos($name, '.')); + } return $name; } @@ -88,7 +75,6 @@ protected function getFieldValueByParam(PropertyMapping $propertyMapping, $param { $obj = $propertyMapping->getObj(); - $fieldValue = ''; if (isset($params['use_field_name']) && $params['use_field_name']) { $fieldValue = $propertyMapping->getFileDataPropertyName(); } else { @@ -96,7 +82,13 @@ protected function getFieldValueByParam(PropertyMapping $propertyMapping, $param $fieldValue = $obj->{'get' . ucfirst($field)}(); } - if (!$fieldValue) $fieldValue = $obj->getId(); + if ($fieldValue instanceof \DateTime) { + $fieldValue = $fieldValue->format('Y_m_d_H_i_s'); + } + + if (!$fieldValue) { + $fieldValue = $obj->getId(); + } return $fieldValue; } @@ -133,7 +125,9 @@ public function replaceRename(PropertyMapping $propertyMapping, $name, $params) public function resolveCollision($name, $attempt = 1) { $addition = $attempt; - if ($attempt > 10) $addition = date('Y_m_d_H_i_s'); + if ($attempt > 10) { + $addition = date('Y_m_d_H_i_s'); + } $ppos = strrpos($name, '.');