diff --git a/chat.php b/chat.php index 55b05b5..a15c387 100644 --- a/chat.php +++ b/chat.php @@ -1432,14 +1432,8 @@ function send_waiting_room(){ }else{ $wait=true; } - if(!isSet($U['session'])){ - setcookie(COOKIENAME, false); - send_error($I['expire']); - } - if($U['status']==0){ - setcookie(COOKIENAME, false); - send_error("$I[kicked]
$U[kickmessage]"); - } + check_expired(); + check_kicked(); $timeleft=get_setting('entrywait')-(time()-$U['lastpost']); if($wait && ($timeleft<=0 || $ga===1)){ $U['entry']=$U['lastpost']; @@ -2006,12 +2000,8 @@ function write_new_session(){ if($temp=$stmt->fetch(PDO::FETCH_ASSOC)){ if($U['passhash']===$temp['passhash']){ $U=$temp; - if($U['status']==0){ - setcookie(COOKIENAME, false); - send_error("$I[kicked]
$U[kickmessage]"); - } + check_kicked(); setcookie(COOKIENAME, $U['session']); - $reentry=true; }else{ send_error("$I[userloggedin]
$I[wrongpass]"); } @@ -2081,12 +2071,8 @@ function check_login(){ $stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'sessions WHERE session=?;'); $stmt->execute(array($_POST['session'])); if($U=$stmt->fetch(PDO::FETCH_ASSOC)){ - if($U['status']==0){ - setcookie(COOKIENAME, false); - send_error("$I[kicked]
$U[kickmessage]"); - }else{ - setcookie(COOKIENAME, $U['session']); - } + check_kicked(); + setcookie(COOKIENAME, $U['session']); }else{ setcookie(COOKIENAME, false); send_error($I['expire']); @@ -2125,15 +2111,11 @@ function check_login(){ } function kill_session(){ - global $I, $U, $db; + global $U, $db; parse_sessions(); + check_expired(); + check_kicked(); setcookie(COOKIENAME, false); - if(!isSet($U['session'])){ - send_error($I['expire']); - } - if($U['status']==0){ - send_error("$I[kicked]
$U[kickmessage]"); - } $stmt=$db->prepare('DELETE FROM ' . PREFIX . 'sessions WHERE session=?;'); $stmt->execute(array($U['session'])); if($U['status']==1){ @@ -2209,19 +2191,29 @@ function logout_chatter($names){ } function check_session(){ - global $I, $U; + global $U; parse_sessions(); + check_expired(); + check_kicked(); + if($U['entry']==0){ + send_waiting_room(); + } +} + +function check_expired(){ + global $I, $U; if(!isSet($U['session'])){ setcookie(COOKIENAME, false); send_error($I['expire']); } +} + +function check_kicked(){ + global $I, $U; if($U['status']==0){ setcookie(COOKIENAME, false); send_error("$I[kicked]
$U[kickmessage]"); } - if($U['entry']==0){ - send_waiting_room(); - } } function get_nowchatting(){ @@ -2719,6 +2711,7 @@ function apply_filter(){ } if(isSet($count) && $count>0 && $filter['kick']){ kick_chatter(array($U['nickname']), '', false); + setcookie(COOKIENAME, false); send_error("$I[kicked]"); } }