public function display_inbox()
{
global $locale, $userdata;
$this->setInbox();
if ($_GET['folder'] == "options") {
$this->display_settings();
} else {
add_to_title($locale['global_201'] . $this->info['folders'][$_GET['folder']]['title']);
set_meta("description", $this->info['folders'][$_GET['folder']]['title']);
$query = array("outbox" => array($this->info['outbox_total'], "message_folder='1'"), "inbox" => array($this->info['inbox_total'], "message_folder='0'"), "archive" => array($this->info['archive_total'], "message_folder='2'"));
if ($query[$_GET['folder']][0] > 0) {
// Get messages
$result = dbquery("SELECT m.*,\n\t\t\tu.user_id, u.user_name, u.user_status, u.user_avatar,\n\t\t\tmax(m.message_id) as last_message\n\t\t\tFROM " . DB_MESSAGES . " m\n\t\t\tLEFT JOIN " . DB_USERS . " u ON (m.message_from=u.user_id)\n\t\t\tWHERE message_to='" . $userdata['user_id'] . "' and " . $query[$_GET['folder']][1] . "\n\t\t\tgroup by message_id\n\t\t\tORDER BY m.message_datestamp DESC\n\t\t\t");
$this->info['max_rows'] = dbrows($result);
if ($this->info['max_rows']) {
while ($data = dbarray($result)) {
$data['contact_user'] = array('user_id' => $data['user_id'], 'user_name' => $data['user_name'], 'user_status' => $data['user_status'], 'user_avatar' => $data['user_avatar']);
$data['message'] = array("link" => BASEDIR . "messages.php?folder=" . $_GET['folder'] . "&msg_read=" . $data['message_id'], "name" => $data['message_subject'], "message_header" => "<strong>" . $locale['462'] . ":</strong> " . $data['message_subject'], "message_text" => $data['message_smileys'] == "y" ? parseubb(parsesmileys($data['message_message'])) : parseubb($data['message_message']));
$this->info['items'][$data['message_id']] = $data;
}
// set read
if (isset($_GET['msg_read']) && isnum($_GET['msg_read']) && isset($this->info['items'][$_GET['msg_read']])) {
dbquery("UPDATE " . DB_MESSAGES . " SET message_read='1' WHERE message_id='" . intval($_GET['msg_read']) . "'");
}
} else {
$this->info['no_item'] = $locale['471'];
}
} else {
$this->info['no_item'] = $locale['471'];
}
// Message Actions
if (isset($_POST['archive_pm'])) {
$this->archive_pm();
} elseif (isset($_POST['unarchive_pm'])) {
$this->unarchive_pm();
} elseif (isset($_POST['delete_pm'])) {
$this->delete_pm();
} elseif (isset($_POST['mark'])) {
$this->mark_pm();
}
// Actions buttons - archive, delete, mark all read, mark all unread, mark as read, mark as unread
ob_start();
if (isset($_GET['msg_read'])) {
echo openform("actionform", "post", BASEDIR . "messages.php?folder=" . $_GET['folder'] . (isset($_GET['msg_read']) ? "&msg_read=" . $_GET['msg_read'] : ""), array("class" => "display-inline-block m-l-10"));
echo form_hidden("selectedPM", "", $_GET['msg_read']);
echo "<div class='btn-group display-inline-block m-r-10'>\n";
if ($_GET['folder'] == "archive") {
echo form_button("unarchive_pm", "", "archive_pm", array("icon" => "fa fa-unlock"));
} elseif ($_GET['folder'] == "inbox") {
echo form_button("archive_pm", "", "archive_pm", array("icon" => "fa fa-lock"));
}
echo form_button("delete_pm", "", "delete_pm", array("icon" => "fa fa-trash-o"));
echo "</div>\n";
echo closeform();
} else {
echo openform("actionform", "post", BASEDIR . "messages.php?folder=" . $_GET['folder'] . (isset($_GET['msg_read']) ? "&msg_read=" . $_GET['msg_read'] : ""));
?>
<!-- pm_idx -->
<div class="dropdown display-inline-block m-r-10">
<a href="#" data-toggle="dropdown" class="btn btn-default dropdown-toggle"><i id="chkv"
class="fa fa-square-o"></i>
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a id="check_all_pm" data-action="check" class="pointer"><?php
echo $locale['418'];
?>
</a>
</li>
<li><a id="check_unread_pm" data-action="check" class="pointer"><?php
echo $locale['415'];
?>
</a>
</li>
<li><a id="check_read_pm" data-action="check" class="pointer"><?php
echo $locale['414'];
?>
</a>
</li>
</ul>
</div>
<?php
echo form_hidden("selectedPM", "", "");
echo "<div class='btn-group display-inline-block m-r-10'>\n";
if ($_GET['folder'] == 'archive') {
echo form_button("unarchive_pm", "", "unarchive_pm", array("icon" => "fa fa-unlock"));
} else {
if ($_GET['folder'] !== 'outbox') {
echo form_button("archive_pm", "", "archive_pm", array("icon" => "fa fa-lock"));
}
}
echo form_button("delete_pm", "", "delete_pm", array("icon" => "fa fa-trash-o"));
echo "</div>\n";
?>
<div class="dropdown display-inline-block m-r-10">
<a href="#" data-toggle="dropdown"
class="btn btn-default dropdown-toggle"><?php
echo $locale['444'];
?>
… <span
class="caret"></span></a>
<ul class="dropdown-menu">
<li><?php
echo form_button("mark", $locale['493'], "mark_all", array("class" => "btn-link"));
?>
</li>
<li><?php
echo form_button("mark", $locale['494'], "mark_read", array("class" => "btn-link"));
?>
</li>
<li><?php
echo form_button("mark", $locale['495'], "mark_unread", array("class" => "btn-link"));
?>
</li>
<li><?php
echo form_button("mark", $locale['496'], "unmark_all", array("class" => "btn-link"));
?>
</li>
</ul>
</div>
<?php
echo closeform();
add_to_jquery("\n\t\t\tfunction checkedCheckbox() {\n\t\t\t\tvar checkList = '';\n\t\t\t\t\$('input[type=checkbox]').each(function() {\n\t\t\t\t\tif (this.checked) {\n\t\t\t\t\t\tcheckList += \$(this).val()+',';\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn checkList;\n\t\t\t}\n\t\t\t\$('#check_all_pm').bind('click', function() {\n\t\t\t\tvar unread_checkbox = \$('#unread_tbl tr').find(':checkbox');\n\t\t\t\tvar read_checkbox = \$('#read_tbl tr').find(':checkbox');\n\t\t\t\tvar action = \$(this).data('action');\n\t\t\t\tif (action == 'check') {\n\t\t\t\t\tunread_checkbox.prop('checked', true);\n\t\t\t\t\tread_checkbox.prop('checked', true);\n\t\t\t\t\t\$('#unread_tbl tr').addClass('warning');\n\t\t\t\t\t\$('#read_tbl tr').addClass('warning');\n\t\t\t\t\t\$('#chkv').removeClass('fa fa-square-o').addClass('fa fa-minus-square-o');\n\t\t\t\t\t\$(this).data('action', 'uncheck');\n\t\t\t\t\t\$('#selectedPM').val(checkedCheckbox());\n\t\t\t\t} else {\n\t\t\t\t\tunread_checkbox.prop('checked', false);\n\t\t\t\t\tread_checkbox.prop('checked', false);\n\t\t\t\t\t\$('#unread_tbl tr').removeClass('warning');\n\t\t\t\t\t\$('#read_tbl tr').removeClass('warning');\n\t\t\t\t\t\$('#chkv').removeClass('fa fa-minus-square-o').addClass('fa fa-square-o');\n\t\t\t\t\t\$(this).data('action', 'check');\n\t\t\t\t\t\$('#selectedPM').val(checkedCheckbox());\n\t\t\t\t}\n\t\t\t});\n\t\t\t\$('#check_read_pm').bind('click', function() {\n\t\t\t\tvar read_checkbox = \$('#read_tbl tr').find(':checkbox');\n\t\t\t\tvar action = \$(this).data('action');\n\t\t\t\tif (action == 'check') {\n\t\t\t\t\tread_checkbox.prop('checked', true);\n\t\t\t\t\t\$('#read_tbl tr').addClass('warning');\n\t\t\t\t\t\$('#chkv').removeClass('fa fa-square-o').addClass('fa fa-minus-square-o');\n\t\t\t\t\t\$(this).data('action', 'uncheck');\n\t\t\t\t\t\$('#selectedPM').val(checkedCheckbox());\n\t\t\t\t} else {\n\t\t\t\t\tread_checkbox.prop('checked', false);\n\t\t\t\t\t\$('#read_tbl tr').removeClass('warning');\n\t\t\t\t\t\$('#chkv').removeClass('fa fa-minus-square-o').addClass('fa fa-square-o');\n\t\t\t\t\t\$(this).data('action', 'check');\n\t\t\t\t\t\$('#selectedPM').val(checkedCheckbox());\n\t\t\t\t}\n\t\t\t});\n\t\t\t\$('#check_unread_pm').bind('click', function() {\n\t\t\t\tvar unread_checkbox = \$('#unread_tbl tr').find(':checkbox');\n\t\t\t\tvar action = \$(this).data('action');\n\t\t\t\tif (action == 'check') {\n\t\t\t\t\tunread_checkbox.prop('checked', true);\n\t\t\t\t\t\$('#unread_tbl tr').addClass('warning');\n\t\t\t\t\t\$('#chkv').removeClass('fa fa-square-o').addClass('fa fa-minus-square-o');\n\t\t\t\t\t\$(this).data('action', 'uncheck');\n\t\t\t\t\t\$('#selectedPM').val(checkedCheckbox());\n\t\t\t\t} else {\n\t\t\t\t\tunread_checkbox.prop('checked', false);\n\t\t\t\t\t\$('#unread_tbl tr').removeClass('warning');\n\t\t\t\t\t\$('#chkv').removeClass('fa fa-minus-square-o').addClass('fa fa-square-o');\n\t\t\t\t\t\$(this).data('action', 'check');\n\t\t\t\t\t\$('#selectedPM').val(checkedCheckbox());\n\t\t\t\t}\n\t\t\t});\n\t\t\t");
add_to_jquery("\n\t\t\t\$('input[type=checkbox]').bind('click', function() {\n\t\t\t\tvar checkList = \$('#selectedPM').val();\n\t\t\t\tif (\$(this).is(':checked')) {\n\t\t\t\t\$(this).parents('tr').addClass('warning');\n\t\t\t\t\tcheckList += \$(this).val()+',';\n\t\t\t\t} else {\n\t\t\t\t\t\$(this).parents('tr').removeClass('warning');\n\t\t\t\t\tcheckList = checkList.replace(\$(this).val()+',', '');\n\t\t\t\t}\n\t\t\t\t\$('#selectedPM').val(checkList);\n\t\t\t});\n\t\t\t");
}
$this->info['actions_form'] = ob_get_contents();
ob_end_clean();
// The mail forms
if (isset($_GET['msg_read']) || isset($_GET['msg_send'])) {
if (isset($_POST['send_pm']) || isset($_POST['send_message'])) {
$this->send_message();
}
if (isset($_GET['msg_read'])) {
$this->pm_form();
} elseif (isset($_GET['msg_send'])) {
$this->pm_mainForm();
}
}
}
}