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); }
/* 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; }
/* 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; }
extern int account_get_auth_lock(t_account * account) { return account_get_boolattr(account,"BNET\\auth\\lock"); }
extern int account_get_auth_joinladdergame(t_account * account) { return account_get_boolattr(account,"BNET\\auth\\joinladdergame"); }
extern int account_get_auth_createnormalgame(t_account * account) { return account_get_boolattr(account,"BNET\\auth\\createnormalgame"); }
extern int account_get_auth_changeprofile(t_account * account) { return account_get_boolattr(account,"BNET\\auth\\changeprofile"); }
extern int account_get_auth_bnetlogin(t_account * account) { return account_get_boolattr(account,"BNET\\auth\\normallogin"); }
extern int account_get_auth_announce(t_account * account) { return account_get_boolattr(account,"BNET\\auth\\announce"); }
extern int account_get_auth_admin(t_account * account) { return account_get_boolattr(account,"BNET\\auth\\admin"); }