1 /* 2 * InspIRCd -- Internet Relay Chat Daemon 3 * 4 * Copyright (C) 2014, 2016 Attila Molnar <attilamolnar@hush.com> 5 * 6 * This file is part of InspIRCd. InspIRCd is free software: you can 7 * redistribute it and/or modify it under the terms of the GNU General Public 8 * License as published by the Free Software Foundation, version 2. 9 * 10 * This program is distributed in the hope that it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 12 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 13 * details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 20 #include "inspircd.h" 21 #include "translate.h" 22 ModeChangeListToParams(const Modes::ChangeList::List & modes)23std::string Translate::ModeChangeListToParams(const Modes::ChangeList::List& modes) 24 { 25 std::string ret; 26 for (Modes::ChangeList::List::const_iterator i = modes.begin(); i != modes.end(); ++i) 27 { 28 const Modes::Change& item = *i; 29 ModeHandler* mh = item.mh; 30 if (!mh->NeedsParam(item.adding)) 31 continue; 32 33 ret.push_back(' '); 34 35 if (mh->IsPrefixMode()) 36 { 37 User* target = ServerInstance->FindNick(item.param); 38 if (target) 39 { 40 ret.append(target->uuid); 41 continue; 42 } 43 } 44 45 ret.append(item.param); 46 } 47 return ret; 48 } 49