def BeIgnored(self, userid): if (self.HasPerm(PERM_SYSOP)): return False ignores = User.OwnFile(userid, 'ignores') itemcount = Util.GetRecordCount(ignores, Config.IDLEN + 1) if (itemcount == -1): return False records = Util.GetRecords(ignores, Config.IDLEN + 1, 1, itemcount) for guy in records: if (Util.CString(guy).lower() == self.name.lower()): return True return False
def GetFriends(self, userinfo): userinfo.friendsnum = 0 path = self.MyFile("friends") numFriends = Util.GetRecordCount(path, Friend.size) # Log.info("numFriends: %d" % numFriends) if (numFriends <= 0): return 0 if (numFriends > Config.MAXFRIENDS): numFriends = Config.MAXFRIENDS friends = map(Friend, Util.GetRecords(path, Friend.size, 1, numFriends)) i = 0 while (True): if (i >= numFriends): break # Log.debug("checking %d %s %d" % (i, friends[i].id, -1 if User.InvalidId(friends[i].id) else UCache.UCache.SearchUser(friends[i].id))) if (User.InvalidId(friends[i].id) or UCache.UCache.SearchUser(friends[i].id) == 0): # Log.debug("removing %d %s" % (i, friends[i].id)) friends[i] = friends[numFriends - 1] numFriends = numFriends - 1 friends.pop() i = i - 1 # print i,numFriends,len(friends) i = i + 1 friends.sort(key=Friend.NCaseId) userinfo.friends_nick = [] for i in range(numFriends): # Log.debug("friend %d %s" % (i, friends[i].id)) userinfo.friends_uid[i] = UCache.UCache.SearchUser(friends[i].id) userinfo.friends_nick.append(friends[i].exp) userinfo.friendsnum = numFriends return 0