added: to misc:
bool IsWhite(const wchar_t * str, bool treat_new_line_as_white) bool IsWhite(const std::wstring & str, bool treat_new_line_as_white) return true if the whole string is white (or an empty string) added: global variable in admin environment for an user: "display_name" if defined it is used to display an user's name instead of its login it is used in: void print_user_name(Info & i, User & user); (tickets, threads, cat function etc) git-svn-id: svn://ttmath.org/publicrep/winix/trunk@895 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
7f48d1eb2e
commit
dfcf6b29c0
|
@ -561,6 +561,40 @@ return false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
return true if the whole string has only white characters
|
||||||
|
an empty string is treated as white
|
||||||
|
*/
|
||||||
|
bool IsWhite(const wchar_t * str, bool treat_new_line_as_white)
|
||||||
|
{
|
||||||
|
for( ; *str != 0 ; ++str )
|
||||||
|
{
|
||||||
|
if( *str == '\n' )
|
||||||
|
{
|
||||||
|
if( !treat_new_line_as_white )
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if( !IsWhite(*str) )
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
return true if the whole string has only white characters
|
||||||
|
*/
|
||||||
|
bool IsWhite(const std::wstring & str, bool treat_new_line_as_white)
|
||||||
|
{
|
||||||
|
return IsWhite(str.c_str(), treat_new_line_as_white);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool IsLastSlash(const std::wstring & path)
|
bool IsLastSlash(const std::wstring & path)
|
||||||
{
|
{
|
||||||
|
|
|
@ -227,6 +227,8 @@ const char * DateToStrCookie(time_t t);
|
||||||
const wchar_t * IpToStr(unsigned int ip_);
|
const wchar_t * IpToStr(unsigned int ip_);
|
||||||
|
|
||||||
bool IsWhite(wchar_t s);
|
bool IsWhite(wchar_t s);
|
||||||
|
bool IsWhite(const wchar_t * str, bool treat_new_line_as_white = false);
|
||||||
|
bool IsWhite(const std::wstring & str, bool treat_new_line_as_white = false);
|
||||||
bool IsLastSlash(const std::wstring & path);
|
bool IsLastSlash(const std::wstring & path);
|
||||||
|
|
||||||
template<class StringType>
|
template<class StringType>
|
||||||
|
|
|
@ -7,6 +7,9 @@ charset = UTF-8
|
||||||
logged_as = logged as
|
logged_as = logged as
|
||||||
logged_as_long = You are logged as
|
logged_as_long = You are logged as
|
||||||
|
|
||||||
|
display_guest_name = guest
|
||||||
|
|
||||||
|
|
||||||
account_not_activated = This account is not activated yet.
|
account_not_activated = This account is not activated yet.
|
||||||
account_suspended = This account is temporarily suspended
|
account_suspended = This account is temporarily suspended
|
||||||
account_banned = This account has been banned
|
account_banned = This account has been banned
|
||||||
|
|
|
@ -8,6 +8,8 @@ charset = UTF-8
|
||||||
logged_as = zalogowany jako
|
logged_as = zalogowany jako
|
||||||
logged_as_long = Aktualnie jesteś zalogowany jako
|
logged_as_long = Aktualnie jesteś zalogowany jako
|
||||||
|
|
||||||
|
display_guest_name = gość
|
||||||
|
|
||||||
account_not_activated = To konto nie jest jeszcze aktywowane
|
account_not_activated = To konto nie jest jeszcze aktywowane
|
||||||
account_suspended = To konto jest tymczasowo zablokowane
|
account_suspended = To konto jest tymczasowo zablokowane
|
||||||
account_banned = To konto zostało wyłączone
|
account_banned = To konto zostało wyłączone
|
||||||
|
|
|
@ -86,20 +86,34 @@ void print_date_nice(Info & i, const PT::Date & date)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void print_user_name(Info & i, const User * puser, const std::wstring & guest_name)
|
|
||||||
|
|
||||||
|
// cannot be a const reference at the moment (PT::Space is used)
|
||||||
|
void print_user_name(Info & i, User & user)
|
||||||
|
{
|
||||||
|
std::wstring * dname = user.aenv.GetValue(L"display_name");
|
||||||
|
|
||||||
|
if( dname && !IsWhite(*dname, true) )
|
||||||
|
i.out << *dname;
|
||||||
|
else
|
||||||
|
i.out << user.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void print_user_name(Info & i, User * puser, const std::wstring & guest_name)
|
||||||
{
|
{
|
||||||
if( puser )
|
if( puser )
|
||||||
{
|
{
|
||||||
i.out << puser->name;
|
print_user_name(i, *puser);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
i.out << "~";
|
i.out << "~";
|
||||||
|
|
||||||
if( !guest_name.empty() )
|
if( !guest_name.empty() && !IsWhite(guest_name) )
|
||||||
i.out << guest_name;
|
i.out << guest_name;
|
||||||
else
|
else
|
||||||
i.out << "guest"; // !! dodac do konfiga
|
i.out << locale.Get(L"display_guest_name");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,24 @@ void HtmlEscapeFormTxt(HtmlTextStream & out, const std::wstring & in);
|
||||||
|
|
||||||
void print_hour_min(Info & i, time_t time);
|
void print_hour_min(Info & i, time_t time);
|
||||||
void print_date_nice(Info & i, const PT::Date & date);
|
void print_date_nice(Info & i, const PT::Date & date);
|
||||||
void print_user_name(Info & i, const User * puser, const std::wstring & guest_name);
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
print a user name -- it is trying to use 'display_name' from user's admin env
|
||||||
|
if it not find it or if the 'display_name' is all white (consists of all white characters)
|
||||||
|
then the login name is printed
|
||||||
|
*/
|
||||||
|
void print_user_name(Info & i, User & user);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
puser can be null -- in such a case guest_name is used
|
||||||
|
if guest_name is empty then 'display_guest_name' from locales is printed
|
||||||
|
*/
|
||||||
|
void print_user_name(Info & i, User * puser, const std::wstring & guest_name);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace TemplatesFunctions
|
} // namespace TemplatesFunctions
|
||||||
|
|
Loading…
Reference in New Issue