theme_chatroom_chat_archive

Definition

theme_chatroom_chat_archive($chat)
contributions/modules/chatroom/chatroom.module, line 1496

Description

Get HTML for chat archive page.

Related topics

Namesort iconDescription
Themeable functionsFunctions that display HTML, and which can be customized by themes.

Code

function theme_chatroom_chat_archive($chat) {
  $html = '';
  if (isset($chat->when_archived)) {
    $html = '<p>'. t('Archived on !date.', array('!date' => format_date($chat->when_archived, 'medium'))) .'</p>';
  }
  else {
    $html = '<p>'. l(t('Join !chat', array('!chat' => $chat->chatname)), "chatrooms/chat/$chat->ccid") .'</p>';
  }
  if ($msgs = chatroom_get_all_msgs($chat->ccid)) {
    $html .= '<div id="chatroom-container-archive"><table><tbody valign="top">';
    foreach ($msgs as $msg) {
      $name = $msg->name ? $msg->name : variable_get('chatroom_guest_user_prefix', t('guest-')) . $msg->guest_id;
      $html .= '<tr><td><span class="chatroom-archive-date">'. format_date($msg->modified, 'small') .'</span></td>';
      if ($msg->msg_type == 'me') {
        $html .= '<td><p class="chatroom-old-me-msg">';
        $html .= "* $name {$msg->msg}</p></td>";
      }
      else {
        $html .= '<td><p class="chatroom-old-msg">';
        if (empty($msg->recipient)) {
          if ($previous != $name) {
            $html .= '<span class="header">'."$name:</span>";
            $previous = $name;
          }
        }
        else {
          $html .= '<span class="header">'."$name ";
          $recipient = db_result(db_query("
            SELECT u.name FROM {chatroom_online_list} col
            LEFT JOIN {users} u ON u.uid = col.uid
            WHERE col.ccid = %d AND col.guest_id = %d
          ", $msg->ccid, $msg->guest_id));
          $recipient = empty($recipient) ? variable_get('chatroom_guest_user_prefix', t('guest-')) . $msg->recipient : $recipient;
          if ($msg->session_id == session_id() && $recipient != $name) {
            $html .= '<span class="chatroom-private">(privately to '. $recipient .')</span>:</span> ';
          }
          else {
            $html .= '<span class="chatroom-private">(privately)</span>:</span> ';
          }
        }
        $html .= "{$msg->msg}</p></td>";
      }
    }
    $html .= '</tbody></table></div>';
    $limit = chatroom_chat_old_msg_limit($chat->ccid);
    $html .= theme('pager', array(), $limit);
  }
  else {
    $html .= '<p>'. t('This chat contains no messages.') .'</p>';
  }
  return $html;
}