示例#1
0
 static function LoadFromBeforeStartDate(DateTime $startDate, $count)
 {
     global $db, $parser, $mybb;
     $messages = array();
     $formattedStartDate = $startDate->format("'Y-m-d H:i:s'");
     $TABLE_PREFIX = TABLE_PREFIX;
     $query = $db->query("SELECT * FROM(\n                                SELECT m.`Id`, m.`SentAt`, m.`uid`, m.`Ip`, m.`Message`,\n                                    u.`username`, u.`usergroup`, u.`displaygroup`\n                                FROM {$TABLE_PREFIX}badgerchat_messages m\n                                INNER JOIN {$TABLE_PREFIX}users u ON u.uid = m.uid\n                                WHERE m.`SentAt` < {$formattedStartDate}\n                                ORDER BY m.`SentAt` DESC LIMIT {$count}\n                             ) messages\n                             ORDER BY SentAt ASC");
     $parser = new postParser();
     $parser_options = array('allow_mycode' => 1, 'allow_smilies' => 1, 'allow_imgcode' => 0, 'allow_html' => 0, "allow_videocode" => 0);
     //TODO: Get back more info on the user (name styling)
     while ($row = $db->fetch_array($query)) {
         $parsedMessage = $parser->parse_message($row['Message'], $parser_options);
         $displayName = UsernameFormatter::Format($row['uid'], $row['username'], $row['usergroup'], $row['displaygroup']);
         array_push($messages, new Message($row["Id"], $row["SentAt"], $displayName, $row["Ip"], $parsedMessage));
     }
     return $messages;
 }
示例#2
0
 static function PostMessage($user, $ip, $message)
 {
     global $db;
     if ($user == null) {
         return new MessagePosterResult(MessagePosterResultStatus::$Unauthorised, null);
     }
     // TODO: Checks for null and empty string?
     if (empty($message)) {
         return new MessagePosterResult(MessagePosterResultStatus::$NoMessage, null);
     }
     $escapedMessage = $db->escape_string($message);
     $parser = new postParser();
     $parser_options = array('allow_mycode' => 1, 'allow_smilies' => 1, 'allow_imgcode' => 0, 'allow_html' => 0, "allow_videocode" => 0);
     $now = date("Y-m-d H:i:s");
     // TODO: Strip HTML
     // TODO: Check for errors
     $addedId = $db->insert_query("badgerchat_messages", array("SentAt" => $now, "uid" => $user['uid'], "Ip" => $ip, "Message" => $escapedMessage));
     $formattedName = UsernameFormatter::Format($user['uid'], $user['username'], $user['usergroup'], $user['displaygroup']);
     $addedMessage = new Message($addedId, $now, $formattedName, $ip, $message);
     return new MessagePosterResult(MessagePosterResultStatus::$Success, $addedMessage);
 }