Added pagination to update manager messages

This commit is contained in:
fermin831 2016-05-26 16:52:47 +02:00
parent 7a4366e8f5
commit 67607cf78c
3 changed files with 112 additions and 86 deletions

View File

@ -75,14 +75,10 @@ config_check();
//UM messages //UM messages
if (is_user_admin ($config['id_user'])) { if (is_user_admin ($config['id_user'])) {
include_once ("include/functions_update_manager.php"); include_once ("include/functions_update_manager.php");
$sql = 'SELECT COUNT(*) FROM tupdate WHERE data_rollback LIKE \'%"' . $config['id_user'] . '":1%\''; $number_unread_messages = update_manager_get_unread_messages ();
$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;
if ($number_unread_messages > 0) { if ($number_unread_messages > 0) {
$um_messages = html_print_image("images/header_email.png", true, $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'] = '<a href="index.php?sec=gsetup&amp;sec2=godmode/update_manager/update_manager&amp;tab=messages">' . $um_messages . "</a>"; $table->data[0]['um'] = '<a href="index.php?sec=gsetup&amp;sec2=godmode/update_manager/update_manager&amp;tab=messages">' . $um_messages . "</a>";
} }
} }

View File

@ -66,14 +66,20 @@ if ($delete_action !== false) {
} }
$offset = (int) get_parameter ('offset', 0);
$total_messages = update_manager_get_total_messages ();
if ($total_messages){
// Get all messages // Get all messages
$sql = 'SELECT data, svn_version, filename, data_rollback, description FROM tupdate'; $sql = 'SELECT data, svn_version, filename, data_rollback, description FROM tupdate LIMIT ' . $offset . ',' . $config['block_size'];
$um_messages = array (); $um_messages = array ();
$um_messages = db_get_all_rows_sql ($sql); $um_messages = db_get_all_rows_sql ($sql);
echo '<form method="post" action="index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=setup">'; echo '<form method="post" action="index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=setup">';
html_print_input_hidden ('tab', 'messages'); html_print_input_hidden ('tab', 'messages');
html_print_input_hidden ('offset', $offset);
echo '<div class="action-buttons" style="float:right; padding: 10px 5px">'; echo '<div class="action-buttons" style="float:right; padding: 10px 5px">';
html_print_submit_button (__('Delete'), 'delete_button', false, html_print_submit_button (__('Delete'), 'delete_button', false,
'class="sub upd"'); 'class="sub upd"');
@ -84,6 +90,10 @@ html_print_submit_button (__('Mark as not read'), 'not_read_button', false,
'class="sub upd"'); 'class="sub upd"');
echo '</div>'; echo '</div>';
if ($total_messages > $config['block_size']) {
ui_pagination (update_manager_get_total_messages (), false, 0);
}
$table = new stdClass(); $table = new stdClass();
$table->width = '100%'; $table->width = '100%';
$table->class = 'databox data'; $table->class = 'databox data';
@ -154,6 +164,9 @@ html_print_submit_button (__('Mark as not read'), 'not_read_button', false,
'class="sub upd"'); 'class="sub upd"');
echo '</div>'; echo '</div>';
echo '</form>'; echo '</form>';
} else {
ui_print_info_message ( array ( 'no_close' => true, 'message' => __('There is not any update manager messages.') ) );
}
?> ?>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -550,4 +550,21 @@ function update_manger_get_read_message ($message_id, $rollback = false) {
} }
return false; return false;
} }
function update_manager_get_total_messages () {
global $config;
$sql = 'SELECT COUNT(*) FROM tupdate';
return (int) db_get_sql ($sql);
}
function update_manager_get_unread_messages () {
global $config;
$total = update_manager_get_total_messages ();
$sql = 'SELECT COUNT(*) FROM tupdate WHERE data_rollback LIKE \'%"' . $config['id_user'] . '":1%\'';
$read = (int) db_get_sql ($sql);
return $total - $read;
}
?> ?>