- if (params.size() != 1)
- return true;
- std::string opertype = params[0];
- User* u = ServerInstance->FindNick(prefix);
- if (u)
- {
- if (!IS_OPER(u))
- ServerInstance->Users->all_opers.push_back(u);
- u->modes[UM_OPERATOR] = 1;
- OperIndex::iterator iter = ServerInstance->Config->oper_blocks.find(" " + opertype);
- if (iter != ServerInstance->Config->oper_blocks.end())
- u->oper = iter->second;
- else
- {
- u->oper = new OperInfo;
- u->oper->name = opertype;
- }
- Utils->DoOneToAllButSender(u->uuid, "OPERTYPE", params, u->server);