protected function placeAbbrevsInsertAbbrevs($name, $primaryName, $suffix, $titleString, $priority) { // clean names if (!$suffix) { Place::placeAbbrevsInsertAbbrev(Place::placeAbbrevsCleanAbbrev($name), Place::placeAbbrevsClean($name), Place::placeAbbrevsClean($primaryName), $titleString, $priority); return; } $primaryFullName = Place::placeAbbrevsClean($primaryName . ", " . $suffix); $fullName = Place::placeAbbrevsClean($name . ", " . $suffix); $levels = explode(",", $suffix); for ($i = 0; $i < count($levels); $i++) { $levels[$i] = trim($levels[$i]); } for ($i = 0; $i < count($levels); $i++) { // construct abbrevs $abbrevSuffix = join(", ", array_slice($levels, $i)); $abbrev = Place::placeAbbrevsCleanAbbrev($name . ", " . $abbrevSuffix); Place::placeAbbrevsInsertAbbrev($abbrev, $fullName, $primaryFullName, $titleString, $priority); $pos = mb_strpos($name, "("); if ($pos > 0) { $abbrev = Place::placeAbbrevsCleanAbbrev(mb_substr($name, 0, $pos) . ", " . $abbrevSuffix); Place::placeAbbrevsInsertAbbrev($abbrev, $fullName, $primaryFullName, $titleString, $priority); } } }