1Forum.Net  

Go Back   1Forum.Net > IRC Sunucu Sahipleri - WEB > Genel IRCD > Hazır Kodlar
Sosyal Gruplar Oyun Dünyası Yasaklılar Listesi Etiketler Arşiv Rss


Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Stil
Alt 04/08/08, 22:28 PM   #1 (permalink)
Normal 1üye
 
TimezOne - ait Kullanıcı Resmi (Avatar)
1 Bilgi
Üyelik tarihi: Mar 2008
Nerden: King's City.
Mesajlar: 95
Konular: 40
1 Karizma
Rep Gücü : 1
Rep Puanı : 21
Rep Seviyesi : TimezOne is on a distinguished road
Teşekkür Sayısı : 38
Gösterdiği Tepki : 0
1 mesajına 1 kez tepki gösterildi
Arrow Access Kabul (IrcServices)

Ptlink tarzı Access Kabul sistemi.. (eklenen accesslerin /cs kabul #kanalismi e/h yapması şarttır.)

Kod 3 saat içinde tarafımdan yazılmıştır..

Ekleme Zorluğu : Orta/Zor

Yapılması Gereken Değişiklikler :

cd ircservices-5.0.xx

------------------------------
pico lang/tr.l


Kod:
Kod:
CHAN_ACCESS_ADDED
%s nick'i %s kanalinin erisim listesine %d seviyeden eklendi.
Bu Satırları bulup, Şu şekilde değiştirin:

Kod:
CHAN_ACCESS_ADDED
%s nick'ine %s kanalinin erisim listesine %d seviyeden eklenmesi için Kabul Mesajı Gönderildi.
-

Kod:
CHAN_ACCESS_LIST_HEADER
%s Kanali Erisim Listesi:
Sira Seviye Nick
CHAN_ACCESS_LIST_FORMAT
%4d %4d %s
Bu Satırları bulup, Şu şekilde değiştirin:

Kod:
CHAN_ACCESS_LIST_HEADER
%s Kanali Erisim Listesi:
Sira Seviye Nick Durum
CHAN_ACCESS_LIST_FORMAT
%4d %4d %s %s
-

Kod:
CHAN_XOP_ADDED
%s %s %s listesine eklendi.
Bu Satırları bulup, Şu şekilde değiştirin:

Kod:
CHAN_XOP_ADDED
%s nickine %s %s listesine eklenmesi için Kabul Mesajı Gönderildi.
-

Kod:
CHAN_XOP_LIST_HEADER
%s %s listesi:
Sira Nick
CHAN_XOP_LIST_FORMAT
%4d %s
Bu Satırları bulup, Şu şekilde değiştirin:

Kod:
CHAN_XOP_LIST_HEADER
%s %s listesi:
Sira Nick Durum
CHAN_XOP_LIST_FORMAT
%4d %s %s
------------------------------
pico modules\chanserv\access-levels.c

Kod:
int is_list; /* Is true when command is either LIST or COUNT */
Bu Satırları bulup, bir üstüne şu satırı ekleyin:

Kod:
User *sky;
-

Kod:
notice_lang(s_ChanServ, u, CHAN_ACCESS_ADDED, nick, chan, level);
Bu satırı bulup, bir altına şu satırları ekleyin:

Kod:
sky = get_user(nick);
if (sky) {
if (user_identified(sky)) {
send_cmd(s_ChanServ, "NOTICE %s :%s Nicki %s Kanalında Size Access Ekledi.", sky->nick, u->nick, chan);
send_cmd(s_ChanServ, "NOTICE %s :Kabul Etmek için /chanserv kabul %s e Yaziniz.", sky->nick, chan);
send_cmd(s_ChanServ, "NOTICE %s :Reddetmek için /chanserv kabul %s h Yaziniz.", sky->nick, chan);
}
}
-

Kod:
static int access_list(User *u, int index, ChannelInfo *ci, int *sent_header)
{
ChanAccess *access = &ci->access[index];
NickGroupInfo *ngi;
if (!access->nickgroup)
return RET_NOENTRY;
if (!(ngi = get_ngi_id(access->nickgroup)))
return RET_INTERR;
if (!*sent_header) {
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name);
*sent_header = 1;
}
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
index+1, access->level, ngi_mainnick(ngi));
return RET_LISTED;
}
Bu kodu bulup, şu kod ile değiştirin:

Kod:
static int access_list(User *u, int index, ChannelInfo *ci, int *sent_header)
{
ChanAccess *access = &ci->access[index];
NickGroupInfo *ngi;
if (!access->nickgroup)
return RET_NOENTRY;
if (!(ngi = get_ngi_id(access->nickgroup)))
return RET_INTERR;
if (!*sent_header) {
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name);
*sent_header = 1;
}
if (access->kabul==0)
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
index+1, access->level, ngi_mainnick(ngi), "<Beklemede>");
else if (access->kabul==1)
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
index+1, access->level, ngi_mainnick(ngi), "<Kabul Edildi>");
return RET_LISTED;
}
------------------------------
pico modules\chanserv\access-xop.c

