Skip to content

Commit c37fa46

Browse files
author
scribu
committed
introduce _wp_pagenavi_single()
git-svn-id: http://plugins.svn.wordpress.org/wp-pagenavi/trunk@227625 b8457f37-d9ea-0310-8a92-e5e31aec5664
1 parent da9bd51 commit c37fa46

File tree

5 files changed

+50
-47
lines changed

5 files changed

+50
-47
lines changed

pagenavi-css.css

+4-1
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,8 @@ http://wordpress.org/extend/plugins/wp-pagenavi/
1717

1818
.wp-pagenavi a:hover, .wp-pagenavi span.current {
1919
border-color: #000;
20-
color: #000;
20+
}
21+
22+
.wp-pagenavi span.current {
23+
font-weight: bold;
2124
}

readme.txt

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
=== WP-PageNavi ===
22
Contributors: GamerZ, scribu
33
Donate link: http://lesterchan.net/wordpress
4-
Tags: pagenavi, navi, navigation, wp-pagenavi, page
4+
Tags: navigation, pagination, paging, pages
55
Requires at least: 2.8
6-
Tested up to: 2.9.1
6+
Tested up to: 3.0
77
Stable tag: 2.61
88

99
Adds a more advanced paging navigation to your WordPress site.
@@ -12,11 +12,6 @@ Adds a more advanced paging navigation to your WordPress site.
1212

1313
Adds a more advanced paging navigation to your WordPress site.
1414

