From 33ce5d0aef4e11ed932090aa98f3412652ad61eb Mon Sep 17 00:00:00 2001 From: Silas Ribas Martins Date: Thu, 18 Feb 2016 18:33:09 -0300 Subject: [PATCH 1/3] Add treatment when field value is a DateTime object. --- Naming/DefaultNamer.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Naming/DefaultNamer.php b/Naming/DefaultNamer.php index 865c419..1fbf326 100644 --- a/Naming/DefaultNamer.php +++ b/Naming/DefaultNamer.php @@ -96,6 +96,10 @@ protected function getFieldValueByParam(PropertyMapping $propertyMapping, $param $fieldValue = $obj->{'get' . ucfirst($field)}(); } + if($fieldValue instanceof \DateTime) { + $fieldValue = $fieldValue->format('Y_m_d_H_i_s'); + } + if (!$fieldValue) $fieldValue = $obj->getId(); return $fieldValue; } From 374914b946b271ad82b34927dc1814f4d81a7bb3 Mon Sep 17 00:00:00 2001 From: Silas Ribas Date: Tue, 5 Apr 2016 13:42:45 -0300 Subject: [PATCH 2/3] Add support to remove: (, ), [ and ]. --- Naming/DefaultNamer.php | 55 +++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/Naming/DefaultNamer.php b/Naming/DefaultNamer.php index 1fbf326..539a0ef 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; } @@ -96,11 +83,13 @@ protected function getFieldValueByParam(PropertyMapping $propertyMapping, $param $fieldValue = $obj->{'get' . ucfirst($field)}(); } - if($fieldValue instanceof \DateTime) { + if ($fieldValue instanceof \DateTime) { $fieldValue = $fieldValue->format('Y_m_d_H_i_s'); } - if (!$fieldValue) $fieldValue = $obj->getId(); + if (!$fieldValue) { + $fieldValue = $obj->getId(); + } return $fieldValue; } @@ -137,7 +126,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, '.'); From 4eebe2c720ad3687e4078b23e098c41918ba69f0 Mon Sep 17 00:00:00 2001 From: Silas Ribas Date: Tue, 5 Apr 2016 13:46:41 -0300 Subject: [PATCH 3/3] Remove code. --- Naming/DefaultNamer.php | 1 - 1 file changed, 1 deletion(-) diff --git a/Naming/DefaultNamer.php b/Naming/DefaultNamer.php index 539a0ef..c5e2956 100644 --- a/Naming/DefaultNamer.php +++ b/Naming/DefaultNamer.php @@ -75,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 {