Kod:
const char *listname = XOP_LISTNAME(level);
Bu Satıri bulup, bir üstüne şu satırı ekleyin:

Kod:
User *sky;
-

Kod:
notice_lang(s_ChanServ, u, CHAN_XOP_ADDED, nick, chan, listname);
Bu satırı bulup bir altına şu satırları ekleyin:

Kod:
sky = get_user(nick);
if (sky) {
if (user_identified(sky)) {
send_cmd(s_ChanServ, "NOTICE %s :%s Nicki %s Kanalında Size Access Ekledi.", sky->nick, u->nick, chan);
send_cmd(s_ChanServ, "NOTICE %s :Kabul Etmek için /chanserv kabul %s e Yaziniz.", sky->nick, chan);
send_cmd(s_ChanServ, "NOTICE %s :Reddetmek için /chanserv kabul %s h Yaziniz.", sky->nick, chan);
}
}
-

Kod:
static int xop_list(User *u, int index, ChannelInfo *ci, int *sent_header,
int relindex)
{
ChanAccess *access = &ci->access[index];
NickGroupInfo *ngi;
if (!(ngi = get_ngi_id(access->nickgroup)))
return 0;
if (!*sent_header) {
notice_lang(s_ChanServ, u, CHAN_XOP_LIST_HEADER,
XOP_LISTNAME(access->level), ci->name);
*sent_header = 1;
}
notice_lang(s_ChanServ, u, CHAN_XOP_LIST_FORMAT, relindex,
ngi_mainnick(ngi));
return 1;
}
Bu kodu bulup şu kod ile değiştirin:

Kod:
static int xop_list(User *u, int index, ChannelInfo *ci, int *sent_header,
int relindex)
{
ChanAccess *access = &ci->access[index];
NickGroupInfo *ngi;
if (!(ngi = get_ngi_id(access->nickgroup)))
return 0;
if (!*sent_header) {
notice_lang(s_ChanServ, u, CHAN_XOP_LIST_HEADER,
XOP_LISTNAME(access->level), ci->name);
*sent_header = 1;
}
if (access->kabul==0)
notice_lang(s_ChanServ, u, CHAN_XOP_LIST_FORMAT, relindex,
ngi_mainnick(ngi), "<Beklemede>");
else if (access->kabul==1)
notice_lang(s_ChanServ, u, CHAN_XOP_LIST_FORMAT, relindex,
ngi_mainnick(ngi), "<Kabul Edildi>");
return 1;
}
------------------------------
pico modules\chanserv\access.c

Kod:
if (ci->access[i].nickgroup == id)
Bu kodu bulup Hemen bir alt satıra şu kodu ekleyiniz : (bu satır 2 kez çıkacak, ikisinde de aynı şekilde bir alt satırına aşağıdaki satırı ekleyiniz.)

Kod:
if (ci->access[i].kabul==1)
Kod:
ci->access[i].nickgroup = ni->nickgroup;
ci->access[i].level = level;
bu satırları bulup hemen altına şu kodu ekleyiniz:

Kod:
ci->access[i].kabul = 0;
------------------------------
pico modules\chanserv\chanserv.h


Kod:
int16 level;
bu kodu bulup hemen altına şu kodu ekleyin:

Kod:
int32 kabul;
-

Kod:
int16 access_count;
bu kodu bulup hemen altına şu kodu ekleyin:

Kod:
ChanAccess *accesstemp;
------------------------------
pico modules\chanserv\main.c

Kod:
static void do_status(User *u);
bu satırı bulup hemen altına şu satırı ekleyin:

Kod:
static void do_kabul(User *u);
-

Kod:
{ "UNSUSPEND",do_unsuspend,is_se rvices_admin, -1,
-1, CHAN_OPER_HELP_UNSUSPEND },
bu satırları bulup hemen altına şu satırı ekleyin:

Kod:
{ "KABUL", do_kabul, NULL, -1,-1, -1 },
-

