Esempio n. 1
0
extern int account_get_auth_operator(t_account * account, char const * channelname)
{
    char temp[256];
    
    if (!channelname)
	return account_get_boolattr(account,"BNET\\auth\\operator");
    
    sprintf(temp,"BNET\\auth\\operator\\%.100s",channelname);
    return account_get_boolattr(account,temp);
}
Esempio n. 2
0
		/* Get account attribute value */
		extern int __account_get_attr(lua_State* L)
		{
			const char *username, *attrkey;
			int attrtype;
			std::string attrvalue;
			std::map<std::string, std::string> o_account;

			try
			{
				lua::stack st(L);
				// get args
				st.at(1, username);
				st.at(2, attrkey);
				st.at(3, attrtype);

				if (t_account *account = accountlist_find_account(username))
				{
					switch ((t_attr_type)attrtype)
					{
					case attr_type_str:
						attrvalue = account_get_strattr(account, attrkey);
						break;
					case attr_type_num:
						attrvalue = std_to_string(account_get_numattr(account, attrkey));
						break;
					case attr_type_bool:
						attrvalue = account_get_boolattr(account, attrkey) == 0 ? "false" : "true";
						break;
					case attr_type_raw:
						attrvalue = account_get_rawattr(account, attrkey);
						break;
					}
				}

				st.push(attrvalue);
			}
			catch (const std::exception& e)
			{
				eventlog(eventlog_level_error, __FUNCTION__, e.what());
			}
			catch (...)
			{
				eventlog(eventlog_level_error, __FUNCTION__, "lua exception\n");
			}

			return 1;
		}
Esempio n. 3
0
/* Get account attribute value */
extern int __account_get_attr(lua_State* L)
{
    const char *username, *attrkey;
    int attrtype;

    try
    {
        lua::stack st(L);
        // get args
        st.at(1, username);
        st.at(2, attrkey);
        st.at(3, attrtype);

        if (t_account *account = accountlist_find_account(username))
        {
            switch ((t_attr_type)attrtype)
            {
            case attr_type_str:
                if (const char * val = account_get_strattr(account, attrkey))
                    st.push(val);
                break;
            case attr_type_num:
                st.push(account_get_numattr(account, attrkey));
                break;
            case attr_type_bool:
                st.push(account_get_boolattr(account, attrkey));
                break;
            case attr_type_raw:
                if (const char * val = account_get_rawattr(account, attrkey))
                    st.push(val);
                break;
            }
        }
    }
    catch (const std::exception& e)
    {
        eventlog(eventlog_level_error, __FUNCTION__, e.what());
    }
    catch (...)
    {
        eventlog(eventlog_level_error, __FUNCTION__, "lua exception\n");
    }
    return 1;
}
Esempio n. 4
0
extern int account_get_auth_lock(t_account * account)
{
    return account_get_boolattr(account,"BNET\\auth\\lock");
}
Esempio n. 5
0
extern int account_get_auth_joinladdergame(t_account * account)
{
    return account_get_boolattr(account,"BNET\\auth\\joinladdergame");
}
Esempio n. 6
0
extern int account_get_auth_createnormalgame(t_account * account)
{
    return account_get_boolattr(account,"BNET\\auth\\createnormalgame");
}
Esempio n. 7
0
extern int account_get_auth_changeprofile(t_account * account)
{
    return account_get_boolattr(account,"BNET\\auth\\changeprofile");
}
Esempio n. 8
0
extern int account_get_auth_bnetlogin(t_account * account)
{
    return account_get_boolattr(account,"BNET\\auth\\normallogin");
}
Esempio n. 9
0
extern int account_get_auth_announce(t_account * account)
{
    return account_get_boolattr(account,"BNET\\auth\\announce");
}
Esempio n. 10
0
extern int account_get_auth_admin(t_account * account)
{
    return account_get_boolattr(account,"BNET\\auth\\admin");
}