/var/www/pm-investor.com/www/libs
Edit: /var/www/pm-investor.com/www/libs/class.num_to_string.php (4016B)
$lev) {
$sexi= (int) $forms[$offset][3]; // определяем род
$ri = (int) $lev; // текущий сегмент
if ($ri== 0 && $offset>1) {// если сегмент==0 & не последний уровень(там Units)
$offset--;
continue;
}
// нормализация
$ri = str_pad($ri, 3, '0', STR_PAD_LEFT);
// получаем циферки для анализа
$r1 = (int)substr($ri, 0,1); //первая цифра
$r2 = (int)substr($ri,1,1); //вторая
$r3 = (int)substr($ri,2,1); //третья
$r22= (int)$r2.$r3; //вторая и третья
// разгребаем порядки
if ($ri>99) $o[] = $str[100][$r1]; // Сотни
if ($r22>20) {// >20
$o[] = $str[10][$r2];
$o[] = $sex[ $sexi ][$r3];
}
else { // <=20
if ($r22>9) $o[] = $str[11][$r22-9]; // 10-20
elseif($r22> 0) $o[] = $sex[ $sexi ][$r3]; // 1-9
}
// гривни
$o[] = num_to_string::morph($ri, $forms[$offset][ 0],$forms[$offset][1],$forms[$offset][2]);
$offset--;
}
}
// Копейки
if (!$stripkop) {
$o[] = $kop;
$o[] = num_to_string::morph($kop,$forms[ 0][ 0],$forms[ 0][1],$forms[ 0][2]);
}
return preg_replace("/\s{2,}/",' ',implode(' ',$o));
}
public static function morph($n, $f1, $f2, $f5) {
$n = abs($n) % 100;
$n1= $n % 10;
if ($n>10 && $n<20) return $f5;
if ($n1>1 && $n1<5) return $f2;
if ($n1==1) return $f1;
return $f5;
}
}