Exemplo n.º 1
0
        $u = Dog::getUser();
        $have = Dog_PrivServer::getPermbits($serv, $u);
        $want = Dog_IRCPriv::charsToBits(substr($argv[1], 1));
        $high = Dog_IRCPriv::getHighestBit($have);
        $wigh = Dog_IRCPriv::getHighestBit($want);
        if ($wigh > $high) {
            $plugin->rply('no', array(Dog_IRCPriv::displayBits($wigh, ''), $user->displayName()));
        } else {
            $now = Dog_PrivServer::getPermbits($serv, $user) | $want;
            Dog_PrivServer::setPermbits($serv, $user, $now);
            $plugin->rply('set', array($user->displayName(), $serv->displayName(), Dog_IRCPriv::displayBits($now)));
        }
    } elseif ($sign === '-' && strlen($argv[1]) >= 1) {
        $u = Dog::getUser();
        $have = Dog_PrivServer::getPermbits($serv, $u);
        $want = Dog_IRCPriv::charsToBits(substr($argv[1], 1));
        $high = Dog_IRCPriv::getHighestBit($have);
        $wigh = Dog_IRCPriv::getHighestBit($want);
        if ($wigh >= $high) {
            $plugin->rply('no2', array(Dog_IRCPriv::displayBits($wigh, ''), $user->displayName()));
        } else {
            $now = Dog_PrivServer::getPermbits($serv, $user) & ~$want;
            Dog_PrivServer::setPermbits($serv, $user, $now);
            $plugin->rply('set', array($user->displayName(), $serv->displayName(), Dog_IRCPriv::displayBits($now)));
        }
    } else {
        $plugin->rply('err_bits');
    }
} else {
    $plugin->showHelp();
}