selamlar..
hep istemiştim dün akşamda yazmıştım baktımki bir arkadaşımız o Nacizane elerinden Mükemel bir kod yazmış ircservices icin. paylaşalım dedik. inş umuldugu gibidir.
Örnek Görünüm istenildigi gibi dizayn edile bilir.
kurulum üc Aşamadan oluşmaktadır.
WEB, eggdrop, ircservices.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
/*************************************************************************/
static void do_registernick(User *u) {
char *nick = strtok(NULL, " ");
char *pass = strtok(NULL, " ");
char *email = strtok(NULL, " ");
NickInfo *ni = u->ni, *ni2;
NickGroupInfo *ngi = u->ngi, *ngi2;
int n;
if (readonly) {
notice_lang(s_NickServ, u, NICK_REGISTRATION_DISABLED);
} else if (!is_services_admin(u)) {
notice_lang(s_NickServ, u, PERMISSION_DENIED);
} else if (!nick || !pass || (NSRequireEmail && !email) || (stricmp(pass, u->nick) == 0 && (strtok(NULL, "") || (email && (!strchr(email,'@') || !strchr(email,'.')))))) {
send_cmd(s_NickServ, "NOTICE %s Kullanimi: \2REGISTERNICK \37nick\37 \37sifre\37 \37email\37\2", u->nick);
} else if (strlen(nick) > protocol_nickmax) {
notice_lang(s_NickServ, u, NICK_TOO_LONG, protocol_nickmax);
} else if (!valid_nick(nick)) {
notice_lang(s_NickServ, u, NICK_INVALID, nick);
} else if (stricmp(pass, u->nick) == 0 || (StrictPasswords && strlen(pass) < 5)) {
notice_lang(s_NickServ, u, MORE_OBSCURE_PASSWORD);
} else if (email && !valid_email(email)) {
send_cmd(s_NickServ, "NOTICE %s Lütfen gecerli bir email adresi giriniz.", u->nick);
} else if (!reglink_check(u, nick, NULL, NULL)) {
notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, nick);
} else if (!ni || !ngi || ngi == NICKGROUPINFO_INVALID) {
notice_lang(s_NickServ, u, NICK_NOT_REGISTERED);
} else if (!user_identified(u)) {
notice_lang(s_NickServ, u, NICK_IDENTIFY_REQUIRED, s_NickServ);
} else if (irc_stricmp(u->nick, nick) == 0) {
send_cmd(s_NickServ, "NOTICE %s Kullandığınız nicki kayıt edemezsiniz.", u->nick);
} else if ((ni2 = get_nickinfo(nick)) != NULL) {
if (ni2->status & NS_VERBOTEN)
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, nick);
else
notice_lang(s_NickServ, u, NICK_X_ALREADY_REGISTERED, nick);
put_nickinfo(ni2);
} else if (get_user(nick)) {
notice_lang(s_NickServ, u, NICK_LINK_IN_USE, nick);
} else {
Password passbuf;
init_password(&passbuf);
if (encrypt_password(pass, strlen(pass), &passbuf) != 0) {
clear_password(&passbuf);
memset(pass, 0, strlen(pass));
module_log("Failed to encrypt password for %s (register)", u->nick);
notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED);
return;
}
ni2 = makenick(nick, &ngi2);
if (!ni) {
clear_password(&passbuf);
module_log("makenick(%s) failed", u->nick);
notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED);
return;
}
copy_password(&ngi2->pass, &passbuf);
clear_password(&passbuf);
if (ni->last_usermask)
ni2->last_usermask = sstrdup(ni->last_usermask);
if (ni->last_realmask)
ni2->last_realmask = sstrdup(ni->last_realmask);
if (ni->last_realname)
ni2->last_realname = sstrdup(ni->last_realname);
if (ni->last_quit)
ni2->last_quit = sstrdup(ni->last_quit);
ni2->time_registered = ni2->last_seen = time(NULL);
if (email)
ngi2->email = sstrdup(email);
ngi2->flags = NSDefFlags;
ngi2->memos.memomax = MEMOMAX_DEFAULT;
ngi2->channelmax = CHANMAX_DEFAULT;
ngi2->language = LANG_DEFAULT;
ngi2->timezone = TIMEZONE_DEFAULT;
put_nickinfo(ni2);
notice_lang(s_NickServ, u, NICK_REGISTERED, nick);
if (readonly)
notice_lang(s_NickServ, u, READ_ONLY_MODE);
}
}
not yıldırım hızı ile bukadar oluyor. geliştirmeye devam etme sözü ile hayırlı olsun.
ve kodları codeler icinde paylaşamıyorum. Explorerler yada makina ile ilgili bir problemden dolayı malum butonları kulanamıyorum.