X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fevent_neonserv_join.c;h=1a7493f544a30d4e041cc89f0845400fc5e1ef27;hb=c575e458c6257e75b97884847143b20965a5dfda;hp=a117c18b0c7afa4145ea63a05c42c46a83864d6a;hpb=0f1dc61921eef1db8e404a5a82372e2d1cd55daa;p=NeonServV5.git diff --git a/src/event_neonserv_join.c b/src/event_neonserv_join.c index a117c18..1a7493f 100644 --- a/src/event_neonserv_join.c +++ b/src/event_neonserv_join.c @@ -1,3 +1,19 @@ +/* event_neonserv_join.c - NeonServ v5.2 + * Copyright (C) 2011 Philipp Kreil (pk910) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ struct neonserv_event_join_cache { struct ClientSocket *client; @@ -63,7 +79,7 @@ static void neonserv_event_join_async1(struct ClientSocket *client, struct ChanU printf_mysql_query("SELECT `channel_maxusers`, `channel_greeting`, `channel_usergreeting`, `channel_getop`, `channel_getvoice`, `channel_userinfo`, `channel_dynlimit` FROM `channels` WHERE `channel_id` = '%d'", chan->channel_id); res = mysql_use(); if ((row = mysql_fetch_row(res)) == NULL) return; - if(!row[3] || !row[4]) { + if(!row[3] || !row[4] || !row[5]) { printf_mysql_query("SELECT `channel_getop`, `channel_getvoice`, `channel_userinfo` FROM `channels` WHERE `channel_name` = 'defaults'"); res = mysql_use(); defaultrow = mysql_fetch_row(res); @@ -78,6 +94,8 @@ static void neonserv_event_join_async1(struct ClientSocket *client, struct ChanU chanuserrow = mysql_fetch_row(res); } else chanuserrow = NULL; + if(!chanuserrow) + printf_mysql_query("UPDATE `channels` SET `channel_lastvisit` = UNIX_TIMESTAMP() WHERE `channel_id` = '%d'", chan->channel_id); int userflags = (chanuserrow ? atoi(chanuserrow[1]) : 0); int uaccess = ((chanuserrow && !(userflags & DB_CHANUSER_SUSPENDED)) ? atoi(chanuserrow[0]) : 0); //GREETING