function wpmudev_chat_form_section_logs($form_section = 'page')
{
    global $wpmudev_chat, $wp_roles;
    //echo "log_display_role=[". $wpmudev_chat->get_option('log_display_role', $form_section) ."]<br />";
    ?>

	<fieldset>
		<legend><?php 
    _e("Logs", $wpmudev_chat->translation_domain);
    ?>
</legend>

		<table border="0" cellpadding="4" cellspacing="0">
			<tr>
				<td class="chat-label-column">
					<label for="chat_log_creation"><?php 
    _e("Log Creation", $wpmudev_chat->translation_domain);
    ?>
</label>
				</td>
				<td class="chat-value-column">
					<select id="chat_log_creation" name="chat[log_creation]">
						<option value="enabled" <?php 
    print $wpmudev_chat->get_option('log_creation', $form_section) == 'enabled' ? 'selected="selected"' : '';
    ?>
><?php 
    _e("Enabled", $wpmudev_chat->translation_domain);
    ?>
</option>
						<option value="disabled" <?php 
    print $wpmudev_chat->get_option('log_creation', $form_section) == 'disabled' ? 'selected="selected"' : '';
    ?>
><?php 
    _e("Disabled", $wpmudev_chat->translation_domain);
    ?>
</option>
					</select>
				</td>
				<td class="chat-help-column"><?php 
    echo wpmudev_chat_get_help_item('log_creation', 'tip');
    ?>
</td>
			</tr>
			<?php 
    if ($form_section != "widget" && $form_section != 'dashboard') {
        ?>

				<tr>
					<td class="chat-label-column">
						<label for="chat_log_display"><?php 
        _e("Log Display", $wpmudev_chat->translation_domain);
        ?>
</label>
					</td>
					<td class="chat-value-column">
						<select id="chat_log_display" name="chat[log_display]">
							<option value="disabled" <?php 
        print $wpmudev_chat->get_option('log_display', $form_section) == 'disabled' ? 'selected="selected"' : '';
        ?>
><?php 
        _e("Disabled", $wpmudev_chat->translation_domain);
        ?>
</option>
							<optgroup label="<?php 
        _e('Link to listing page.', $wpmudev_chat->translation_domain);
        ?>
">
								<option value="enabled-list-above" <?php 
        print $wpmudev_chat->get_option('log_display', $form_section) == 'enabled-list-above' ? 'selected="selected"' : '';
        ?>
><?php 
        _e("Enabled - Listing above chat", $wpmudev_chat->translation_domain);
        ?>
</option>
								<option value="enabled-list-below" <?php 
        print $wpmudev_chat->get_option('log_display', $form_section) == 'enabled-list-below' ? 'selected="selected"' : '';
        ?>
><?php 
        _e("Enabled - Listing below chat", $wpmudev_chat->translation_domain);
        ?>
</option>
							</optgroup>
							<optgroup label="<?php 
        _e('Links shown on chat page', $wpmudev_chat->translation_domain);
        ?>
">
								<option value="enabled-link-above" <?php 
        print $wpmudev_chat->get_option('log_display', $form_section) == 'enabled-link-above' ? 'selected="selected"' : '';
        ?>
><?php 
        _e("Enabled - Link above chat", $wpmudev_chat->translation_domain);
        ?>
</option>
								<option value="enabled-link-below" <?php 
        print $wpmudev_chat->get_option('log_display', $form_section) == 'enabled-link-below' ? 'selected="selected"' : '';
        ?>
><?php 
        _e("Enabled - Link below chat", $wpmudev_chat->translation_domain);
        ?>
</option>
							</optgroup>

							<?php 
        /* ?>						<option value="enabled-settings-menu" <?php print ($wpmudev_chat->get_option('log_display', $form_section) == 'enabled-settings-menu') ? 'selected="selected"':''; ?>><?php _e("Enabled - Settings menu", $wpmudev_chat->translation_domain); ?></option>
        <?php */
        ?>

						</select>
					</td>
					<td class="chat-help-column"><?php 
        echo wpmudev_chat_get_help_item('log_display', 'tip');
        ?>
</td>
				</tr>
				<tr>
					<td class="chat-label-column">
						<label for="chat_log_display_label"><?php 
        _e("Log Display Label", $wpmudev_chat->translation_domain);
        ?>
</label>
					</td>
					<td class="chat-value-column">
						<input type="text" id="chat_log_display_label" name="chat[log_display_label]"
							value="<?php 
        print $wpmudev_chat->get_option('log_display_label', $form_section);
        ?>
"/>
					</td>
					<td class="chat-help-column"><?php 
        echo wpmudev_chat_get_help_item('log_display_label', 'tip');
        ?>
</td>
				</tr>
				<tr>
					<td class="chat-label-column">
						<label for="chat_log_display_limit"><?php 
        _e("Number of Archive Entries to Show in Listing", $wpmudev_chat->translation_domain);
        ?>
</label>
					</td>
					<td class="chat-value-column">
						<input type="text" id="chat_log_display_limit" name="chat[log_display_limit]"
							value="<?php 
        print $wpmudev_chat->get_option('log_display_limit', $form_section);
        ?>
"/>
					</td>
					<td class="chat-help-column"><?php 
        echo wpmudev_chat_get_help_item('log_display_limit', 'tip');
        ?>
</td>
				</tr>
				<tr>
					<td class="chat-label-column">
						<label for="chat_log_display_hide_session"><?php 
        _e("When Viewing Archive Details. Show/Hide Main Chat?", $wpmudev_chat->translation_domain);
        ?>
</label>
					</td>
					<td class="chat-value-column">
						<select id="chat_log_display_hide_session" name="chat[log_display_hide_session]">
							<option value="show" <?php 
        print $wpmudev_chat->get_option('log_display_hide_session', $form_section) == 'show' ? 'selected="selected"' : '';
        ?>
><?php 
        _e("Show", $wpmudev_chat->translation_domain);
        ?>
</option>
							<option value="hide" <?php 
        print $wpmudev_chat->get_option('log_display_hide_session', $form_section) == 'hide' ? 'selected="selected"' : '';
        ?>
><?php 
        _e("Hide", $wpmudev_chat->translation_domain);
        ?>
</option>
						</select>
					</td>
					<td class="chat-help-column"><?php 
        echo wpmudev_chat_get_help_item('log_display_hide_session', 'tip');
        ?>
</td>
				</tr>

				<?php 
        $log_display_levels = array();
        if ($form_section == "bp-group") {
            $log_display_levels['group_members'] = __("Group Members", $wpmudev_chat->translation_domain);
            $log_display_levels['group_mods'] = __("Group Mods and Admins", $wpmudev_chat->translation_domain);
            $log_display_levels['group_admins'] = __("Group Admins Only", $wpmudev_chat->translation_domain);
            //echo "log_display_levels<pre>"; print_r($log_display_levels); echo "</pre>";
            //echo "selected_role_level [". $wpmudev_chat->get_option('log_display_role_level', $form_section) ."]<br />";
            if (count($log_display_levels)) {
                ?>

						<tr>
							<td class="chat-label-column">
								<label for="chat_log_display_role_level"><?php 
                _e("Limit Display by Group Member Level", $wpmudev_chat->translation_domain);
                ?>
</label></td>
							<td class="chat-value-column">
								<select id="chat_log_display_role_level" name="chat[log_display_role_level]">
									<?php 
                foreach ($log_display_levels as $role_level_key => $role_level_display) {
                    $selected = '';
                    if ($role_level_key == $wpmudev_chat->get_option('log_display_role_level', $form_section)) {
                        $selected = ' selected="selected" ';
                    }
                    ?>

										<option <?php 
                    echo $selected;
                    ?>
 value="<?php 
                    echo $role_level_key;
                    ?>
"><?php 
                    echo $role_level_display;
                    ?>
</option><?php 
                }
                ?>

								</select>
							</td>
							<td class="chat-help-column"><?php 
                echo wpmudev_chat_get_help_item('log_display_bp_level', 'tip');
                ?>
</td>
						</tr>
					<?php 
            }
        } else {
            if (count($wp_roles)) {
                foreach ($wp_roles->roles as $role_slug => $role) {
                    $role_level = wpmudev_chat_get_user_role_highest_level($role['capabilities']);
                    if (!isset($log_display_levels['level_' . $role_level])) {
                        $log_display_levels['level_' . $role_level] = "Level " . $role_level . ": " . $role['name'];
                    } else {
                        $log_display_levels['level_' . $role_level] .= ", " . $role['name'];
                    }
                }
            }
            ksort($log_display_levels, SORT_NUMERIC);
            krsort($log_display_levels, SORT_NUMERIC);
            //echo "log_display_levels<pre>"; print_r($log_display_levels); echo "</pre>";
            //echo "selected_role_level [". $wpmudev_chat->get_option('log_display_role_level', $form_section) ."]<br />";
            if (count($log_display_levels)) {
                ?>

						<tr>
							<td class="chat-label-column">
								<label for="chat_log_display_role_level"><?php 
                _e("Limit Display by User Role Level", $wpmudev_chat->translation_domain);
                ?>
</label></td>
							<td class="chat-value-column">
								<select id="chat_log_display_role_level" name="chat[log_display_role_level]">
									<optgroup label="<?php 
                _e('WordPress User Role Levels', $wpmudev_chat->translation_domain);
                ?>
">
										<?php 
                foreach ($log_display_levels as $role_level_key => $role_level_display) {
                    $selected = '';
                    if ($role_level_key == $wpmudev_chat->get_option('log_display_role_level', $form_section)) {
                        $selected = ' selected="selected" ';
                    }
                    ?>

											<option <?php 
                    echo $selected;
                    ?>
 value="<?php 
                    echo $role_level_key;
                    ?>
"><?php 
                    echo $role_level_display;
                    ?>
</option><?php 
                }
                ?>

									</optgroup>
									<option value="public" <?php 
                print $wpmudev_chat->get_option('log_display_role_level', $form_section) == 'public' ? 'selected="selected"' : '';
                ?>
><?php 
                _e("Public, Facebook, Twitter, Google+", $wpmudev_chat->translation_domain);
                ?>
</option>
								</select>
							</td>
							<td class="chat-help-column"><?php 
                echo wpmudev_chat_get_help_item('log_display_role_level', 'tip');
                ?>
</td>
						</tr>
					<?php 
            }
        }
    }
    ?>

		</table>
	</fieldset>
<?php 
}
 /**
  * Displays the chat logs archive listing below the chat box.
  *
  * @global    none
  *
  * @param    $chat_session - This is out master settings instance.
  *
  * @return    $content - The output of the archives table. Will be echoed at some other point.
  */
 function chat_logs_container($chat_session)
 {
     global $bp;
     $content = '';
     $return_link = '';
     if ($chat_session['session_type'] != "page" && $chat_session['session_type'] != "bp-group") {
         return $content;
     }
     if ($this->using_popup_out_template == true) {
         return $content;
     }
     if (!isset($chat_session['log_display_role_level'])) {
         $chat_session['log_display_role_level'] = "public";
     }
     // if the log_display_role is NOT public then we need to check the current user' srole to see if they are allowed
     if ($chat_session['log_display_role_level'] != 'public' && !is_super_admin()) {
         global $current_user;
         if (isset($bp->groups->current_group->id) && intval($bp->groups->current_group->id)) {
             if ($chat_session['log_display_role_level'] == 'group_admins') {
                 if (!groups_is_user_admin(bp_loggedin_user_id(), $bp->groups->current_group->id)) {
                     return $content;
                 }
             } else {
                 if ($chat_session['log_display_role_level'] == 'group_mods') {
                     if (!groups_is_user_mod(bp_loggedin_user_id(), $bp->groups->current_group->id)) {
                         return $content;
                     }
                 } else {
                     if ($chat_session['log_display_role_level'] == 'group_members') {
                         if (!isset($bp->groups->current_group->user_has_access) || $bp->groups->current_group->user_has_access != 1) {
                             return $content;
                         }
                     } else {
                         return $content;
                     }
                 }
             }
         } else {
             $current_user_role_level = wpmudev_chat_get_user_role_highest_level($current_user->allcaps);
             if (!$current_user_role_level) {
                 $current_user_role_level = 0;
             }
             $log_user_role_level = intval(str_replace('level_', '', $chat_session['log_display_role_level']));
             if (!$log_user_role_level) {
                 $log_user_role_level = 0;
             }
             // If the current user level is less than our limit return the empty content.
             if ($log_user_role_level > $current_user_role_level || $log_user_role_level == 0) {
                 return $content;
             }
         }
     }
     $date_content = '';
     $chat_session_dates = $this->get_archives($chat_session);
     if ($chat_session_dates && is_array($chat_session_dates)) {
         krsort($chat_session_dates);
         foreach ($chat_session_dates as $chat_session_date) {
             $query_args = array('chat-log-id' => $chat_session_date->id);
             $archive_href = esc_url(add_query_arg($query_args));
             $date_str = date_i18n(get_option('date_format') . ' ' . get_option('time_format'), strtotime($chat_session_date->start) + get_option('gmt_offset') * 3600, false) . ' - ' . date_i18n(get_option('date_format') . ' ' . get_option('time_format'), strtotime($chat_session_date->end) + get_option('gmt_offset') * 3600, false);
             if (isset($_GET['chat-log-id']) && $_GET['chat-log-id'] == $chat_session_date->id) {
                 $date_content .= '<li>' . $date_str . ' <a href="' . esc_url(remove_query_arg('chat-log-id')) . '">' . __('close', $this->translation_domain) . "</a>";
                 if (isset($_GET['chat-log-id']) && $_GET['chat-log-id'] == $chat_session_date->id) {
                     $chat_session_log = $chat_session;
                     $chat_session_log['session_type'] = "log";
                     $chat_session['since'] = strtotime($chat_session_date->start);
                     $chat_session['end'] = strtotime($chat_session_date->end);
                     $chat_session['log_limit'] = 0;
                     $chat_session['orderby'] = 'ASC';
                     $chat_session['archived'] = array('yes');
                     $chat_log_rows = $this->chat_session_get_messages($chat_session);
                     if ($chat_log_rows && is_array($chat_log_rows) && count($chat_log_rows)) {
                         $chat_rows_content = '';
                         foreach ($chat_log_rows as $row) {
                             $chat_rows_content .= $this->chat_session_build_row($row, $chat_session_log);
                         }
                         if (strlen($chat_rows_content)) {
                             $date_content .= '<div id="wpmudev-chat-box-archive" class="wpmudev-chat-box"><div class="wpmudev-chat-module-messages-list" >' . $chat_rows_content . '</div></div>';
                         }
                     }
                 }
             } else {
                 $date_content .= '<li><a class="chat-log-link" style="text-decoration: none;" href="' . $archive_href . '">' . $date_str . '</a>';
             }
             $date_content .= '</li>';
         }
     }
     if (empty($date_content)) {
         $date_content = "<p>" . __('No Chat logs found for this session', $this->translation_domain) . '</p>';
     } else {
         $date_content = "<ul>" . $date_content . "</ul>";
     }
     if ($chat_session['log_display'] == "enabled-list-above" || $chat_session['log_display'] == "enabled-list-below") {
         //if (isset($_GET['chat-log-id']))
         //	$return_link = ' <a href="'. remove_query_arg(array('chat-log-id')) .'">'. __('Return to Chat', $this->translation_domain) .'</a>';
         //else
         //	$return_link = '';
         //$content .= '<div id="wpmudev-chat-logs-wrap-'. $chat_session['id'].'" class="wpmudev-chat-logs-wrap"><p><strong>' .
         //	$chat_session['log_display_label'] . '</strong>'. $return_link .'</p>' . $date_content . '</div>';
         $content .= '<div id="wpmudev-chat-logs-wrap-' . $chat_session['id'] . '" class="wpmudev-chat-logs-wrap"><p><strong>' . $chat_session['log_display_label'] . '</strong></p>' . $date_content . '</div>';
         //$content .= $this->chat_session_box_styles($chat_session, 'archive');
     } else {
         if ($chat_session['log_display'] == "enabled-link-above" || $chat_session['log_display'] == "enabled-link-below") {
             if (isset($_GET['chat-show-logs'])) {
                 $return_link = '<a href="' . esc_url(remove_query_arg(array('chat-log-id', 'chat-show-logs'))) . '">' . __('Return to Chat', $this->translation_domain) . '</a>';
                 $content .= '<div id="wpmudev-chat-logs-wrap-' . $chat_session['id'] . '" class="wpmudev-chat-logs-wrap"><p>' . $return_link . '</p>' . $date_content . '</div>';
             } else {
                 $chat_link = ' <a href="' . esc_url(add_query_arg('chat-show-logs', '')) . '">' . $chat_session['log_display_label'] . '</a>';
                 $content .= '<div id="wpmudev-chat-logs-wrap-' . $chat_session['id'] . '" class="wpmudev-chat-logs-wrap"><p>' . $chat_link . '</p></div>';
             }
         }
     }
     return $content;
 }