diff options
| author | Leyla Farazha <leyla@lindenlab.com> | 2010-05-27 15:12:03 -0700 | 
|---|---|---|
| committer | Leyla Farazha <leyla@lindenlab.com> | 2010-05-27 15:12:03 -0700 | 
| commit | 6cb420b20bd509e7bf62c8450f12d433c5a81be2 (patch) | |
| tree | 31f82be57c849e8ac6210b94704d781d0ee40c2f /indra/llmessage | |
| parent | c5c13a92eb62e1e9927a9685d5433c040e6ef2ce (diff) | |
added function for building a username from a legacy name and fixed group notice panel
reviewed by James
Diffstat (limited to 'indra/llmessage')
| -rw-r--r-- | indra/llmessage/llcachename.cpp | 24 | ||||
| -rw-r--r-- | indra/llmessage/llcachename.h | 5 | 
2 files changed, 29 insertions, 0 deletions
| diff --git a/indra/llmessage/llcachename.cpp b/indra/llmessage/llcachename.cpp index c6c189c7a1..f8c0d05baa 100644 --- a/indra/llmessage/llcachename.cpp +++ b/indra/llmessage/llcachename.cpp @@ -527,6 +527,30 @@ std::string LLCacheName::cleanFullName(const std::string& full_name)  	return full_name.substr(0, full_name.find(" Resident"));  } +//static  +std::string LLCacheName::buildUsername(const std::string& full_name) +{ +	std::string::size_type index = full_name.find(' '); + +	if (index != std::string::npos) +	{ +		std::string username; +		username = full_name.substr(0, index); +		std::string lastname = full_name.substr(index+1); + +		if (lastname != "Resident") +		{ +			username = username + "." + lastname; +		} +		 +		LLStringUtil::toLower(username); +		return username; +	} + +	// if the input wasn't a correctly formatted legacy name just return it unchanged +	return full_name; +} +  // This is a little bit kludgy. LLCacheNameCallback is a slot instead of a function pointer.  //  The reason it is a slot is so that the legacy get() function below can bind an old callback  //  and pass it as a slot. The reason it isn't a boost::function is so that trackable behavior diff --git a/indra/llmessage/llcachename.h b/indra/llmessage/llcachename.h index 45dae562ad..697bb27556 100644 --- a/indra/llmessage/llcachename.h +++ b/indra/llmessage/llcachename.h @@ -91,6 +91,11 @@ public:  	// If name does not contain "Resident" returns it unchanged.  	static std::string cleanFullName(const std::string& full_name); +	// Converts a standard legacy name to a username +	// "bobsmith123 Resident" -> "bobsmith" +	// "Random Linden" -> "random.linden" +	static std::string buildUsername(const std::string& name); +	  	// If available, this method copies the group name into the string  	// provided. The caller must allocate at least  	// DB_GROUP_NAME_BUF_SIZE characters. If not available, this | 
