Nick:

Message:

0 && strlen($message) > 0) { // If the fields are too long, then chop them to the limits. if (strlen($nick) > $nick_size) { $nick = substr($nick, 0, $nick_size); } if (strlen($message) > $message_size) { $message = substr($message, 0, $message_size); } // Remove new line characters from the input. $nick = str_replace("\n", " ", $nick); $message = str_replace("\n", " ", $message); // Enforce the maximum word size by breaking up $message into lines. $message = preg_replace("/([^\s]{20})/", "$1\n", $message); // Now we can encode the nick and message into HTML. $nick = htmlentities($nick); $message = htmlentities($message); // Now replace the new line characters in $message. $message = str_replace("\n", "
", $message); // The IP address of the poster, web cache or whatever. $ip = $_SERVER['REMOTE_ADDR']; $time = date("j M Y - G:i:s T"); // Check to see if the 'latest' and 'archive' files exist and can be written to. if (!is_writable($latest) || !is_writable($archive)) { // Touch both files. touch($latest); touch($archive); if (!is_writable($latest) || !is_writable($archive)) { exit("$latest or $archive is not writable. Please check your permissions and try again."); } } // Read every line of the 'latest' file into an array. $lines = file($latest); $bottom_index = count($lines); // Note that each entry takes up 4 lines. $line_ip = "\n"; $line_nick = "* Posted by $nick\n"; $line_time = "on $time
\n"; $line_message = "$message

\n"; $entry = $line_ip . $line_nick . $line_time. $line_message; $already_posted = 0; for ($i = 3; $i < $bottom_index; $i += 4) { if ($lines[$i] == $line_message) { $already_posted = 1; break; } } if ($already_posted == 0) { // Now rebuild the 'latest' file. // Start by entering the new entry at the top. $out = fopen($latest, "w"); fwrite($out, $entry); // Then write all other entries except the oldest. if ($bottom_index >= $size * 4) { $bottom_index = $size * 4 - 4; } for ($i = 0; $i < $bottom_index; $i++) { fwrite($out, $lines[$i]); } fclose($out); // Also append the entry to the archive file. $out = fopen($archive, "a"); fwrite($out, $entry); fclose($out); } else { // This avoided a "probably accidental" repost. } } else { echo "You must fill in both fields

"; } } else { // This avoided a deliberate repost, maybe we should say something? } } // include the latest comments on the page. if (file_exists($latest)) { include($latest); } ?>