Kod:
static void do_help(User *u)
{
bu satırları bulup hemen bir üstüne şu kodu ekleyin:

Kod:
static void do_kabul(User *u) {
//char *cmd = strtok_remaining();
char *kanal = strtok(NULL, " ");
char *secim = strtok(NULL, " ");
int sec;
ChannelInfo *ci;
NickInfo *ni=u->ni;
int bulunan=0;
int i=0;
if (!kanal) {
send_cmd(s_ChanServ, "NOTICE %s :Kullanımı : KABUL #Kanal e/h", u->nick);
return;
}
ci = get_channelinfo(kanal);

if (strcmp(kanal, "#") == 0) {
notice_lang(s_ChanServ, u, CHAN_REGISTER_SHORT_CHANNEL);
} else if (*kanal == '&') {
notice_lang(s_ChanServ, u, CHAN_REGISTER_NOT_LOCAL);
} else if ((*kanal != '#') && stricmp(kanal, "list")) {
notice_lang(s_ChanServ, u, CHAN_REGISTER_INVALID_NAME);
} else if (!ni) {
notice_lang(s_ChanServ, u, CHAN_MUST_REGISTER_NICK, s_NickServ);
} else if (!user_identified(u)) {
notice_lang(s_ChanServ, u, CHAN_MUST_IDENTIFY_NICK,
s_NickServ, s_NickServ);
} else if (stricmp(kanal, "list") == 0) {
for (ci = first_channelinfo(); ci; ci = next_channelinfo()) {
if (ci->flags & (CI_VERBOTEN))
continue;
if (ci->suspendinfo)
continue;
ARRAY_SEARCH_SCALAR(ci->access, nickgroup, u->ngi->id, i);
if (i != ci->access_count) {
if (ci->access[i].kabul==0) {
send_cmd(s_ChanServ, "NOTICE %s :%s Kanalında Bekleyen Bir Access isteği Bulundu..", u->nick, ci->name);
send_cmd(s_ChanServ, "NOTICE %s :Kabul Etmek için /chanserv kabul %s e Yazınız.", u->nick, ci->name);
send_cmd(s_ChanServ, "NOTICE %s :Reddetmek için /chanserv kabul %s h Yazınız.", u->nick, ci->name);
send_cmd(s_ChanServ, "NOTICE %s :-", u->nick);
}
}
}
return;
}
else if (ci == NULL) {
notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, kanal);
}
else {
if (!secim) {
send_cmd(s_ChanServ, "NOTICE %s :Kullanımı : KABUL #Kanal e/h", u->nick);
return;
}
if (stricmp(secim, "h") == 0)
sec=0;
else if (stricmp(secim, "e") == 0)
sec=1;
else {
send_cmd(s_ChanServ, "NOTICE %s :Kullanımı : KABUL #Kanal e/h", u->nick);
return;
}
if (ci->flags & CI_VERBOTEN) {
send_cmd(s_ChanServ, "NOTICE %s :Bu Kanal Yasaklı Bir Kanaldır, Komutunuzu Gözden Geçiriniz.", u->nick);
return;
} else if (ci->suspendinfo) {
send_cmd(s_ChanServ, "NOTICE %s :Bu Kanal Suspendli Bir Kanaldır, Komutunuzu Gözden Geçiriniz.", u->nick);
return;
}
ARRAY_FOREACH (i, ci->access) {
if (ci->access[i].nickgroup == ni->nickgroup) {
if (sec==1) {
if (ci->access[i].kabul==0) {
ci->access[i].kabul=1;
send_cmd(s_ChanServ, "NOTICE %s :%s Kanalı için Access Eklemesi Kabul Edildi.", u->nick, kanal);
}
else if (ci->access[i].kabul==1) {
send_cmd(s_ChanServ, "NOTICE %s :%s Kanalı için Access Eklemesini Zaten Kabul Etmişsiniz.", u->nick, kanal);
}
else {
send_cmd(s_ChanServ, "NOTICE %s :%s Kanalı için Nickinize Ait Bekleyen Access isteği Yok.", u->nick, kanal);
}
put_channelinfo(ci);
bulunan=1;
break;
}
else {
if (ci->access[i].kabul==0) {
send_cmd(s_ChanServ, "NOTICE %s :%s Kanalındaki Bekleyen Access isteğiniz Silindi.", u->nick, kanal);
ARRAY_REMOVE(ci->access, i);
put_channelinfo(ci);
bulunan=1;
}
break;
}
}
}
if (bulunan==0)
send_cmd(s_ChanServ, "NOTICE %s :Nickiniz için %s Kanalında Bekleyen Bir Access isteği Yok.", u->nick, kanal);
}

}
------------------------------
pico modules\nickserv\main.c

Kod:
#include "modules/operserv/operserv.h"
bu kodu bulup hemen altına şu kodu ekleyin

Kod:
#include "modules/chanserv/chanserv.h"
-

Kod:
char *s_NickServ;
bu kodu bulup hemen altına şu kodu ekleyin:

Kod:
char *s_ChanServ;
-

