예제 #1
0
        $level = $pargs[3];
    }
    if ($level < 1 || $level > 500) {
        $bot->notice($user, 'Level must range from 1 to 500.');
        return false;
    }
    if ($level >= $user_channel_level) {
        $bot->noticef($user, 'You cannot add someone with access equal to or higher than your own (%s).', $user_channel_level);
        return false;
    }
    $existing_level = $this->getChannelLevelByName($chan_name, $new_uid);
    if ($existing_level > 0) {
        $bot->noticef($user, '%s already has level %d access on %s.', $new_user->getName(), $existing_level, $reg->getName());
        return false;
    }
    $new_access = new DB_Channel_Access();
    $new_access->setChanId($reg->getId());
    $new_access->setUserId($new_user->getId());
    $new_access->setLevel($level);
    $new_access->save();
    $reg->addAccess($new_access);
    $bot->noticef($user, '%s has been added to the %s access list at level %d.', $new_user->getName(), $reg->getName(), $level);
    foreach ($this->users as $numeric => $tmp_user) {
        if ($tmp_user->isLoggedIn() && $tmp_user->getAccountId() == $new_user->getId() && $tmp_user->getNick() != $user->getNick()) {
            $bot->noticef($tmp_user, '%s has given you level %d access on %s.', $user->getNick(), $level, $reg->getName());
        }
    }
} else {
    $bot->noticef($user, 'Account %s does not exist.', $new_uid);
    return false;
}
 function recordConstruct($args)
 {
     if (count($args) > 1) {
         $name = $args[0];
         $owner_id = $args[1];
     }
     if (!empty($name)) {
         $this->name = $name;
         $this->register_ts = time();
         $this->register_date = db_date();
     }
     if (isset($owner_id) && $owner_id > 0) {
         $this->save();
         $owner = new DB_Channel_Access();
         $owner->setChanId($this->channel_id);
         $owner->setUserId($owner_id);
         $owner->setLevel(500);
         $this->addAccess($owner);
     }
 }