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();
}
Beispiel #2
0
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;
}
Beispiel #3
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;
	}
}