void LoadLinkshellList() { int32 ret = Sql_Query(SqlHandle, "SELECT linkshellid, color, name, poster, message, messagetime FROM linkshells"); if( ret != SQL_ERROR && Sql_NumRows(SqlHandle) != 0) { while(Sql_NextRow(SqlHandle) == SQL_SUCCESS) { CLinkshell* PLinkshell = new CLinkshell(Sql_GetUIntData(SqlHandle,0)); PLinkshell->setColor(Sql_GetIntData(SqlHandle,1)); int8 EncodedName[16]; EncodeStringLinkshell(Sql_GetData(SqlHandle,2), EncodedName); PLinkshell->setName(EncodedName); PLinkshell->setPoster(Sql_GetData(SqlHandle,3)); int8* linkshellMessage = Sql_GetData(SqlHandle, 4); if (linkshellMessage != nullptr) PLinkshell->setMessage(linkshellMessage); else PLinkshell->setMessage(""); PLinkshell->setMessageTime(Sql_GetUIntData(SqlHandle,5)); LinkshellList[PLinkshell->getID()] = PLinkshell; } } }
uint32 RegisterNewLinkshell(const int8* name, uint16 color) { if (IsValidLinkshellName(name)) { if (Sql_Query(SqlHandle, "INSERT INTO linkshells (name, color) VALUES ('%s', %u)", name, color) != SQL_ERROR) { CLinkshell* PLinkshell = new CLinkshell(Sql_LastInsertId(SqlHandle)); PLinkshell->setColor(color); PLinkshell->setName((int8*)name); LinkshellList[PLinkshell->getID()] = PLinkshell; return PLinkshell->getID(); } } return 0; }