Kod:
static void do_identify(User *u)
{
char *pass = strtok_remaining();
NickInfo *ni = NULL;
NickGroupInfo *ngi = NULL;
bu satırları bulup hemen altına şu 3 satırı ekleyiniz:

Kod:
ChannelInfo *ci;
int i;
int toplam=0;
-

Kod:
notice_lang(s_NickServ, u, NICK_IDENTIFY_SUCCEEDED);
bu satırı bulup hemen bir altına şu satırları ekleyiniz:

Kod:
for (ci = first_channelinfo(); ci; ci = next_channelinfo()) {
if (ci->flags & (CI_VERBOTEN))
continue;
if (ci->suspendinfo)
continue;
ARRAY_SEARCH_SCALAR(ci->access, nickgroup, u->ngi->id, i);
if (i != ci->access_count) {
if (ci->access[i].kabul==0)
toplam++;
}
}
if (toplam!=0) {
send_cmd(s_ChanServ, "NOTICE %s :%d Adet Bekleyen Access Kabul isteğiniz Var.", u->nick, toplam);
send_cmd(s_ChanServ, "NOTICE %s :istekleri Listelemek için /chanserv kabul list Komutunu Uygulayınız.", u->nick);
}
------------------------------
pico modules\database\version4.c

Kod:
SAFE(write_int16(convert_new_l evel(ci->access[i].level), f));
bu satırı bulup hemen altına şu satırı ekleyiniz:

Kod:
SAFE(write_int32(ci->access[i].kabul, f));
------------------------------

Not : tr.l de yapacağınız değişikliklerde "tab"lara dikkat ediniz.
Not : dosyalarınızıftp den çekip not defterinde veya başka bir editörde yapmanız daha iyi olacaktır.

Buraya kadar herşeyi Satır kaydırmadan yaptıysanız;

make
make install

komutlarınızı kullanınız.

sonra ./ircservices komutu ile servislerinizi getirip, mirc üzerinden admin nickinizile girip /os update komutunu kullanınız..

bu işlemden HEMEN sonra servislerinizi ps x listenizden kapatınız..

sonrasında şu editi yapınız:

---
pico modules\database\version4.c

Kod:
ci->access[i].level = convert_old_level(lev);
bu satırı bulup hemen altına şu satırı ekleyiniz:

Kod:
SAFE(read_int32(&ci->access[i].kabul, f));
bu işlemden sonra da tekrar
make
make install
komutlarını uygulayıp servislerinizi getirirseniz işlem tamamlanacaktır.

Not : Çıkan yazılar, kodlar veya komut düzenlerinde devriklik veya hata olabilir.. Bu, Test etmediğimden ve kodu hazırladıktan sonra zamanımın olmayışından kaynaklanıyor.

''Alıntı : Kodlayan Sky-Dancer"



iyi Çalışmalar..


_______________________
Üye olup ailemize katılmak ve reklamsız bir forumdan yararlanmak isterseniz TIKLAYIN

Konu TimezOne tarafından (05/08/08 Saat 11:43 AM ) değiştirilmiştir..
TimezOne isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Yeni Konu aç  Cevapla

Sosyal Paylaşım Kısayolları

Etiketler
access, ircservices, kabul


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
-------------------------------------------------------------
Stil


Tüm Zamanlar GMT +2 Olarak Ayarlanmış. Şuanki Zaman: 21:17 PM.

Powered by vBulletin® Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2008, Crawlability, Inc.

Sitemiz bir forum sitesi olduğu için kullanıcılar her türlü görüşlerini önceden onay olmadan anında siteye yazabilmektedir,
bu yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir,
yine de sitemizde yasalara aykırı unsurlar bulursanız buradan bize bildirebilirsiniz, şikayetiniz incelendikten sonra en kısa sürede gereken yapılacaktır.
Report Abuse, Harassment, Scamming, Hacking, Warez, Crack, Divx, Mp3 or any Illegal Activity to here

Reklam vermek için bize buradan ulaşabilirsiniz.

web statistics
Hepsi
3 4 5 9 11 12 13 14 15 18 22 24 25 27 28 29 30 31 33 34 35 36 38 39 40 42 43 44 45 46 51 52 54 55 57 59 61 62 68 69 70 71 75 76 81 82 88 91 95 96 99 100 101 104 109 120 121 128 131 132 135 136 139 142 147 150 151 152 153 154 155 156 157 158 159 160 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 251 252 253 254 255 259 277 279 280 281 282 283 285 286 287 288 289 290 291 292 293 295 296 303 304 306 307 308 309 310 311 312 313 314 319 321 322 323 325 327 328 329 330 331 332 334 338 340 341 342 343 344 345 346 347 348 349 351 355 358 359 360 362 364 365 366 367 371 377 378 379 380 381 382 383 384 385 387 411 412 417 419 420 421 422 423 426 432 434 439 440 441 442 444 449 466 469 470 471 472 473 474 475 476 477 478 479 481 482 483 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 505 518 519 520 521 523 524 526 533 537 539 541 545 546 548 549 550 551 552 555 556 557 558 559 560 561 562 563 565 566 569 571 574 580 581 582 583 584 585 586 589 590 591 593 595 596 597 598 599 600 601 604 605