ModResult OnCheckBan(User *user, Channel *c, const std::string& mask) { if ((mask.length() > 2) && (mask[0] == 'j') && (mask[1] == ':')) { std::string rm = mask.substr(2); char status = 0; ModeHandler* mh = ServerInstance->Modes->FindPrefix(rm[0]); if (mh) { rm = mask.substr(3); status = mh->GetModeChar(); } for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++) { if (InspIRCd::Match((**i).name, rm)) { if (status) { Membership* memb = (**i).GetUser(user); if (memb && memb->hasMode(status)) return MOD_RES_DENY; } else return MOD_RES_DENY; } } } return MOD_RES_PASSTHRU; }
void MembershipBuilder::buildMembership(string membershipID, string rank, double membershipFee, vector<string> vectorOfAccessRight) { Membership membership; membership.setMembershipID(membershipID); membership.setRank(rank); membership.setMembershipFee(membershipFee); membership.setAccessRight(vectorOfAccessRight); vectorOfMembership.push_back(membership); }
void Channel::DelUser(const MemberMap::iterator& membiter) { Membership* memb = membiter->second; memb->cull(); memb->~Membership(); userlist.erase(membiter); // If this channel became empty then it should be removed CheckDestroy(); }
void Channel::DelUser(const UserMembIter& membiter) { Membership* memb = membiter->second; memb->cull(); delete memb; userlist.erase(membiter); // If this channel became empty then it should be removed CheckDestroy(); }
void MemberHandler::updateMembership(string memberID, float fee, string rank, vector<string> accessRight, Membership membership) { for(int i = 0; i < vectorOfMember.size(); i++) { if(memberID.compare(vectorOfMember[i].getMemberID()) == 0) { membership.setRank(rank); membership.setAccessRight(accessRight); membership.setMembershipFee(fee); } } }
ModeAction PrefixMode::OnModeChange(User* source, User*, Channel* chan, std::string& parameter, bool adding) { User* target = ServerInstance->FindNick(parameter); if (!target) { source->WriteNumeric(ERR_NOSUCHNICK, "%s %s :No such nick/channel", source->nick.c_str(), parameter.c_str()); return MODEACTION_DENY; } Membership* memb = chan->GetUser(target); if (!memb) return MODEACTION_DENY; parameter = target->nick; return (memb->SetPrefix(this, adding) ? MODEACTION_ALLOW : MODEACTION_DENY); }
std::string CommandWhois::ChannelList(User* source, User* dest, bool spy) { std::string list; for (User::ChanList::iterator i = dest->chans.begin(); i != dest->chans.end(); i++) { Membership* memb = *i; Channel* c = memb->chan; /* If the target is the sender, neither +p nor +s is set, or * the channel contains the user, it is not a spy channel */ if (spy != (source == dest || !(c->IsModeSet(privatemode) || c->IsModeSet(secretmode)) || c->HasUser(source))) { char prefix = memb->GetPrefixChar(); if (prefix) list.push_back(prefix); list.append(c->name).push_back(' '); } } return list; }
int main() { string SSN1 = "123-45-1001"; string SSN2 = "123-45-1002"; string SSN3 = "123-45-1003"; string SSN4 = "123-45-1004"; string SSN5 = "123-45-1005"; string Name1 = "Chess"; string Name2 = "Bridge"; string Name3 = "Tennis"; time_t today; Person *p; Club *c; Membership *m; int handle; today = time( &today ); // load the specific configuration file // if ( msqlLoadConfigFile( "/web/kochut/public_html/msql.conf" ) == -1 ) { cerr << "mSQL error: " << msqlErrMsg << endl; cerr << "\nProbable cause: SQL server is not running.\n"; cerr << "\n or server miscunfiguration in msql.conf.\n"; cerr << "\nSolution: Reconfigure/Restart the server\n"; exit(1); } // connect to the database server on ajax // if ( ( handle = msqlConnect( "ajax.cs.uga.edu" ) ) == -1 ) { cerr << "mSQL error: " << msqlErrMsg << endl; cerr << "\nProbable cause: SQL server is not running.\n"; cerr << "\nSolution: Restart the server\n"; exit(1); } // open database 'clubs' // if ( msqlSelectDB( handle, "clubs" ) == -1 ) { cerr << "mSQL error: " << msqlErrMsg << endl; cerr << "\nProbable cause: databse clubs does not exist.\n"; cerr << "\nSolution: create the database using msqladmin creat clubs\n"; exit(1); } // retrieve a Club object // try { c = Club::DBRead( Name1, handle ); p = Person::DBRead( SSN1, handle ); m = new Membership( p, c, today ); m->DBWrite( handle ); p = Person::DBRead( SSN3, handle ); m = new Membership( p, c, today ); m->DBWrite( handle ); cout << "Added members to club: " << Name1 << endl; // retrieve a Club object // c = Club::DBRead( Name2, handle ); p = Person::DBRead( SSN2, handle ); m = new Membership( p, c, today ); m->DBWrite( handle ); p = Person::DBRead( SSN3, handle ); m = new Membership( p, c, today ); m->DBWrite( handle ); p = Person::DBRead( SSN5, handle ); m = new Membership( p, c, today ); m->DBWrite( handle ); cout << "Added members to club: " << Name2 << endl; // retrieve a Club object // c = Club::DBRead( Name3, handle ); p = Person::DBRead( SSN4, handle ); m = new Membership( p, c, today ); m->DBWrite( handle ); p = Person::DBRead( SSN2, handle ); m = new Membership( p, c, today ); m->DBWrite( handle ); p = Person::DBRead( SSN5, handle ); m = new Membership( p, c, today ); m->DBWrite( handle ); } catch ( ClubsException &ce ) { cerr << ce.get_Msg() << endl; exit(1); } cout << "Added members to club: " << Name3 << endl; cout << endl; cout << "Club memberships have been written to the database.\n"; cout << "Closing the database.\n"; // close the database // msqlClose( handle ); return 0; }