void InviteListDialog::onInviteClicked() { QModelIndexList selected = ui->contactListView->selectionModel()->selectedIndexes(); QString alias = m_contactListModel->data(selected.first(), Qt::DisplayRole).toString(); for(int i = 0; i < m_contactAliasList.size(); i++) // TODO:: could be optimized without using for loop. { if(alias == m_contactAliasList[i]) { emit sendInvitation(m_contactIdList[i]); break; } } this->close(); }
int bbsinvite_main() { char myname[40], ivemail[60], ivname[40], *note; char tmpfn[256]; int retv; html_header(1); //check_msg(); printf("<body>"); if (!loginok || isguest || (currentuser->userlevel & PERM_DEFAULT) != PERM_DEFAULT) http_fatal("匆匆过客无法发送邀请, 请先登录"); changemode(MMENU); if (atoi(getparm("doit")) == 0) { printInviteForm(); http_quit(); return 0; } strsncpy(myname, getparm("myname"), sizeof (myname)); strsncpy(ivemail, getparm("ivemail"), sizeof (ivemail)); strsncpy(ivname, getparm("ivname"), sizeof (ivname)); note = getparm("note"); if (!*ivemail || !*ivname) http_fatal("被邀请人的 email 和名字都需要填写"); if (!trustEmail(ivemail)) http_fatal("该 email 无效,或者其使用者已经在本站注册"); sprintf(tmpfn, "bbstmpfs/tmp/bbsinvite.%d", getpid()); f_write(tmpfn, note); retv = sendInvitation(currentuser->userid, myname, ivemail, ivname, tmpfn); unlink(tmpfn); if (retv < 0) { http_fatal("发送 email 失败,代码 %d", retv); } tracelog("%s invite %s %s", currentuser->userid, ivemail, ivname); printf("<br>成功给 %s 发送邀请!<br>", ivname); printf("<a href=bbsinvite>再发送几个邀请</a>"); http_quit(); return 0; }
void AlliancePacket::handlePacket(Player *player, PacketReader &packet) { switch (packet.get<int8_t>()) { case 0x01: sendShowInfo(player->getAllianceId(), player->getId()); break; case 0x02: { // Leave Alliance if (player->getAllianceId() == 0 || player->getAllianceRank() != 2 || player->getGuildId() == 0 || player->getGuildRank() != 1) return; sendChangeGuild(player->getAllianceId(), player->getId(), player->getGuildId(), 2); break; } case 0x03: sendInvitation(player->getAllianceId(), player->getId(), packet.getString()); break; case 0x04: { // Invite accepted int32_t guildid = packet.get<int32_t>(); string guildname = packet.getString(); if (player->getAllianceId() != 0 || player->getGuildRank() != 1 || player->getGuildId() == 0) return; sendChangeGuild(guildid, player->getId(), player->getGuildId(), 0); break; } case 0x06: { // Expel Guild int32_t guildid = packet.get<int32_t>(); int32_t allianceid = packet.get<int32_t>(); if (player->getAllianceId() == 0 || player->getAllianceRank() != 1 || player->getAllianceId() != allianceid) return; sendChangeGuild(allianceid, player->getId(), guildid, 1); break; } case 0x07: { // Change Alliance Leader if (player->getAllianceId() == 0 || player->getAllianceRank() != 1 || player->getGuildId() == 0 || player->getGuildRank() > 1) return; sendChangeLeader(player->getAllianceId(), player->getId(), packet.get<int32_t>()); break; } case 0x08: sendChangeTitles(player->getAllianceId(), player->getId(), packet); break; case 0x09: sendChangeRank(player->getAllianceId(), player->getId(), packet); break; case 0x0a: sendChangeNotice(player->getAllianceId(), player->getId(), packet); break; } }