From 5740aa3be75f5ccb3bdc176a77eabca208e3f257 Mon Sep 17 00:00:00 2001 From: fermin831 Date: Thu, 26 May 2016 16:52:47 +0200 Subject: [PATCH] Added pagination to update manager messages --- pandora_console/general/header.php | 8 +- .../update_manager.messages.php | 173 ++++++++++-------- .../include/functions_update_manager.php | 17 ++ 3 files changed, 112 insertions(+), 86 deletions(-) diff --git a/pandora_console/general/header.php b/pandora_console/general/header.php index e1f24ea701..60cf5992ab 100644 --- a/pandora_console/general/header.php +++ b/pandora_console/general/header.php @@ -75,14 +75,10 @@ config_check(); //UM messages if (is_user_admin ($config['id_user'])) { include_once ("include/functions_update_manager.php"); - $sql = 'SELECT COUNT(*) FROM tupdate WHERE data_rollback LIKE \'%"' . $config['id_user'] . '":1%\''; - $number_read_messages = (int) db_get_sql ($sql); - $sql = 'SELECT COUNT(*) FROM tupdate'; - $number_total_messages = (int) db_get_sql ($sql); - $number_unread_messages = $number_total_messages - $number_read_messages; + $number_unread_messages = update_manager_get_unread_messages (); if ($number_unread_messages > 0) { $um_messages = html_print_image("images/header_email.png", true, - array("alt" => 'cross', "class" => 'bot', 'title' => __('UM messages').': ' . $number_unread_messages . '/' . $number_total_messages)); + array("alt" => 'cross', "class" => 'bot', 'title' => __('UM unread messages').': ' . $number_unread_messages)); $table->data[0]['um'] = '' . $um_messages . ""; } } diff --git a/pandora_console/godmode/update_manager/update_manager.messages.php b/pandora_console/godmode/update_manager/update_manager.messages.php index aef074e5ae..47e4f7755d 100644 --- a/pandora_console/godmode/update_manager/update_manager.messages.php +++ b/pandora_console/godmode/update_manager/update_manager.messages.php @@ -66,94 +66,107 @@ if ($delete_action !== false) { } -// Get all messages -$sql = 'SELECT data, svn_version, filename, data_rollback, description FROM tupdate'; -$um_messages = array (); -$um_messages = db_get_all_rows_sql ($sql); +$offset = (int) get_parameter ('offset', 0); -echo '
'; +$total_messages = update_manager_get_total_messages (); +if ($total_messages){ -html_print_input_hidden ('tab', 'messages'); -echo '
'; -html_print_submit_button (__('Delete'), 'delete_button', false, - 'class="sub upd"'); -echo '
'; + // Get all messages + $sql = 'SELECT data, svn_version, filename, data_rollback, description FROM tupdate LIMIT ' . $offset . ',' . $config['block_size']; + $um_messages = array (); + $um_messages = db_get_all_rows_sql ($sql); -echo '
'; -html_print_submit_button (__('Mark as not read'), 'not_read_button', false, - 'class="sub upd"'); -echo '
'; + echo ''; -$table = new stdClass(); - $table->width = '100%'; - $table->class = 'databox data'; - $table->cellpadding = 4; - $table->cellspacing = 4; - $table->head = array (); - $table->data = array (); - $table->align = array (); - $table->size = array (); - $table->id = 'um_messages_table'; - - $table->align[0] = "left"; - $table->align[1] = "left"; - $table->align[2] = "left"; - $table->align[3] = "left"; - $table->align[4] = "left"; - - $table->size[0] = "20px"; - $table->size[1] = "100px"; - $table->size[3] = "80px"; - $table->size[4] = "60px"; - - $table->head[0] = __('Message Id'); - $table->head[1] = __('Expiration date'); - $table->head[2] = __('Subject'); - $table->head[3] = html_print_checkbox_extended('all_selection[]', 0, false, false, '', '', true); + html_print_input_hidden ('tab', 'messages'); + html_print_input_hidden ('offset', $offset); + echo '
'; + html_print_submit_button (__('Delete'), 'delete_button', false, + 'class="sub upd"'); + echo '
'; - $i = 0; - foreach ($um_messages as $message) { - $data[0] = $message['svn_version']; - - $data[1] = $message['filename']; - - $data[2] = $message['description']; - - //~ $delete_link = 'index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=messages&delete_single=1&message_id=' . $message['svn_version']; - $data[3] = html_print_checkbox_extended('select_multiple[]', $message['svn_version'], false, false, '', 'class="check_selection"', true); - - - // Change row class if message is read or not by this user - if (update_manger_get_read_message ($message['svn_version'], $message['data_rollback'])) { - $table->rowclass[count($table->data)] = "um_read_message"; - - } else { - $table->rowclass[count($table->data)] = "um_not_read_message"; - - } - array_push ($table->data, $data); - - // Insert an empty row too. Here the message will be displayed - $empty[0] = ""; - $table->colspan[count($table->data)][0] = 4; - $table->cellclass[count($table->data)][0] = "um_message_" . $i; - $table->cellstyle[count($table->data)][0] = "display: none;"; - array_push ($table->data, $empty); - - $i++; + echo '
'; + html_print_submit_button (__('Mark as not read'), 'not_read_button', false, + 'class="sub upd"'); + echo '
'; + + if ($total_messages > $config['block_size']) { + ui_pagination (update_manager_get_total_messages (), false, 0); } -html_print_table($table); -echo '
'; -html_print_submit_button (__('Delete'), 'delete_button', false, - 'class="sub upd"'); -echo '
'; + $table = new stdClass(); + $table->width = '100%'; + $table->class = 'databox data'; + $table->cellpadding = 4; + $table->cellspacing = 4; + $table->head = array (); + $table->data = array (); + $table->align = array (); + $table->size = array (); + $table->id = 'um_messages_table'; + + $table->align[0] = "left"; + $table->align[1] = "left"; + $table->align[2] = "left"; + $table->align[3] = "left"; + $table->align[4] = "left"; + + $table->size[0] = "20px"; + $table->size[1] = "100px"; + $table->size[3] = "80px"; + $table->size[4] = "60px"; + + $table->head[0] = __('Message Id'); + $table->head[1] = __('Expiration date'); + $table->head[2] = __('Subject'); + $table->head[3] = html_print_checkbox_extended('all_selection[]', 0, false, false, '', '', true); -echo '
'; -html_print_submit_button (__('Mark as not read'), 'not_read_button', false, - 'class="sub upd"'); -echo '
'; -echo '
'; + $i = 0; + foreach ($um_messages as $message) { + $data[0] = $message['svn_version']; + + $data[1] = $message['filename']; + + $data[2] = $message['description']; + + //~ $delete_link = 'index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=messages&delete_single=1&message_id=' . $message['svn_version']; + $data[3] = html_print_checkbox_extended('select_multiple[]', $message['svn_version'], false, false, '', 'class="check_selection"', true); + + + // Change row class if message is read or not by this user + if (update_manger_get_read_message ($message['svn_version'], $message['data_rollback'])) { + $table->rowclass[count($table->data)] = "um_read_message"; + + } else { + $table->rowclass[count($table->data)] = "um_not_read_message"; + + } + array_push ($table->data, $data); + + // Insert an empty row too. Here the message will be displayed + $empty[0] = ""; + $table->colspan[count($table->data)][0] = 4; + $table->cellclass[count($table->data)][0] = "um_message_" . $i; + $table->cellstyle[count($table->data)][0] = "display: none;"; + array_push ($table->data, $empty); + + $i++; + } + html_print_table($table); + + echo '
'; + html_print_submit_button (__('Delete'), 'delete_button', false, + 'class="sub upd"'); + echo '
'; + + echo '
'; + html_print_submit_button (__('Mark as not read'), 'not_read_button', false, + 'class="sub upd"'); + echo '
'; + echo ''; +} else { + ui_print_info_message ( array ( 'no_close' => true, 'message' => __('There is not any update manager messages.') ) ); +} ?>