Index: helpers.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/helpers/helpers.module,v retrieving revision 1.18.4.5.2.2 diff -u -p -r1.18.4.5.2.2 helpers.module --- helpers.module 28 Aug 2008 20:16:00 -0000 1.18.4.5.2.2 +++ helpers.module 21 Oct 2009 20:40:43 -0000 @@ -75,7 +75,7 @@ function format_shorten_string($string, * @return Plural noun */ function pluralize_en($word) { - $plural = array( + $pluralizations = array( '/(quiz)$/i' => '\1zes', '/^(ox)$/i' => '\1en', '/([m|l])ouse$/i' => '\1ice', @@ -114,13 +114,13 @@ function pluralize_en($word) { } } - foreach ($irregular as $plural => $singular) { - if (preg_match('/('.$plural.')$/i', $word, $arr)) { - return preg_replace('/('.$plural.')$/i', substr($arr[0], 0, 1).substr($singular, 1), $word); + foreach ($irregular as $singular => $plural) { + if (preg_match('/('.$singular.')$/i', $word, $arr)) { + return preg_replace('/('.$singular.')$/i', substr($arr[0], 0, 1) . substr($plural, 1), $word); } } - foreach ($plural as $rule => $replacement) { + foreach ($pluralizations as $rule => $replacement) { if (preg_match($rule, $word)) { return preg_replace($rule, $replacement, $word); } @@ -135,7 +135,7 @@ function pluralize_en($word) { * @return Singular noun. */ function singularize_en($word) { - $singular = array ( + $singularizations = array ( '/(quiz)zes$/i' => '\\1', '/(matr)ices$/i' => '\\1ix', '/(vert|ind)ices$/i' => '\\1ex', @@ -173,19 +173,20 @@ function singularize_en($word) { ); $lowercased_word = strtolower($word); + foreach ($uncountables as $uncountable) { if(substr($lowercased_word, (-1 * strlen($uncountable))) == $uncountable) { return $word; } } - foreach ($irregular as $plural=> $singular) { - if (preg_match('/('.$singular.')$/i', $word, $arr)) { - return preg_replace('/('.$singular.')$/i', substr($arr[0], 0, 1).substr($plural, 1), $word); + foreach ($irregular as $singular => $plural) { + if (preg_match('/('.$plural.')$/i', $word, $arr)) { + return preg_replace('/('.$plural.')$/i', substr($arr[0], 0, 1) . substr($singular, 1), $word); } } - foreach ($singular as $rule => $replacement) { + foreach ($singularizations as $rule => $replacement) { if (preg_match($rule, $word)) { return preg_replace($rule, $replacement, $word); }