X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FUtils%2FString.php;h=c435cd7a7b739a0acb784595c66725356bc64606;hb=22fd90d480014f0a551b25bea675a03d2153de78;hp=1643491496d49a1c352e489abb4245c00591ad29;hpb=10c5b975bac2283796e1461ceebc2c7888e9f1e6;p=civicrm-core.git diff --git a/CRM/Utils/String.php b/CRM/Utils/String.php index 1643491496..c435cd7a7b 100644 --- a/CRM/Utils/String.php +++ b/CRM/Utils/String.php @@ -75,7 +75,7 @@ class CRM_Utils_String { } /** - * given a string, replace all non alpha numeric characters and + * Given a string, replace all non alpha numeric characters and * spaces with the replacement character * * @param string $name the name to be worked on @@ -102,6 +102,26 @@ class CRM_Utils_String { } } + /** + * Convert possibly underscore separated words to camel case with special handling for 'UF' + * e.g + * membership_payment returns MembershipPayment + * @param string $string + * + * @return string string + */ + static function convertStringToCamel($string) { + $fragments = explode('_', $string); + foreach ($fragments as & $fragment) { + $fragment = ucfirst($fragment); + } + // Special case: UFGroup, UFJoin, UFMatch, UFField + if ($fragments[0] === 'Uf') { + $fragments[0] = 'UF'; + } + return implode('', $fragments); + } + /** * * Takes a variable name and munges it randomly into another variable name @@ -119,7 +139,7 @@ class CRM_Utils_String { } /** - * takes a string and returns the last tuple of the string. + * Takes a string and returns the last tuple of the string. * useful while converting file names to class names etc * * @param string $string the input string @@ -141,7 +161,7 @@ class CRM_Utils_String { } /** - * appends a name to a string and seperated by delimiter. + * Appends a name to a string and seperated by delimiter. * does the right thing for an empty string * * @param string $str the string to be appended to @@ -181,7 +201,7 @@ class CRM_Utils_String { } /** - * determine if the string is composed only of ascii characters + * Determine if the string is composed only of ascii characters * * @param string $str input string * @param boolean $utf8 attempt utf8 match on failure (default yes) @@ -223,7 +243,7 @@ class CRM_Utils_String { } /** - * determine the string replacements for redaction + * Determine the string replacements for redaction * on the basis of the regular expressions * * @param string $str input string @@ -313,7 +333,7 @@ class CRM_Utils_String { } /** - * determine if two href's are equivalent (fuzzy match) + * Determine if two href's are equivalent (fuzzy match) * * @param string $url1 the first url to be matched * @param string $url2 the second url to be matched against @@ -338,7 +358,7 @@ class CRM_Utils_String { } /** - * Function to extract variable values + * Extract variable values * * @param mix $query this is basically url * @@ -363,7 +383,7 @@ class CRM_Utils_String { } /** - * translate a true/false/yes/no string to a 0 or 1 value + * Translate a true/false/yes/no string to a 0 or 1 value * * @param string $str the string to be translated * @@ -383,7 +403,7 @@ class CRM_Utils_String { } /** - * returns string '1' for a true/yes/1 string, and '0' for no/false/0 else returns false + * Returns string '1' for a true/yes/1 string, and '0' for no/false/0 else returns false * * @param string $str the string to be translated * @@ -427,7 +447,7 @@ class CRM_Utils_String { /** * @param $string - * @param $params + * @param array $params */ static function extractName($string, &$params) { $name = trim($string); @@ -521,7 +541,7 @@ class CRM_Utils_String { } /** - * strip leading, trailing, double spaces from string + * Strip leading, trailing, double spaces from string * used for postal/greeting/addressee * * @param string $string input string to be cleaned @@ -662,7 +682,7 @@ class CRM_Utils_String { } /** - * this function will mask part of the the user portion of an Email address (everything before the @) + * This function will mask part of the the user portion of an Email address (everything before the @) * * @param string $email the email address to be masked * @param string $maskChar the character used for masking @@ -684,7 +704,7 @@ class CRM_Utils_String { } /** - * this function compares two strings + * This function compares two strings * * @param string $strOne string one * @param string $strTwo string two