@@ 257-264 (lines=8) @@ | ||
254 | } |
|
255 | ||
256 | // make one array with cases and delete 'o/об' prepositional from all parts except the last one |
|
257 | foreach (array(self::IMENIT, self::RODIT, self::DAT, self::VINIT, self::TVORIT, self::PREDLOJ) as $case) { |
|
258 | $result[$case] = array(); |
|
259 | foreach ($parts as $partN => $part) { |
|
260 | if ($case == self::PREDLOJ && $partN > 0) list(, $part[$case]) = explode(' ', $part[$case], 2); |
|
261 | $result[$case][] = $part[$case]; |
|
262 | } |
|
263 | $result[$case] = implode(' ', $result[$case]); |
|
264 | } |
|
265 | ||
266 | return $result; |
|
267 | } |
@@ 24-30 (lines=7) @@ | ||
21 | $name[1] = FirstNamesDeclension::getCases($name[1], $gender); |
|
22 | $name[2] = MiddleNamesDeclension::getCases($name[2], $gender); |
|
23 | } |
|
24 | foreach (array(Cases::IMENIT, Cases::RODIT, Cases::DAT, Cases::VINIT, Cases::TVORIT, Cases::PREDLOJ) as $case) { |
|
25 | foreach ($name as $partNum => $namePart) { |
|
26 | if ($case == Cases::PREDLOJ && $partNum > 0) list(, $namePart[$case]) = explode(' ', $namePart[$case]); |
|
27 | $result[$case][] = $namePart[$case]; |
|
28 | } |
|
29 | $result[$case] = implode(' ', $result[$case]); |
|
30 | } |
|
31 | return $result; |
|
32 | } else { |
|
33 | $case = CasesHelper::canonizeCase($case); |