All pastes #99422 Raw Edit

Gopneg

public text v1 · immutable
#99422 ·published 2006-07-25 09:00 UTC
rendered paste body
    select count(grcm.acgrcmid) -- если >= 1 то разрешено, хотя по идее больше 1 быть 
                                -- не должно - структура базы такова, я надеюсь :)
    into Result
    from accgrcomm grcm, accgracc acgr 
    where 
      grcm.accgr = acgr.accgr
      and grcm.allowed >= 1 -- выбираем группы для которых разрешено
      and grcm.allowed is not null -- выбираем группы для которых разрешено
      and grcm.comm = ncid
        select c.cid -- выбираем команду
        from commands c
        where c.name = vcommand)   
        
      and grcm.chnl in (
        select ch.chid -- выбираем канал
          from channels ch
          where ch.channel = vchannel
            and ch.ntwrk = nnetwork
            or ch.chid = 1
            or ch.chid = 2) 
    
      and acgr.acc = naccid( -- выбираем группу акаунтов
        select ac.accid -- выбираем аккаунт
        from accounts ac 
        where ( ac.locked = 0 -- аккаунт не зеблокирован
                or ac.locked is null)
              and ac.logined >= 1 -- юзер залогинен   
              and ac.logined is not null
              and ac.logusr = (
                    select u.usid from users u -- выбираем юзера
                    where u.nick = (
                            select n.nckid
                            from nicks n
                            where n.nick = vnick)                    
                          and u.usr = vusr
                          and u.host = vhost
                          and u.ntwork = nnetwork));