This commit is contained in:
Pentium44 2021-01-03 17:14:09 -08:00
parent 68770cff9e
commit f133f5c046
3 changed files with 29 additions and 26 deletions

View File

@ -143,14 +143,14 @@ input, button, select, textarea{
#msgs tr:nth-child(even) { background-color: #333333; } #msgs tr:nth-child(even) { background-color: #333333; }
#msgs tr:nth-child(odd) { background-color: #262626; } #msgs tr:nth-child(odd) { background-color: #262626; }
#msgs td:nth-child(even) { width: 100%; } #msgs td:nth-child(even) { width: 80%; max-width: 950px; min-width: 320px; }
#msgs td:nth-child(odd) { min-width: 120px; } #msgs td:nth-child(odd) { width: 20%; min-width: 120px; max-width: 190px; }
#msgs td { padding: 0px 4px 0px 4px; border-radius: 3px; } #msgs td { padding: 0px 4px 0px 4px; border-radius: 3px; }
#logmsgs tr:nth-child(even) { background-color: #333333; } #logmsgs tr:nth-child(even) { background-color: #333333; }
#logmsgs tr:nth-child(odd) { background-color: #262626; } #logmsgs tr:nth-child(odd) { background-color: #262626; }
#logmsgs td:nth-child(even) { width: 100%; } #logmsgs td:nth-child(even) { width: 80%; max-width: 950px; min-width: 320px; }
#logmsgs td:nth-child(odd) { min-width: 120px; } #logmsgs td:nth-child(odd) { width: 20%; min-width: 120px; max-width: 190px; }
#logmsgs td { padding: 0px 4px 0px 4px; border-radius: 3px; } #logmsgs td { padding: 0px 4px 0px 4px; border-radius: 3px; }
#footer { #footer {

21
irc.php
View File

@ -79,7 +79,7 @@ socket_write($socket, $userline, strlen($userline));
// Continue the rest of the script here // Continue the rest of the script here
// While script will continue as long as socket continues to be active // While script will continue as long as socket continues to be active
while($bytes = socket_recv($socket, $r_data, 3096, MSG_DONTWAIT) !== '') { while($bytes = socket_recv($socket, $r_data, 2048, MSG_DONTWAIT) !== '') {
if($bytes !== FALSE) { if($bytes !== FALSE) {
//$data = socket_read($socket, 2048, PHP_NORMAL_READ); //$data = socket_read($socket, 2048, PHP_NORMAL_READ);
$packetdata = $r_data; $packetdata = $r_data;
@ -108,14 +108,14 @@ while($bytes = socket_recv($socket, $r_data, 3096, MSG_DONTWAIT) !== '') {
// If data variable is set and buffer has data to recieve // If data variable is set and buffer has data to recieve
// RECIEVE IT! // RECIEVE IT!
if(isset($packetdata)) { // If data variable is set, there's data from socket if(isset($packetdata)) { // If data variable is set, there's data from socket
doLog("Server received chunk: $packetdata"); //doLog("Server received chunk: $packetdata");
$lines = explode("\r\n", $packetdata); $lines = explode("\r\n", $packetdata);
foreach($lines as $data) { foreach($lines as $data) {
if($data == "") { continue; } if($data == "") { continue; }
doLog("Line: $data"); //doLog("Line: $data");
$socketFileContents = file_get_contents("users/$username.log"); $socketFileContents = file_get_contents("users/$username.log");
$stringMsg = explode('PRIVMSG', $data); // Strip IRC commands $stringMsg = explode('PRIVMSG', $data); // Strip IRC commands
@ -133,14 +133,14 @@ while($bytes = socket_recv($socket, $r_data, 3096, MSG_DONTWAIT) !== '') {
$senderNick = get_string_between($data, ":", "!"); $senderNick = get_string_between($data, ":", "!");
$senderIp = get_string_between($data, "@", " "); $senderIp = get_string_between($data, "@", " ");
$exitMsg = explode('PART', $data); $exitMsg = explode('PART', $data);
$msgline = "<tr><td class='userinfo'><b>$senderNick</b><br /><span style='color:$ipcolor;'>$senderIp</span></td><td> left " . stripslashes(trim($exitMsg[1])) . "</td></tr>"; $msgline = "<tr><td class='userinfo'><b>$senderNick</b>: Leaving<br /><span style='color:$ipcolor;font-size:9px;'>$senderIp</span></td><td> left " . stripslashes(trim($exitMsg[1])) . "</td></tr>";
file_put_contents("users/$username.log", $socketFileContents . $msgline); file_put_contents("users/$username.log", $socketFileContents . $msgline);
} else if ($ex[1] == "JOIN") { } else if ($ex[1] == "JOIN") {
$senderNick = get_string_between($data, ":", "!"); $senderNick = get_string_between($data, ":", "!");
$senderIp = get_string_between($data, "@", " "); $senderIp = get_string_between($data, "@", " ");
$joinChannel = explode("JOIN :", $data); $joinChannel = explode("JOIN :", $data);
if($senderNick != $usernickname) { if($senderNick != $usernickname) {
$msgline = "<tr><td class='userinfo'><b>$senderNick</b><br /><span style='color:$ipcolor;'>$senderIp</span></td><td> joined " . $joinChannel[1] . "</td></tr>\n"; $msgline = "<tr><td class='userinfo'><b>$senderNick</b>:" . $joinChannel[1] . "<br /><span style='color:$ipcolor;font-size:9px;'>$senderIp</span></td><td> joined " . $joinChannel[1] . "</td></tr>\n";
file_put_contents("users/$username.log", $socketFileContents . $msgline); file_put_contents("users/$username.log", $socketFileContents . $msgline);
} else { } else {
$msgline = "<tr><td class='userinfo'><span style='color:$ipcolor;'>" . $server_address . "</span> ~ </td><td>Joining " . $joinChannel[1] . "</td></tr>\n"; $msgline = "<tr><td class='userinfo'><span style='color:$ipcolor;'>" . $server_address . "</span> ~ </td><td>Joining " . $joinChannel[1] . "</td></tr>\n";
@ -150,20 +150,23 @@ while($bytes = socket_recv($socket, $r_data, 3096, MSG_DONTWAIT) !== '') {
$senderNick = get_string_between($data, ":", "!"); $senderNick = get_string_between($data, ":", "!");
$senderIp = get_string_between($data, "@", " "); $senderIp = get_string_between($data, "@", " ");
$nickMsg = explode('NICK', $data); $nickMsg = explode('NICK', $data);
$msgline = "<tr><td class='userinfo'><b>$senderNick</b><br /><span style='color:$ipcolor;'>$senderIp</span></td><td> $senderNick is now known as" . trim($nickMsg[1]) . "</td></tr>\n"; $msgline = "<tr><td class='userinfo'><b>$senderNick</b>:" . trim($nickMsg[1]);
$msgline .= "<br /><span style='color:$ipcolor;font-size:9px;'>$senderIp</span>";
$msgline .= "</td><td> $senderNick is now known as" . trim($nickMsg[1]);
$msgline .= "</td></tr>\n";
file_put_contents("users/$username.log", $socketFileContents . $msgline); file_put_contents("users/$username.log", $socketFileContents . $msgline);
} else if ($ex[1] == "QUIT") { } else if ($ex[1] == "QUIT") {
$senderNick = get_string_between($data, ":", "!"); $senderNick = get_string_between($data, ":", "!");
$senderIp = get_string_between($data, "@", " "); $senderIp = get_string_between($data, "@", " ");
$quitMsg = explode('QUIT :', $data); $quitMsg = explode('QUIT :', $data);
$msgline = "<tr><td class='userinfo'><span style='color:$ipcolor;'>$server_address</span> ~</td><td> $senderNick left: " . trim($quitMsg[1]) . "</td></tr>\n"; $msgline = "<tr><td class='userinfo'><b>$senderNick</b><br /><span style='color:$ipcolor;font-size:9px;'>$senderIp</span></td><td> $senderNick left: " . trim($quitMsg[1]) . "</td></tr>\n";
file_put_contents("users/$username.log", $socketFileContents . $msgline); file_put_contents("users/$username.log", $socketFileContents . $msgline);
} else if ($ex[2] == $usernickname && $ex[1] == "PRIVMSG") { } else if ($ex[2] == $usernickname && $ex[1] == "PRIVMSG") {
$senderNick = get_string_between($data, ":", "!"); $senderNick = get_string_between($data, ":", "!");
$senderIp = get_string_between($data, "@", " "); $senderIp = get_string_between($data, "@", " ");
$privMsg = explode($usernickname . " :", $stringMsg[1]); $privMsg = explode($usernickname . " :", $stringMsg[1]);
file_put_contents("users/.$username.pmed", "$senderNick"); file_put_contents("users/.$username.pmed", "$senderNick");
$msgline = "<tr><td class='userinfo'>PM from: <b>$senderNick</b><br /><span style='color:$ipcolor;'>$senderIp</span></td><td> " . htmlentities(stripslashes(trim($privMsg[1]))) . "</td></tr>\n"; $msgline = "<tr><td class='userinfo'>PM from <b>$senderNick</b><br /><span style='color:$ipcolor;font-size:9px;'>$senderIp</span></td><td> " . htmlentities(stripslashes(trim($privMsg[1]))) . "</td></tr>\n";
file_put_contents("users/$username.log", $socketFileContents . $msgline); file_put_contents("users/$username.log", $socketFileContents . $msgline);
$msg = ""; $msg = "";
} else if ($stringMsg[1] != "") { } else if ($stringMsg[1] != "") {
@ -172,7 +175,7 @@ while($bytes = socket_recv($socket, $r_data, 3096, MSG_DONTWAIT) !== '') {
$channel = explode(" :", $stringMsg[1]); $channel = explode(" :", $stringMsg[1]);
$msg = explode($channel[0] . " :", $stringMsg[1]); $msg = explode($channel[0] . " :", $stringMsg[1]);
$msgline = "<tr><td class='userinfo'><b>$senderNick</b>:" . $channel[0] . "<span style='color:$ipcolor;font-size:9px;'>$senderIp</span></td><td> " . htmlentities(stripslashes(trim($msg[1]))) . "</td></tr>"; $msgline = "<tr><td class='userinfo'><b>$senderNick</b>:" . $channel[0] . "<br /><span style='color:$ipcolor;font-size:9px;'>$senderIp</span></td><td> " . htmlentities(stripslashes(trim($msg[1]))) . "</td></tr>";
if(usernameInMsg($usernickname, $msg[1])==true) { if(usernameInMsg($usernickname, $msg[1])==true) {
file_put_contents("users/.$username.mentioned", "$senderNick"); file_put_contents("users/.$username.mentioned", "$senderNick");
} }

View File

@ -27,8 +27,8 @@ html {
body { body {
margin: 0 auto; margin: 0 auto;
padding: 4px; padding: 4px;
background-color: #c9c9c9; background-color: #dddddd;
border: solid 1px #bbbbbb; border: solid 1px #cccccc;
border-radius: 10px; border-radius: 10px;
-webkit-border-radius: 10px; -webkit-border-radius: 10px;
-moz-border-radius: 10px; -moz-border-radius: 10px;
@ -52,8 +52,8 @@ a:hover {
} }
input, button, select, textarea{ input, button, select, textarea{
background-color: #d3d3d3; background-color: #d2d2d2;
border: solid 1px #bbbbbb; border: solid 1px #cccccc;
outline: none; outline: none;
border-radius: 6px; border-radius: 6px;
font-size: 16px; font-size: 16px;
@ -80,7 +80,7 @@ input, button, select, textarea{
color: #222222; color: #222222;
padding: 3px 6px 4px 6px; padding: 3px 6px 4px 6px;
border-radius: 6px; border-radius: 6px;
border: solid 1px #bbbbbb; border: solid 1px #cccccc;
box-shadow: 0px 0px 6px #bbbbbb; box-shadow: 0px 0px 6px #bbbbbb;
margin: 0 auto; margin: 0 auto;
width: fit-content; width: fit-content;
@ -140,16 +140,16 @@ input, button, select, textarea{
overflow-x: auto; overflow-x: auto;
} }
#msgs tr:nth-child(even) { background-color: #bbbbbb; } #msgs tr:nth-child(even) { background-color: #bbbbbb; color: #000000; }
#msgs tr:nth-child(odd) { background-color: #b1b1b1; } #msgs tr:nth-child(odd) { background-color: #b1b1b1; color: #000000; }
#msgs td:nth-child(even) { width: 100%; } #msgs td:nth-child(even) { width: 80%; max-width: 950px; min-width: 320px; }
#msgs td:nth-child(odd) { min-width: 120px; } #msgs td:nth-child(odd) { width: 20%; min-width: 120px; max-width: 190px; }
#msgs td { padding: 0px 4px 0px 4px; border-radius: 3px; } #msgs td { padding: 0px 4px 0px 4px; border-radius: 3px; }
#logmsgs tr:nth-child(even) { background-color: #bbbbbb; } #logmsgs tr:nth-child(even) { background-color: #bbbbbb; color: #000000; }
#logmsgs tr:nth-child(odd) { background-color: #b1b1b1; } #logmsgs tr:nth-child(odd) { background-color: #b1b1b1; color: #000000; }
#logmsgs td:nth-child(even) { width: 80%; } #logmsgs td:nth-child(even) { width: 80%; max-width: 950px; min-width: 320px; }
#logmsgs td:nth-child(odd) { min-width: 120px;} #logmsgs td:nth-child(odd) { width: 20%; min-width: 120px; max-width: 190px; }
#logmsgs td { padding: 0px 4px 0px 4px; border-radius: 3px; } #logmsgs td { padding: 0px 4px 0px 4px; border-radius: 3px; }
#footer { #footer {