15-
Example:
16-
17-
Pages (17): [1] 2 3 4 » ... Last »
18-
19-
2015
<br>
2116
[Demo](http://lesterchan.net/wordpress/) | [Translations](http://dev.wp-plugins.org/browser/wp-pagenavi/i18n/)
2217

@@ -67,6 +62,7 @@ Read [The Right Way To Use query_posts()](http://scribu.net/wordpress/right-way-
6762
* better default CSS
6863
* fixed issue with slashed quotes in settings
6964
* let WordPress handle uninstallation
65+
* [more info](http://scribu.net/wordpress/wp-pagenavi/wpn-2-70.html)
7066

7167
= 2.61 (2010-02-07) =
7268
* fixed: memory limit error

scb/AdminPage.php

+4-3
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ function form_handler() {
140140

141141
check_admin_referer($this->nonce);
142142

143-
foreach ( $this->formdata as $name => $value )
144-
$new_data[$name] = @$_POST[$name];
143+
$new_data = scbUtil::array_extract($_POST, array_keys($this->formdata));
144+
$new_data = stripslashes_deep($new_data);
145145

146146
$this->formdata = $this->validate($new_data, $this->formdata);
147147

@@ -415,7 +415,8 @@ function _page_content_hook() {
415415

416416
function _action_link($links) {
417417
$url = add_query_arg('page', $this->args['page_slug'], admin_url($this->args['parent']));
418-
$links[] = "<a href='$url'>" . $this->args['action_link'] . "</a>";
418+
419+
$links[] = html_link($url, $this->args['action_link']);
419420

420421
return $links;
421422
}

scb/Forms.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class scbForms {
1717
1818
$formdata = associative array with the formdata with which to fill the elements
1919
*/
20-
20+
2121
protected static $args;
2222
protected static $formdata = array();
2323

@@ -315,7 +315,7 @@ private static function _input_gen($args) {
315315

316316
$extra = self::validate_extra($extra, $name);
317317

318-
$value = esc_attr(stripslashes($value));
318+
$value = esc_attr($value);
319319

320320
$input = "<input name='{$name}' value='{$value}' type='{$type}'{$extra} /> ";
321321

@@ -386,7 +386,7 @@ private static function _textarea() {
386386
)), EXTR_SKIP);
387387

388388
if ( !$escaped )
389-
$value = esc_html(stripslashes($value));
389+
$value = esc_html($value);
390390

391391
$extra = self::validate_extra($extra, $name);
392392

wp-pagenavi.php

+36-33
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
function wp_pagenavi($before = '', $after = '') {
3030
global $wp_query;
3131

32-
$pagenavi_options = PageNavi_Core::$options->get();
32+
$options = PageNavi_Core::$options->get();
3333

3434
$posts_per_page = intval(get_query_var('posts_per_page'));
3535
$paged = intval(get_query_var('paged'));
@@ -38,15 +38,15 @@ function wp_pagenavi($before = '', $after = '') {
3838
$numposts = $wp_query->found_posts;
3939
$max_page = $wp_query->max_num_pages;
4040

41-
if ( $max_page <= 1 && !intval($pagenavi_options['always_show']) )
41+
if ( $max_page <= 1 && !intval($options['always_show']) )
4242
return;
4343

4444
if ( empty($paged) )
4545
$paged = 1;
4646

47-
$pages_to_show = intval($pagenavi_options['num_pages']);
48-
$larger_page_to_show = intval($pagenavi_options['num_larger_page_numbers']);
49-
$larger_page_multiple = intval($pagenavi_options['larger_page_numbers_multiple']);
47+
$pages_to_show = intval($options['num_pages']);
48+
$larger_page_to_show = intval($options['num_larger_page_numbers']);
49+
$larger_page_multiple = intval($options['larger_page_numbers_multiple']);
5050
$pages_to_show_minus_1 = $pages_to_show - 1;
5151
$half_page_start = floor($pages_to_show_minus_1/2);
5252
$half_page_end = ceil($pages_to_show_minus_1/2);
@@ -68,23 +68,23 @@ function wp_pagenavi($before = '', $after = '') {
6868
if ( $start_page <= 0 )
6969
$start_page = 1;
7070

71-
$pages_text = str_replace("%CURRENT_PAGE%", number_format_i18n($paged), $pagenavi_options['pages_text']);
72-
$pages_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pages_text);
73-
74-
$out = '';
75-
$out .= $before.'<div class="wp-pagenavi">'."\n";
76-
switch ( intval($pagenavi_options['style']) ) {
71+
$out = "$before<div class='wp-pagenavi'>\n";
72+
switch ( intval($options['style']) ) {
7773
// Normal
7874
case 1:
79-
if ( !empty($pages_text) )
80-
$out .= '<span class="pages">'.$pages_text.'</span>';
75+
if ( !empty($options['pages_text']) ) {
76+
$pages_text = str_replace(
77+
array("%CURRENT_PAGE%", "%TOTAL_PAGES%"),
78+
array(number_format_i18n($paged), number_format_i18n($max_page)),
79+
$options['pages_text']);
80+
$out .= "<span class='pages'>$pages_text</span>";
81+
}
8182

8283
if ( $start_page >= 2 && $pages_to_show < $max_page ) {
83-
$first_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['first_text']);
84-
$out .= '<a href="'.esc_url(get_pagenum_link()).'" class="first">'.$first_page_text.'</a>';
84+
$out .= _wp_pagenavi_single(1, 'first', $options['first_text'], '%TOTAL_PAGES%');
8585

86-
if ( !empty($pagenavi_options['dotleft_text']) )
87-
$out .= '<span class="extend">'.$pagenavi_options['dotleft_text'].'</span>';
86+
if ( !empty($options['dotleft_text']) )
87+
$out .= "<span class='extend left'>{$options['dotleft_text']}</span>";
8888
}
8989

9090
$larger_pages_array = array();
@@ -95,39 +95,36 @@ function wp_pagenavi($before = '', $after = '') {
9595
$larger_page_start = 0;
9696
foreach ( $larger_pages_array as $larger_page ) {
9797
if ( $larger_page < $start_page && $larger_page_start < $larger_page_to_show ) {
98-
$page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($larger_page), $pagenavi_options['page_text']);
99-
$out .= '<a href="'.esc_url(get_pagenum_link($larger_page)).'" class="page">'.$page_text.'</a>';
98+
$out .= _wp_pagenavi_single($larger_page, 'smaller page', $options['page_text']);
10099
$larger_page_start++;
101100
}
102101
}
103-
$out .= get_previous_posts_link($pagenavi_options['prev_text']);
102+
103+
$out .= get_previous_posts_link($options['prev_text']);
104104

105105
for ( $i = $start_page; $i <= $end_page; $i++) {
106106
if ( $i == $paged ) {
107-
$current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['current_text']);
108-
$out .= '<span class="current">'.$current_page_text.'</span>';
107+
$current_page_text = str_replace('%PAGE_NUMBER%', number_format_i18n($i), $options['current_text']);
108+
$out .= "<span class='current'>$current_page_text</span>";
109109
} else {
110-
$page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
111-
$out .= '<a href="'.esc_url(get_pagenum_link($i)).'" class="page">'.$page_text.'</a>';
110+
$out .= _wp_pagenavi_single($i, 'page', $options['page_text']);
112111
}
113112
}
114-
$out .= get_next_posts_link($pagenavi_options['next_text'], $max_page);
113+
$out .= get_next_posts_link($options['next_text'], $max_page);
115114

116115
$larger_page_end = 0;
117116
foreach ( $larger_pages_array as $larger_page ) {
118117
if ( $larger_page > $end_page && $larger_page_end < $larger_page_to_show ) {
119-
$page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($larger_page), $pagenavi_options['page_text']);
120-
$out .= '<a href="'.esc_url(get_pagenum_link($larger_page)).'" class="page">'.$page_text.'</a>';
118+
$out .= _wp_pagenavi_single($larger_page, 'larger page', $options['page_text']);
121119
$larger_page_end++;
122120
}
123121
}
124122

125123
if ( $end_page < $max_page ) {
126-
if ( !empty($pagenavi_options['dotright_text']) )
127-
$out .= '<span class="extend">'.$pagenavi_options['dotright_text'].'</span>';
124+
if ( !empty($options['dotright_text']) )
125+
$out .= "<span class='extend right'>{$options['dotright_text']}</span>";
128126

129-
$last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['last_text']);
130-
$out .= '<a href="'.esc_url(get_pagenum_link($max_page)).'" class="last">'.$last_page_text.'</a>';
127+
$out .= _wp_pagenavi_single($max_page, 'last', $options['last_text'], '%TOTAL_PAGES%');
131128
}
132129
break;
133130

@@ -142,10 +139,10 @@ function wp_pagenavi($before = '', $after = '') {
142139
$page_num = 0;
143140

144141
if ( $i == $paged ) {
145-
$current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['current_text']);
142+
$current_page_text = str_replace('%PAGE_NUMBER%', number_format_i18n($i), $options['current_text']);
146143
$out .= '<option value="'.esc_url(get_pagenum_link($page_num)).'" selected="selected" class="current">'.$current_page_text."</option>\n";
147144
} else {
148-
$page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']);
145+
$page_text = str_replace('%PAGE_NUMBER%', number_format_i18n($i), $options['page_text']);
149146
$out .= '<option value="'.esc_url(get_pagenum_link($page_num)).'">'.$page_text."</option>\n";
150147
}
151148
}
@@ -159,6 +156,12 @@ function wp_pagenavi($before = '', $after = '') {
159156
echo apply_filters('wp_pagenavi', $out);
160157
}
161158

159+
function _wp_pagenavi_single($page, $class, $raw_text, $format = '%PAGE_NUMBER%') {
160+
$text = str_replace($format, number_format_i18n($page), $raw_text);
161+
162+
return "<a href='" . esc_url(get_pagenum_link($page)) . "' class='$class'>$text</a>";
163+
}
164+
162165

163166
### Function: Page Navigation: Drop Down Menu (Deprecated)
164167
function wp_pagenavi_dropdown() {

0 commit comments

Comments
 (0)