query("SELECT * FROM (SELECT id, timestamp, user, avatar, message FROM chatpack_log ORDER BY id DESC LIMIT 125) ORDER BY id ASC") ) { $newmessages = array(); while( $row = $result->fetchArray() ) { $id = $row["id"]; $timestamp = $row["timestamp"]; $user = $row["user"]; $avatar = $row["avatar"]; $message = $row["message"]; $timenow = time(); $messagetime = date("h:iA", intval($timestamp)); $messagedate = date("m-d", intval($timestamp)); $message = utf8_encode($message); $msgstr = ""; // message components if( strlen($user) > 0 && strlen($message) > 0 ) { // catch emoticon $emoticon = false; if( stristr($message, "specialcharemoticon") ) { $emoticonid = substr($message, 11); $message = ""; $emoticon = true; } // catch image $image = false; if( stristr($message, "specialcharimg") ) { $imagename = substr($message, 14); $message = ""; $image = true; $endingpos = strpos($imagename, "."); $originalname = substr($imagename, 0, $endingpos-1); $ending = substr($imagename, $endingpos+1); $originalimg = $originalname . "." . $ending; } if( !$emoticon && !$image ) { $message = decryptmessage($message); } // catch URLs /*$message = str_replace("https://", "http://", $message); if( !stristr($message, "http://www.") ) { $message = str_replace("www.", "http://www.", $message); } $message = preg_replace("!((http|ftp)(s)?:\/\/)(www\.)?[a-zA-Z0-9.?&_/=\-\%\:,\#\+]+!", "$0", $message); $message = str_replace("target=\"_blank\">http://", "target=\"_blank\">", $message); */ // catch highlightings $message = preg_replace("/\*{3}(.*?)\*{3}/", "$1", $message); $message = preg_replace("/\*{2}(.*?)\*{2}/", "$1", $message); $message = preg_replace("/\*(.*?)\*/", "$1", $message); // user online avatar //$avatar = ""; // unique message key $keystring = $timestamp . $user . $messagetime . $message . $id; $messagekey = md5($keystring); // show user avatar and message if($user == $currentuser){ $msgstr = $msgstr . "

  • \"$user\"

    $user

    $messagedate $messagetime

    $message
  • ";//class="chat-inverted" }else{ $msgstr = $msgstr . "

  • \"$user\"

    $user

    $messagedate $messagetime

    $message
  • ";//class="chat-inverted" } array_push($newmessages, $msgstr); } } } $db->close(); function decryptmessage($msg) { $key = "OEFKSjczdG5JWkFITHZNUmFLT1I4aWRWaVVWY3l1SXdJZ285V2R3Ri90QjF4NUU1VG9mNnM wcDRYWTQ1dEtRRXRYNlFWZE01QW1WS0hTNXZzaEtRbEdkcXY4cWpEOVRBYjBzSGJlRXVPWW 9aWUtzNGZtK1BnRzRPeXk4ZWY0VUphUjc5VzRGQ2s0UXRrNENOWERJWmM3SWNFSEtpM0hpcT l2UVRET2UrMkxQR29ONVpOVDRnSHArTGVwQU15NXg4YzdNSWZQTlBOd2FlWmY2aWRQOUdSZVh 3VXQ4a1JlNDkwMWZIVE42cmpIMkRrUkg1VnF1NC9zMmhTZFROVnNleVlSTnVvcWtDYlB3TEJU eDlRT3ZPZVQ2N0psT0NFNW5nekFCdG9xLzZ6K0Qva1V5UzNoVlAxWGt1ZittZnE5ek10Q2x4Q1 QrdHVRdEVoYUIxc2V1UjgrZDZyK1Zzem9LOEtpSG9halczNEpmem5nRWllSDBaRzNERHBTbUxB MGlodTZsclFEVzZLcjVBNEtYRUpxQXVNaEcycGN4U2VzT01NRlljM3pHL3Q1az0"; $initvector = "aC92eG1PdGhuMXN6"; $decryptedmessage = openssl_decrypt($msg, "AES-256-CBC", $key, 0, $initvector); $decryptedmessage = utf8_encode($decryptedmessage); return $decryptedmessage; } // pass new messages back to chat.js if( count($newmessages) == 1 ) { echo $newmessages[0]; } else { for( $i=0; $i