From 4c2aad4ca959d1806c1833a3d4dd141b5c9f50ba Mon Sep 17 00:00:00 2001 From: Vjacheslav Trushkin Date: Fri, 16 Aug 2013 19:20:55 +0300 Subject: [PATCH] [ticket/11795] Get rid of pagination JS variables Move pagination variables to data attributes Replace A_BASE_URL with BASE_URL and use TWIG to escape it PHPBB3-11795 --- phpBB/adm/style/overall_header.html | 2 +- phpBB/adm/style/simple_header.html | 2 +- phpBB/includes/functions.php | 3 +-- phpBB/styles/prosilver/template/forum_fn.js | 20 +++++++++++++++++-- .../prosilver/template/overall_header.html | 4 ---- .../styles/prosilver/template/pagination.html | 3 ++- .../prosilver/template/simple_header.html | 11 ---------- .../subsilver2/template/overall_header.html | 2 +- 8 files changed, 24 insertions(+), 23 deletions(-) diff --git a/phpBB/adm/style/overall_header.html b/phpBB/adm/style/overall_header.html index 8170931221..f76b4c14af 100644 --- a/phpBB/adm/style/overall_header.html +++ b/phpBB/adm/style/overall_header.html @@ -12,7 +12,7 @@ var jump_page = '{LA_JUMP_PAGE}{L_COLON}'; var on_page = '{ON_PAGE}'; var per_page = '{PER_PAGE}'; -var base_url = '{A_BASE_URL}'; +var base_url = '{{ BASE_URL|e('js') }}'; var menu_state = 'shown'; diff --git a/phpBB/adm/style/simple_header.html b/phpBB/adm/style/simple_header.html index 6e0c360600..00ad8f677f 100644 --- a/phpBB/adm/style/simple_header.html +++ b/phpBB/adm/style/simple_header.html @@ -12,7 +12,7 @@ var jump_page = '{LA_JUMP_PAGE}{L_COLON}'; var on_page = '{ON_PAGE}'; var per_page = '{PER_PAGE}'; -var base_url = '{A_BASE_URL}'; +var base_url = '{{ BASE_URL|e('js') }}'; /** * Window popup diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index bf973fe141..70e1cd31fd 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -2343,7 +2343,6 @@ function phpbb_generate_template_pagination($template, $base_url, $block_var_nam $template_array = array( $tpl_prefix . 'BASE_URL' => $base_url, - 'A_' . $tpl_prefix . 'BASE_URL' => addslashes($base_url), $tpl_prefix . 'PER_PAGE' => $per_page, 'U_' . $tpl_prefix . 'PREVIOUS_PAGE' => $previous_page, 'U_' . $tpl_prefix . 'NEXT_PAGE' => ($on_page != $total_pages) ? $base_url . $url_delim . $start_name . '=' . ($on_page * $per_page) : '', @@ -2383,7 +2382,7 @@ function phpbb_on_page($template, $user, $base_url, $num_items, $per_page, $star $template->assign_vars(array( 'PER_PAGE' => $per_page, 'ON_PAGE' => $on_page, - 'A_BASE_URL' => addslashes($base_url), + 'BASE_URL' => $base_url, )); return sprintf($user->lang['PAGE_OF'], $on_page, max(ceil($num_items / $per_page), 1)); diff --git a/phpBB/styles/prosilver/template/forum_fn.js b/phpBB/styles/prosilver/template/forum_fn.js index 59c4fd1d80..992479e45e 100644 --- a/phpBB/styles/prosilver/template/forum_fn.js +++ b/phpBB/styles/prosilver/template/forum_fn.js @@ -25,8 +25,19 @@ function popup(url, width, height, name) { /** * Jump to page */ -function jumpto() { - var page = prompt(jump_page, on_page); +function jumpto(item) { + if (!item || !item.length) { + item = $('a.pagination-trigger[data-lang-jump-page]'); + if (!item.length) { + return; + } + } + + var jump_page = item.attr('data-lang-jump-page'), + on_page = item.attr('data-on-page'), + per_page = item.attr('data-per-page'), + base_url = item.attr('data-base-url'), + page = prompt(jump_page, on_page); if (page !== null && !isNaN(page) && page == Math.floor(page) && page > 0) { if (base_url.indexOf('?') === -1) { @@ -307,6 +318,11 @@ jQuery(document).ready(apply_onkeypress_event); $(this.getAttribute('data-reset-on-edit')).val(''); }); + // Pagination + $('a.pagination-trigger').click(function() { + jumpto($(this)); + }); + // Adjust HTML code for IE8 and older versions var test = document.createElement('div'), oldBrowser = (typeof test.style.borderRadius == 'undefined'); diff --git a/phpBB/styles/prosilver/template/overall_header.html b/phpBB/styles/prosilver/template/overall_header.html index 0c15ec80c7..8342136da3 100644 --- a/phpBB/styles/prosilver/template/overall_header.html +++ b/phpBB/styles/prosilver/template/overall_header.html @@ -26,10 +26,6 @@ - diff --git a/phpBB/styles/subsilver2/template/overall_header.html b/phpBB/styles/subsilver2/template/overall_header.html index 02ff1be8d8..5702c62f06 100644 --- a/phpBB/styles/subsilver2/template/overall_header.html +++ b/phpBB/styles/subsilver2/template/overall_header.html @@ -41,7 +41,7 @@ function jumpto() { var page = prompt('{LA_JUMP_PAGE}{L_COLON}', '{ON_PAGE}'); var per_page = '{PER_PAGE}'; - var base_url = '{A_BASE_URL}'; + var base_url = '{{ BASE_URL|e('js') }}'; if (page !== null && !isNaN(page) && page == Math.floor(page) && page > 0) {