aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorVjacheslav Trushkin <cyberalien@gmail.com>2013-08-16 19:20:55 +0300
committerVjacheslav Trushkin <cyberalien@gmail.com>2013-09-14 10:10:43 +0300
commit4c2aad4ca959d1806c1833a3d4dd141b5c9f50ba (patch)
treedaf54b86e51f0b5e67c982a8406456ae25c4362e /phpBB
parent253890520d75190aa268c9ea6ce1dd757fb571ff (diff)
downloadforums-4c2aad4ca959d1806c1833a3d4dd141b5c9f50ba.tar
forums-4c2aad4ca959d1806c1833a3d4dd141b5c9f50ba.tar.gz
forums-4c2aad4ca959d1806c1833a3d4dd141b5c9f50ba.tar.bz2
forums-4c2aad4ca959d1806c1833a3d4dd141b5c9f50ba.tar.xz
forums-4c2aad4ca959d1806c1833a3d4dd141b5c9f50ba.zip
[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
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/adm/style/overall_header.html2
-rw-r--r--phpBB/adm/style/simple_header.html2
-rw-r--r--phpBB/includes/functions.php3
-rw-r--r--phpBB/styles/prosilver/template/forum_fn.js20
-rw-r--r--phpBB/styles/prosilver/template/overall_header.html4
-rw-r--r--phpBB/styles/prosilver/template/pagination.html3
-rw-r--r--phpBB/styles/prosilver/template/simple_header.html11
-rw-r--r--phpBB/styles/subsilver2/template/overall_header.html2
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 @@
<script type="text/javascript">
// <![CDATA[
- var jump_page = '{LA_JUMP_PAGE}{L_COLON}';
- var on_page = '{ON_PAGE}';
- var per_page = '{PER_PAGE}';
- var base_url = '{A_BASE_URL}';
<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
var url = '{UA_POPUP_PM}';
diff --git a/phpBB/styles/prosilver/template/pagination.html b/phpBB/styles/prosilver/template/pagination.html
index 1c8441a9fd..87c24f7ecb 100644
--- a/phpBB/styles/prosilver/template/pagination.html
+++ b/phpBB/styles/prosilver/template/pagination.html
@@ -1,5 +1,6 @@
+ {% set l_jump_page %}{L_JUMP_PAGE}{L_COLON}{% endset %}
- <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull;
+ <a href="#" class="pagination-trigger" title="{L_JUMP_TO_PAGE}" data-lang-jump-page="{{ l_jump_page|e('html_attr') }}" data-on-page="{ON_PAGE}" data-per-page="{PER_PAGE}" data-base-url="{{ BASE_URL|e('html_attr') }}">{{ PAGE_NUMBER }}</a> &bull;
<ul>
<!-- BEGIN pagination -->
<!-- IF pagination.S_IS_PREV -->
diff --git a/phpBB/styles/prosilver/template/simple_header.html b/phpBB/styles/prosilver/template/simple_header.html
index 9a8c77135e..08b212363e 100644
--- a/phpBB/styles/prosilver/template/simple_header.html
+++ b/phpBB/styles/prosilver/template/simple_header.html
@@ -7,17 +7,6 @@
{META}
<title>{SITENAME} &bull; <!-- IF S_IN_MCP -->{L_MCP} &bull; <!-- ELSEIF S_IN_UCP -->{L_UCP} &bull; <!-- ENDIF -->{PAGE_TITLE}</title>
-<script type="text/javascript">
-// <![CDATA[
-
- var jump_page = '{LA_JUMP_PAGE}{L_COLON}';
- var on_page = '{ON_PAGE}';
- var per_page = '{PER_PAGE}';
- var base_url = '{A_BASE_URL}';
-
-// ]]>
-</script>
-
<link href="{T_THEME_PATH}/print.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet" type="text/css" media="print" title="printonly" />
<link href="{T_STYLESHEET_LINK}" rel="stylesheet" type="text/css" media="screen, projection" />
<link href="{T_STYLESHEET_LANG_LINK}" rel="stylesheet" type="text/css" media="screen, projection" />
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)
{