+ if(!(userflags & DB_CHANUSER_NOAUTOOP)) {
+ int getop = atoi((row[3] ? row[3] : defaultrow[0]));
+ int getvoice = atoi((row[4] ? row[4] : defaultrow[1]));
+ modeBuf = initModeBuffer(client, chan);
+ if(uaccess >= getop && uaccess != 0) { //we disallow auto op for all users
+ modeBufferOp(modeBuf, user->nick);
+ } else if(uaccess >= getvoice) {
+ modeBufferVoice(modeBuf, user->nick);
+ }
+ freeModeBuffer(modeBuf);
+ }
+ //INFOLINE
+ int userinfoaccess = atoi((row[5] ? row[5] : defaultrow[2]));
+ if(chanuserrow && strcmp(chanuserrow[2], "") && uaccess > userinfoaccess) {
+ if(!strcmp(chanuserrow[3], "0") || time(0) - atol(chanuserrow[3]) >= 30) {
+ putsock(client, "PRIVMSG %s :[%s] %s", chan->name, user->nick, chanuserrow[2]);
+ }
+ }
+ //SEEN
+ if(chanuserrow) {
+ printf_mysql_query("UPDATE `chanusers` SET `chanuser_seen` = UNIX_TIMESTAMP() WHERE `chanuser_id` = '%s'", chanuserrow[4]);
+ }