IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   IRCServices (https://www.ircforumlari.net/ircservices/)
-   -   ircservices-5.1.24 admin info sorunu (https://www.ircforumlari.net/ircservices/581598-ircservices-5124-admin-info-sorunu.html)

eXaLeanCe 02 Mayıs 2014 12:28

ircservices-5.1.24 admin info sorunu
 
Selam değerli if kullanıcıları.

ircservices-5.1.24 sürümü bildiğiniz gibi 5.0.x sürümünden farklı kodlama yapısına sahip.

Ve bu servicesde nick infolarda ne services root admin yazıyor nede dier services admin veya services operatör gibi bir info yok. eski sürümlerden ona entegre etmeye çalıştım ancak çalışmadı.

Bu konuda yardımcı olabilicek arkadaşlar olursa sevinirim.

Ayrıca bu sürümde çoklu root eklentiside hata veriyor

Çoklu services root eklentisi 5.1.x sürümleri için güncellenmeli artık eski sürümlerden sıkıldık mecburi kullanıyoruz bir çok edit çalışmadığı için.

Şimdiden yardımcı olucak arkadaşlara teşşekkürlerimi sunuyorum.

Entrance 04 Temmuz 2015 22:27

Cevap: ircservices-5.1.24 admin info sorunu
 
* Aleyküm selam Operler için, INFO uygulamasını daha önceleri bu versiyon'u incelerken yapmıştım. Çoklu ROOT eklentisine gelince, müsait bir zamanda bakar kodları bu başlık altından paylaşırım.

Klasör: -> IRCServices-5.1.24/modules/operserv
Dosya: -> (operserv.h)

BULUN,
Kod:

E int nick_is_services_admin(const NickInfo *ni);
ALTINA,
Kod:

E int nick_is_services_oper(const NickInfo *ni);

EKLEYIN,


-

Klasör: -> IRCServices-5.1.24/modules/operserv
Dosya: -> (main.c)

BULUN,
Kod:

EXPORT_FUNC(nick_is_services_admin)
int nick_is_services_admin(const NickInfo *ni)
{
    NickGroupInfo *ngi;
    NickInfo *rootni;
    uint32 rootid = 0;
    int isroot, isadmin;

    if (!ni || !ni->nickgroup || !(ngi = get_ngi(ni)))
        return 0;
    if ((rootni = get_nickinfo(ServicesRoot)) != NULL) {
        rootid = rootni->nickgroup;
        put_nickinfo(rootni);
    }
    isroot = (rootid != 0 && ni->nickgroup == rootid);
    isadmin = (ngi->os_priv >= NP_SERVADMIN);
    put_nickgroupinfo(ngi);
    return isroot || isadmin;
}

ALTINA,
Kod:

EXPORT_FUNC(nick_is_services_oper)
int nick_is_services_oper(const NickInfo *ni)
{
    NickGroupInfo *ngi;
    NickInfo *rootni;
    uint32 rootid = 0;
    int isroot, isadmin;

    if (!ni || !ni->nickgroup || !(ngi = get_ngi(ni)))
        return 0;
    if ((rootni = get_nickinfo(ServicesRoot)) != NULL) {
        rootid = rootni->nickgroup;
        put_nickinfo(rootni);
    }
    isroot = (rootid != 0 && ni->nickgroup == rootid);
    isadmin = (ngi->os_priv >= NP_SERVOPER);
    put_nickgroupinfo(ngi);
    return isroot || isadmin;
}


EKLEYIN,


Klasör: -> IRCServices-5.1.24/modules/nickserv
Dosya: -> (main.c)

BULUN,
Kod:

if (can_show_all && (param && stricmp(param, "ALL") == 0))
            show_all = 1;
            notice_lang(s_NickServ, u, NICK_INFO_REALNAME,
                    nick, ni->last_realname);


ALTINA,
Kod:

if(nick_is_services_oper(ni)) {
  if (stricmp(ni->nick, ServicesRoot) == 0)
  send_cmd(s_NickServ, "NOTICE %s :%s Services Root Administrator (SRA)",
        u->nick, ni->nick);
  else if (nick_is_services_admin(ni))
  send_cmd(s_NickServ, "NOTICE %s :%s Services Administrator (SA)",
      u->nick, ni->nick);
                else
  send_cmd(s_NickServ, "NOTICE %s :%s Services Operator (SOP)",
      u->nick, ni->nick);
}


EKLEYIN,
ilgili alanda make ve make install komutlarını uygulayın. Daha sonra, sunucunuz üzerinden /os restart ..

İyi forumlar.. ^^


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 01:00.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk