PHPFusion\PrivateMessages::display_inbox PHP Метод

display_inbox() публичный Метод

public display_inbox ( )
    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'] . "&amp;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']) ? "&amp;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']) ? "&amp;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'];
                ?>
&hellip; <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();
                }
            }
        }
    }