#include "modcmd.h"
#include "saxdb.h"
#include "timeq.h"
-#include "gline.h"
#define KEY_TOPLEVEL "TopLevel"
#define KEY_SECONDLEVEL "SecondLevel"
{ "HSMSG_MANAGER_NOT", "$b%s$b is not a manager of %s.%s" },
{ "HSMSG_MANAGER_DELETED", "$b%s$b is no longer a manager of %s.%s" },
{ "HSMSG_FAKEHOST_ASSIGN_SUCCESS", "Group $b%s.%s$b was assigned successfully." },
+ { "HSMSG_FAKEHOST_ASSIGNED", "Group $b%s.%s$b is already assigned to the user." },
{ "HSMSG_FAKEHOST_UNASSIGN_SUCCESS", "Group $b%s.%s$b was unassigned successfully." },
{ NULL, NULL }
if(!irccasecmp(slfh_name, "*")) {
if(!check_management_access(hi, NULL, NULL)) {
reply("HSMSG_ACCESS_DENIED");
- return NULL;
+ return 0;
}
for(tlfh = toplevels; tlfh; tlfh = tlfh->next) {
if(!irccasecmp(tlfh->fakehost, tlfh_name)) break;
struct handle_info *hi;
struct hs_user *hs_user;
struct hs_assignment *assignment;
- struct hs_assignment *assgn;
struct hs_toplevel *tlfh;
struct hs_secondlevel *slfh;
char *fakehost;
reply("HSMSG_ACCESS_DENIED");
return 0;
}
+ if(hs_get_assignment(slfh, hs_user)) {
+ reply("HSMSG_FAKEHOST_ASSIGNED", slfh_name, tlfh_name);
+ return 0;
+ }
hs_add_assignment(slfh, hs_user);
reply("HSMSG_FAKEHOST_ASSIGN_SUCCESS", slfh_name, tlfh_name);
return 1;