Version Description
- Fix to some users getting Warning messages for parse_url function.
- Added nonce field checking for Quick Redirects form to help eliminate the possibility of form takeover on submission of quick redirect saves.
Download this release
Release Info
Developer | prophecy2040 |
Plugin | Quick Page/Post Redirect Plugin |
Version | 5.0.6 |
Comparing to | |
See all releases |
Code changes from version 5.0.5 to 5.0.6
- page_post_redirect_plugin.php +89 -69
- readme.txt +20 -9
page_post_redirect_plugin.php
CHANGED
@@ -6,60 +6,61 @@ Description: Redirect Pages, Posts or Custom Post Types to another location quic
|
|
6 |
Author: Don Fischer
|
7 |
Author URI: http://www.fischercreativemedia.com/
|
8 |
Donate link: http://www.fischercreativemedia.com/donations/
|
9 |
-
Version: 5.0.
|
|
|
|
|
10 |
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
26 |
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
29 |
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
// *******************************
|
37 |
-
// *** Page/Post Redirects function: use to take over redirect
|
38 |
-
// add_action('qppr_do_redirect','some_callback_function2',10,2);
|
39 |
-
// arg 1. is Redirect URL
|
40 |
-
// arg 2. is Redirect Type
|
41 |
-
// *******************************
|
42 |
-
// *** Meta Redirect Action: Used for Meta Redirect Page Headers (so you can add meta tag)
|
43 |
-
//add_action('ppr_meta_head_hook','some_callback',10,3);
|
44 |
-
// arg 1. URL site
|
45 |
-
// arg 2. Meta Redirect Time in Seconds
|
46 |
-
// arg 3. Meta Message to display
|
47 |
-
// Example:
|
48 |
-
/***
|
49 |
add_action('ppr_meta_head_hook','override_ppr_metahead',10,3);
|
50 |
function override_ppr_metahead($refresh_url='',$refresh_secs=0,$messages=''){
|
51 |
echo '<meta http-equiv="refresh" content="'.$refresh_secs.'; URL='.$refresh_url.'" />'."\n";
|
52 |
echo '<div id="ppr_custom_message">'. $messages.'</div>'."\n";
|
53 |
return;
|
54 |
}
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
/*
|
63 |
add_filter('ppr_meta_head_hook_filter','override_ppr_metahead_new');
|
64 |
function override_ppr_metahead_new($meta_tag='',$meta_message=''){
|
65 |
$meta = $meta_tag;
|
@@ -69,15 +70,14 @@ Version 3.2.4 to 4.0.1 are testing versions only
|
|
69 |
add_filter('get_title',$function2,100,1);
|
70 |
return $meta;
|
71 |
}
|
72 |
-
|
73 |
-
|
74 |
-
global $newqppr;
|
|
|
75 |
if (!function_exists('esc_attr')) { // For WordPress < 2.8 function compatibility
|
76 |
function esc_attr($attr){return attribute_escape( $attr );}
|
77 |
function esc_url($url){return clean_url( $url );}
|
78 |
}
|
79 |
-
$newqppr = new quick_page_post_reds();
|
80 |
-
|
81 |
|
82 |
//=======================================
|
83 |
// Main Redirect Class.
|
@@ -114,7 +114,7 @@ class quick_page_post_reds {
|
|
114 |
public $pprptypes_ok;
|
115 |
|
116 |
function __construct() {
|
117 |
-
$this->ppr_curr_version = '5.0.
|
118 |
$this->ppr_nofollow = array();
|
119 |
$this->ppr_newindow = array();
|
120 |
$this->ppr_url = array();
|
@@ -166,9 +166,16 @@ class quick_page_post_reds {
|
|
166 |
add_filter( 'post_type_link', array( $this, 'ppr_filter_page_links' ), 20, 2 );
|
167 |
add_filter( 'get_permalink', array( $this, 'ppr_filter_links' ), 20, 2 );
|
168 |
}
|
169 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
}
|
171 |
-
|
172 |
function ppr_add_menu(){
|
173 |
add_menu_page( 'Redirect Options', 'Redirect Options', 'administrator', 'redirect-options', array($this,'ppr_settings_page'),plugins_url( 'settings-16-icon.png' , __FILE__));
|
174 |
add_submenu_page( 'redirect-options', 'Quick Redirects', 'Quick Redirects', 'manage_options', 'redirect-updates', array($this,'ppr_options_page') );
|
@@ -178,8 +185,8 @@ class quick_page_post_reds {
|
|
178 |
}
|
179 |
function qppr_admin_scripts($hook){
|
180 |
if(in_array($hook, array('edit.php','post.php'))){
|
181 |
-
wp_enqueue_script( 'qppr_admin_meta_script', plugins_url('/qppr_admin_script.js', __FILE__ ) , array('jquery'),'5.0.
|
182 |
-
wp_enqueue_style( 'qppr_admin_meta_style', plugins_url('/qppr_admin_style.css', __FILE__ ) , null ,'5.0.
|
183 |
}
|
184 |
return;
|
185 |
}
|
@@ -529,7 +536,7 @@ class quick_page_post_reds {
|
|
529 |
<td><label><span style="color:#FF0000;font-weight:bold;font-size:100%;margin-left:0px;">Hide</span> meta box for following Post Types:</label><?php echo $ptypeHTML;?></td>
|
530 |
</tr>
|
531 |
<!--tr valign="top">
|
532 |
-
<td><label>Use with jQuery? <i><font size="2" color="#FF0000">(unavailable at this time)</font></i></label>
|
533 |
</tr-->
|
534 |
<tr valign="top">
|
535 |
<td><label>Meta Refresh Time (in seconds):</label> <input type="text" size="5" name="ppr_meta-seconds" value="<?php echo get_option('ppr_meta-seconds');?>" /> <span>Only needed for Meta Refresh. 0=default (instant)</span></td>
|
@@ -623,6 +630,7 @@ class quick_page_post_reds {
|
|
623 |
|
624 |
</ol>
|
625 |
<form method="post" action="admin.php?page=redirect-updates">
|
|
|
626 |
<table>
|
627 |
<tr>
|
628 |
<th align="left">Request</th>
|
@@ -959,7 +967,6 @@ class quick_page_post_reds {
|
|
959 |
exit;
|
960 |
} else {
|
961 |
$config_file = file_get_contents( $_FILES['qppr_file_add']['tmp_name'] );
|
962 |
-
//------------
|
963 |
if ( strpos($config_file,'|') === false ) {
|
964 |
wp_die('This does not look like the file is in the correct format - it is possibly damaged or corrupt.<br/>be sure the redirects are 1 per line and the redirect and destination are seperated by a PIPE (|).<br/>Example:<br/><br/><code>redirect|destination</code>', 'ERROR - Not a valid File',array('response'=>'200','back_link'=>'1'));
|
965 |
exit;
|
@@ -1004,7 +1011,6 @@ class quick_page_post_reds {
|
|
1004 |
exit;
|
1005 |
endif;
|
1006 |
}
|
1007 |
-
//-------------
|
1008 |
}
|
1009 |
} return;
|
1010 |
}
|
@@ -1097,11 +1103,10 @@ class quick_page_post_reds {
|
|
1097 |
// The actual fields for data entry
|
1098 |
$pprredirecttype = get_post_meta($post->ID, '_pprredirect_type', true) !='' ? get_post_meta($post->ID, '_pprredirect_type', true) : "";
|
1099 |
$pprredirecturl = get_post_meta($post->ID, '_pprredirect_url', true)!='' ? get_post_meta($post->ID, '_pprredirect_url', true) : "";
|
1100 |
-
//echo $pprredirecttype.'|'.$pprredirecturl;
|
1101 |
echo '<label for="pprredirect_active" style="padding:2px 0;"><input type="checkbox" name="pprredirect_active" value="1" '. checked('1',get_post_meta($post->ID,'_pprredirect_active',true),0).' /> Make Redirect <b>Active</b>.<span class="qppr_meta_help_wrap"><span class="qppr_meta_help_icon">?</span><span class="qppr_meta_help">Check to turn on or redirect will not work.</span></span></label><br />';
|
1102 |
echo '<label for="pprredirect_newwindow" style="padding:2px 0;"><input type="checkbox" name="pprredirect_newwindow" id="pprredirect_newwindow" value="_blank" '. checked('_blank',get_post_meta($post->ID,'_pprredirect_newwindow',true),0).'> Open redirect link in a <b>new window.</b><span class="qppr_meta_help_wrap"><span class="qppr_meta_help_icon">?</span><span class="qppr_meta_help">May not work in all cases.</span></span></label><br />';
|
1103 |
echo '<label for="pprredirect_relnofollow" style="padding:2px 0;"><input type="checkbox" name="pprredirect_relnofollow" id="pprredirect_relnofollow" value="1" '. checked('1',get_post_meta($post->ID,'_pprredirect_relnofollow',true),0).'> Add <b>rel="nofollow"</b> to redirect link.<span class="qppr_meta_help_wrap"><span class="qppr_meta_help_icon">?</span><span class="qppr_meta_help">May not work in all cases.</span></span></label><br />';
|
1104 |
-
echo '<label for="pprredirect_rewritelink" style="padding:2px 0;"><input type="checkbox" name="pprredirect_rewritelink" id="pprredirect_rewritelink" value="1" '. checked('1',get_post_meta($post->ID,'_pprredirect_rewritelink',true),0).'> <b>Show</b> the Redirect URL instead of original URL. <span class="qppr_meta_help_wrap"><span class="qppr_meta_help_icon">?</span><span class="qppr_meta_help">May not always work and will only show the link - <strong><em>NOT in the Address bar.</em></strong></span></span></label><br /><br />';
|
1105 |
//echo '<label for="pprredirect_casesensitive" style="padding:2px 0;"><input type="checkbox" name="pprredirect_casesensitive" id="pprredirect_casesensitive" value="1" '. checked('1',get_post_meta($post->ID,'_pprredirect_casesensitive',true),0).'> Make the Redirect Case Insensitive.</label><br /><br />';
|
1106 |
echo '<label for="pprredirect_url"><b>Redirect URL:</b></label><br />';
|
1107 |
echo '<input type="text" style="width:75%;margin-top:2px;margin-bottom:2px;" name="pprredirect_url" value="'.$pprredirecturl.'" /><span class="qppr_meta_help_wrap"><span class="qppr_meta_help_icon">?</span><span class="qppr_meta_help"><br />(i.e., <strong>http://example.com</strong> or <strong>/somepage/</strong> or <strong>p=15</strong> or <strong>155</strong>. Use <b>FULL URL</b> <i>including</i> <strong>http://</strong> for all external <i>and</i> meta redirects.)</span></span><br /><br />';
|
@@ -1145,20 +1150,33 @@ class quick_page_post_reds {
|
|
1145 |
[query]
|
1146 |
[fragment]
|
1147 |
*/
|
1148 |
-
|
|
|
|
|
|
|
|
|
1149 |
$url = network_site_url().'/?'.$url;
|
1150 |
}elseif(is_numeric($url)){ // page or post id
|
1151 |
$url = network_site_url().'/?'.$url;
|
1152 |
-
}elseif($url
|
1153 |
$url = network_site_url().'/';
|
1154 |
-
}elseif(
|
1155 |
-
$url =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1156 |
}
|
1157 |
-
$info = parse_url($url);
|
1158 |
-
$info['url'] = $url;
|
1159 |
-
//echo $info['url'];
|
1160 |
return $info;
|
1161 |
}
|
|
|
1162 |
function isOne_none($val=''){ //true (1) or false =''
|
1163 |
if($val == '_blank'){
|
1164 |
return $val;
|
@@ -1192,8 +1210,9 @@ class quick_page_post_reds {
|
|
1192 |
$my_meta_data['_pprredirect_url'] = isset($_REQUEST['pprredirect_url']) ? sanitize_meta( '_pprredirect_url', ( $_REQUEST['pprredirect_url'] ), 'post' ) : '';
|
1193 |
|
1194 |
$info = $this->appip_parseURI($my_meta_data['_pprredirect_url']);
|
1195 |
-
|
1196 |
-
$my_meta_data['_pprredirect_url'] =
|
|
|
1197 |
if($my_meta_data['_pprredirect_url'] == 'http://' || $my_meta_data['_pprredirect_url'] == 'https://' || $my_meta_data['_pprredirect_url'] == ''){
|
1198 |
$my_meta_data['_pprredirect_url'] = ''; //reset to nothing
|
1199 |
$my_meta_data['_pprredirect_type'] = NULL; //clear Type if no URL is set.
|
@@ -1447,6 +1466,7 @@ class quick_page_post_reds {
|
|
1447 |
// END Main Redirect Class.
|
1448 |
//=======================================
|
1449 |
function start_ppr_class(){
|
1450 |
-
$redirect_plugin
|
|
|
1451 |
}
|
1452 |
?>
|
6 |
Author: Don Fischer
|
7 |
Author URI: http://www.fischercreativemedia.com/
|
8 |
Donate link: http://www.fischercreativemedia.com/donations/
|
9 |
+
Version: 5.0.6
|
10 |
+
License: GPLv2 or later
|
11 |
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
12 |
|
13 |
+
* Copyright (C) 2009-2014 Donald J. Fischer <dfischer [at] fischercreativemedia [dot] com>
|
14 |
+
*
|
15 |
+
* This program is free software; you can redistribute it and/or
|
16 |
+
* modify it under the terms of the [GNU General Public License](http://wordpress.org/about/gpl/)
|
17 |
+
* as published by the Free Software Foundation; either version 2
|
18 |
+
* of the License, or (at your option) any later version.
|
19 |
+
*
|
20 |
+
* This program is distributed in the hope that it will be useful,
|
21 |
+
* on an "AS IS", but WITHOUT ANY WARRANTY; without even the implied
|
22 |
+
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
23 |
+
* See the GNU General Public License for more details.
|
24 |
+
*
|
25 |
+
* You should have received a copy of the GNU General Public License
|
26 |
+
* along with this program; if not, see [GNU General Public Licenses](http://www.gnu.org/licenses/),
|
27 |
+
* or write to the Free Software Foundation, Inc., 51 Franklin Street,
|
28 |
+
* Fifth Floor, Boston, MA 02110-1301, USA.
|
29 |
+
|
30 |
+
==========
|
31 |
+
You can use the following action hooks with this plugin:
|
32 |
|
33 |
+
*** Quick Rediects function: use to take over redirect
|
34 |
+
add_action('qppr_redirect','some_callback_function',10,2);
|
35 |
+
arg 1. is Redirect URL
|
36 |
+
arg 2. is Redirect Type
|
37 |
+
*******************************
|
38 |
|
39 |
+
*** Page/Post Redirects function: use to take over redirect
|
40 |
+
add_action('qppr_do_redirect','some_callback_function2',10,2);
|
41 |
+
arg 1. is Redirect URL
|
42 |
+
arg 2. is Redirect Type
|
43 |
+
*******************************
|
44 |
|
45 |
+
*** Meta Redirect Action: Used for Meta Redirect Page Headers (so you can add meta tag)
|
46 |
+
add_action('ppr_meta_head_hook','some_callback',10,3);
|
47 |
+
arg 1. URL site
|
48 |
+
arg 2. Meta Redirect Time in Seconds
|
49 |
+
arg 3. Meta Message to display
|
50 |
+
Example:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
add_action('ppr_meta_head_hook','override_ppr_metahead',10,3);
|
52 |
function override_ppr_metahead($refresh_url='',$refresh_secs=0,$messages=''){
|
53 |
echo '<meta http-equiv="refresh" content="'.$refresh_secs.'; URL='.$refresh_url.'" />'."\n";
|
54 |
echo '<div id="ppr_custom_message">'. $messages.'</div>'."\n";
|
55 |
return;
|
56 |
}
|
57 |
+
*******************************
|
58 |
+
|
59 |
+
*** Meta Redirect Filter: Used for Meta Redirect Page Headers (so you can add meta and message, etc.)
|
60 |
+
add_filter('ppr_meta_head_hook_filter','some_callback2',10,2);
|
61 |
+
arg 1. Meta Tag (fully generated)
|
62 |
+
arg 2. Page HTML Message (wrapped in a <div> tag)
|
63 |
+
Example:
|
|
|
64 |
add_filter('ppr_meta_head_hook_filter','override_ppr_metahead_new');
|
65 |
function override_ppr_metahead_new($meta_tag='',$meta_message=''){
|
66 |
$meta = $meta_tag;
|
70 |
add_filter('get_title',$function2,100,1);
|
71 |
return $meta;
|
72 |
}
|
73 |
+
*******************************
|
74 |
+
*/
|
75 |
+
global $newqppr, $redirect_plugin;
|
76 |
+
start_ppr_class();
|
77 |
if (!function_exists('esc_attr')) { // For WordPress < 2.8 function compatibility
|
78 |
function esc_attr($attr){return attribute_escape( $attr );}
|
79 |
function esc_url($url){return clean_url( $url );}
|
80 |
}
|
|
|
|
|
81 |
|
82 |
//=======================================
|
83 |
// Main Redirect Class.
|
114 |
public $pprptypes_ok;
|
115 |
|
116 |
function __construct() {
|
117 |
+
$this->ppr_curr_version = '5.0.6';
|
118 |
$this->ppr_nofollow = array();
|
119 |
$this->ppr_newindow = array();
|
120 |
$this->ppr_url = array();
|
166 |
add_filter( 'post_type_link', array( $this, 'ppr_filter_page_links' ), 20, 2 );
|
167 |
add_filter( 'get_permalink', array( $this, 'ppr_filter_links' ), 20, 2 );
|
168 |
}
|
169 |
+
add_action('admin_init', array($this,'save_quick_redirects_fields'));
|
170 |
+
}
|
171 |
+
function save_quick_redirects_fields(){
|
172 |
+
if( isset( $_POST['submit_301'] ) ) {
|
173 |
+
if(check_admin_referer( 'add_qppr_redirects' )){
|
174 |
+
$this->quickppr_redirects = $this->save_redirects( $_POST['quickppr_redirects'] );
|
175 |
+
$this->updatemsg ='Quick Redirects Updated.';
|
176 |
+
}
|
177 |
+
} //if submitted and verified, process the data
|
178 |
}
|
|
|
179 |
function ppr_add_menu(){
|
180 |
add_menu_page( 'Redirect Options', 'Redirect Options', 'administrator', 'redirect-options', array($this,'ppr_settings_page'),plugins_url( 'settings-16-icon.png' , __FILE__));
|
181 |
add_submenu_page( 'redirect-options', 'Quick Redirects', 'Quick Redirects', 'manage_options', 'redirect-updates', array($this,'ppr_options_page') );
|
185 |
}
|
186 |
function qppr_admin_scripts($hook){
|
187 |
if(in_array($hook, array('edit.php','post.php'))){
|
188 |
+
wp_enqueue_script( 'qppr_admin_meta_script', plugins_url('/qppr_admin_script.js', __FILE__ ) , array('jquery'),'5.0.6');
|
189 |
+
wp_enqueue_style( 'qppr_admin_meta_style', plugins_url('/qppr_admin_style.css', __FILE__ ) , null ,'5.0.6' );
|
190 |
}
|
191 |
return;
|
192 |
}
|
536 |
<td><label><span style="color:#FF0000;font-weight:bold;font-size:100%;margin-left:0px;">Hide</span> meta box for following Post Types:</label><?php echo $ptypeHTML;?></td>
|
537 |
</tr>
|
538 |
<!--tr valign="top">
|
539 |
+
<td><label>Use with jQuery? <i><font size="2" color="#FF0000">(unavailable at this time)</font></i></label> <input type="checkbox" name="ppr_use-jquery" value="1"<?php if(get_option('ppr_use-jquery')=='1'){echo ' checked="checked" ';} ?>/> <input type="checkbox" name="ppr_use-jquery" value="0" disabled /><span>disabled in current version<!--Increases effectiveness of plugin. If you have a jQuery conflict, try turning this off.></span></td>
|
540 |
</tr-->
|
541 |
<tr valign="top">
|
542 |
<td><label>Meta Refresh Time (in seconds):</label> <input type="text" size="5" name="ppr_meta-seconds" value="<?php echo get_option('ppr_meta-seconds');?>" /> <span>Only needed for Meta Refresh. 0=default (instant)</span></td>
|
630 |
|
631 |
</ol>
|
632 |
<form method="post" action="admin.php?page=redirect-updates">
|
633 |
+
<?php wp_nonce_field( 'add_qppr_redirects' ); ?>
|
634 |
<table>
|
635 |
<tr>
|
636 |
<th align="left">Request</th>
|
967 |
exit;
|
968 |
} else {
|
969 |
$config_file = file_get_contents( $_FILES['qppr_file_add']['tmp_name'] );
|
|
|
970 |
if ( strpos($config_file,'|') === false ) {
|
971 |
wp_die('This does not look like the file is in the correct format - it is possibly damaged or corrupt.<br/>be sure the redirects are 1 per line and the redirect and destination are seperated by a PIPE (|).<br/>Example:<br/><br/><code>redirect|destination</code>', 'ERROR - Not a valid File',array('response'=>'200','back_link'=>'1'));
|
972 |
exit;
|
1011 |
exit;
|
1012 |
endif;
|
1013 |
}
|
|
|
1014 |
}
|
1015 |
} return;
|
1016 |
}
|
1103 |
// The actual fields for data entry
|
1104 |
$pprredirecttype = get_post_meta($post->ID, '_pprredirect_type', true) !='' ? get_post_meta($post->ID, '_pprredirect_type', true) : "";
|
1105 |
$pprredirecturl = get_post_meta($post->ID, '_pprredirect_url', true)!='' ? get_post_meta($post->ID, '_pprredirect_url', true) : "";
|
|
|
1106 |
echo '<label for="pprredirect_active" style="padding:2px 0;"><input type="checkbox" name="pprredirect_active" value="1" '. checked('1',get_post_meta($post->ID,'_pprredirect_active',true),0).' /> Make Redirect <b>Active</b>.<span class="qppr_meta_help_wrap"><span class="qppr_meta_help_icon">?</span><span class="qppr_meta_help">Check to turn on or redirect will not work.</span></span></label><br />';
|
1107 |
echo '<label for="pprredirect_newwindow" style="padding:2px 0;"><input type="checkbox" name="pprredirect_newwindow" id="pprredirect_newwindow" value="_blank" '. checked('_blank',get_post_meta($post->ID,'_pprredirect_newwindow',true),0).'> Open redirect link in a <b>new window.</b><span class="qppr_meta_help_wrap"><span class="qppr_meta_help_icon">?</span><span class="qppr_meta_help">May not work in all cases.</span></span></label><br />';
|
1108 |
echo '<label for="pprredirect_relnofollow" style="padding:2px 0;"><input type="checkbox" name="pprredirect_relnofollow" id="pprredirect_relnofollow" value="1" '. checked('1',get_post_meta($post->ID,'_pprredirect_relnofollow',true),0).'> Add <b>rel="nofollow"</b> to redirect link.<span class="qppr_meta_help_wrap"><span class="qppr_meta_help_icon">?</span><span class="qppr_meta_help">May not work in all cases.</span></span></label><br />';
|
1109 |
+
echo '<label for="pprredirect_rewritelink" style="padding:2px 0;"><input type="checkbox" name="pprredirect_rewritelink" id="pprredirect_rewritelink" value="1" '. checked('1',get_post_meta($post->ID,'_pprredirect_rewritelink',true),0).'> <b>Show</b> the Redirect URL instead of original URL. <span class="qppr_meta_help_wrap"><span class="qppr_meta_help_icon">?</span><span class="qppr_meta_help">May not always work and will only show the link - <strong><em>but NOT in the Address bar, just the link itself.</em></strong></span></span></label><br /><br />';
|
1110 |
//echo '<label for="pprredirect_casesensitive" style="padding:2px 0;"><input type="checkbox" name="pprredirect_casesensitive" id="pprredirect_casesensitive" value="1" '. checked('1',get_post_meta($post->ID,'_pprredirect_casesensitive',true),0).'> Make the Redirect Case Insensitive.</label><br /><br />';
|
1111 |
echo '<label for="pprredirect_url"><b>Redirect URL:</b></label><br />';
|
1112 |
echo '<input type="text" style="width:75%;margin-top:2px;margin-bottom:2px;" name="pprredirect_url" value="'.$pprredirecturl.'" /><span class="qppr_meta_help_wrap"><span class="qppr_meta_help_icon">?</span><span class="qppr_meta_help"><br />(i.e., <strong>http://example.com</strong> or <strong>/somepage/</strong> or <strong>p=15</strong> or <strong>155</strong>. Use <b>FULL URL</b> <i>including</i> <strong>http://</strong> for all external <i>and</i> meta redirects.)</span></span><br /><br />';
|
1150 |
[query]
|
1151 |
[fragment]
|
1152 |
*/
|
1153 |
+
$strip_protocol = 0;
|
1154 |
+
$tostrip = '';
|
1155 |
+
//if($url == '' || $url == 'http://' || $url == 'https://' ){ return $url;}
|
1156 |
+
|
1157 |
+
if(substr($url,0,2) == 'p=' || substr($url,0,8) == 'page_id='){ // page or post id
|
1158 |
$url = network_site_url().'/?'.$url;
|
1159 |
}elseif(is_numeric($url)){ // page or post id
|
1160 |
$url = network_site_url().'/?'.$url;
|
1161 |
+
}elseif($url == "/" ){ // root
|
1162 |
$url = network_site_url().'/';
|
1163 |
+
}elseif(substr($url,0,1) == '/' ){ // relative to root
|
1164 |
+
$url = network_site_url().$url;
|
1165 |
+
$strip_protocol = 1;
|
1166 |
+
$tostrip = network_site_url();
|
1167 |
+
}elseif(substr($url,0,7) != 'http://' && substr($url,0,8) != 'https://' ){ // no protocol so add it
|
1168 |
+
//$url = "http://".$url;
|
1169 |
+
//desided not to add it automatically.
|
1170 |
+
}
|
1171 |
+
$info = @parse_url($url);
|
1172 |
+
if($strip_protocol == 1 && $tostrip != '' ){
|
1173 |
+
$info['url'] = str_replace($tostrip, '', $url);
|
1174 |
+
}else{
|
1175 |
+
$info['url'] = $url;
|
1176 |
}
|
|
|
|
|
|
|
1177 |
return $info;
|
1178 |
}
|
1179 |
+
|
1180 |
function isOne_none($val=''){ //true (1) or false =''
|
1181 |
if($val == '_blank'){
|
1182 |
return $val;
|
1210 |
$my_meta_data['_pprredirect_url'] = isset($_REQUEST['pprredirect_url']) ? sanitize_meta( '_pprredirect_url', ( $_REQUEST['pprredirect_url'] ), 'post' ) : '';
|
1211 |
|
1212 |
$info = $this->appip_parseURI($my_meta_data['_pprredirect_url']);
|
1213 |
+
//$my_meta_data['_pprredirect_url'] = esc_url_raw($info['url']);
|
1214 |
+
$my_meta_data['_pprredirect_url'] = $info['url'];
|
1215 |
+
|
1216 |
if($my_meta_data['_pprredirect_url'] == 'http://' || $my_meta_data['_pprredirect_url'] == 'https://' || $my_meta_data['_pprredirect_url'] == ''){
|
1217 |
$my_meta_data['_pprredirect_url'] = ''; //reset to nothing
|
1218 |
$my_meta_data['_pprredirect_type'] = NULL; //clear Type if no URL is set.
|
1466 |
// END Main Redirect Class.
|
1467 |
//=======================================
|
1468 |
function start_ppr_class(){
|
1469 |
+
global $newqppr, $redirect_plugin;
|
1470 |
+
$redirect_plugin = $newqppr = new quick_page_post_reds(); // call our class
|
1471 |
}
|
1472 |
?>
|
readme.txt
CHANGED
@@ -2,20 +2,21 @@
|
|
2 |
Contributors: Don Fischer
|
3 |
Donate link: http://www.fischercreativemedia.com/donations/
|
4 |
Tags: redirect, 301, 302, meta, post, plugin, page, forward, re-direct, nofollow, menu links, posts, pages, admin, 404, custom post types, nav menu, import, export, restore
|
5 |
-
Requires at least: 3.
|
6 |
-
Tested up to:
|
7 |
Stable tag: trunk
|
8 |
|
9 |
Redirect Pages/Posts to another page/post or external URL. Has edit box as well as global options. Specify the redirect Location and type. For PHP5+
|
10 |
|
11 |
== Description ==
|
12 |
-
Version 5.0.
|
13 |
This plugin adds adds an option box to the edit section where you can specify the redirect location and type of redirect that you want, temporary, permanent, or meta. See below for additional features added.
|
14 |
|
|
|
|
|
15 |
= Features: =
|
16 |
-
* Works with
|
17 |
-
* Works with
|
18 |
-
* Disabled in 5.0.3: [jQuery integration for more enhanced re-writes (set option on settings page)].
|
19 |
* You can set a redirect page or menu link to open in a new window (will not work on permalinks)
|
20 |
* You can add a *rel="nofollow"* attribute to the page or menu link of the redirect (will not work on permalinks)
|
21 |
* You can completely re-write the URL for the redirect so it takes the place of the default page URL (rewrite the href link)
|
@@ -28,7 +29,12 @@ This plugin adds adds an option box to the edit section where you can specify th
|
|
28 |
* Import/Export of redirects for backup, or to bulk add redirects.
|
29 |
* Built-in FAQs/Help that can be updated daily with relevant questions.
|
30 |
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
*PLEASE NOTE:* A new page or post needs to be Published in order for Page/Post redirect to happen. It WILL work on a DRAFT Status Post/Page ONLY, and I mean ONLY, if the Post/Page has FIRST been Published and the re-saved as a Draft. This does not apply to Quick Redirects.
|
34 |
|
@@ -129,6 +135,10 @@ NO it isn't! Check the plugin FAQs/Help page for a more up to date list of Frequ
|
|
129 |
5. Summary of redirects plugin page.
|
130 |
|
131 |
== Changelog ==
|
|
|
|
|
|
|
|
|
132 |
= 5.0.5 =
|
133 |
* Fix to security flaw for logged in admin users.
|
134 |
* Fix to extra spaces that broke some callback functions in the redirect class in 5.0.4.
|
@@ -251,5 +261,6 @@ NO it isn't! Check the plugin FAQs/Help page for a more up to date list of Frequ
|
|
251 |
* Initial Plugin creation (7/1/2009)
|
252 |
|
253 |
== Upgrade Notice ==
|
254 |
-
= 5.0.
|
255 |
-
Fix
|
|
2 |
Contributors: Don Fischer
|
3 |
Donate link: http://www.fischercreativemedia.com/donations/
|
4 |
Tags: redirect, 301, 302, meta, post, plugin, page, forward, re-direct, nofollow, menu links, posts, pages, admin, 404, custom post types, nav menu, import, export, restore
|
5 |
+
Requires at least: 3.9
|
6 |
+
Tested up to: 4.2.2
|
7 |
Stable tag: trunk
|
8 |
|
9 |
Redirect Pages/Posts to another page/post or external URL. Has edit box as well as global options. Specify the redirect Location and type. For PHP5+
|
10 |
|
11 |
== Description ==
|
12 |
+
Version 5.0.6.
|
13 |
This plugin adds adds an option box to the edit section where you can specify the redirect location and type of redirect that you want, temporary, permanent, or meta. See below for additional features added.
|
14 |
|
15 |
+
This plugin works best when you have some form of Permalink Stucture set up. If you have other Redirect plugins installed, it is recommeded that you use only one redirect plugin or they may conflict or one may take over before the other can do its job.
|
16 |
+
|
17 |
= Features: =
|
18 |
+
* Works with WordPress Menus
|
19 |
+
* Works with WordPress Custom Post Types (set option on settings page)
|
|
|
20 |
* You can set a redirect page or menu link to open in a new window (will not work on permalinks)
|
21 |
* You can add a *rel="nofollow"* attribute to the page or menu link of the redirect (will not work on permalinks)
|
22 |
* You can completely re-write the URL for the redirect so it takes the place of the default page URL (rewrite the href link)
|
29 |
* Import/Export of redirects for backup, or to bulk add redirects.
|
30 |
* Built-in FAQs/Help that can be updated daily with relevant questions.
|
31 |
|
32 |
+
= What You CANNOT Do: =
|
33 |
+
* This plugin does not have wildcard redirect features
|
34 |
+
* You cannot redirect the Home (Posts) page - unless you set a page as the home page and redirect that.
|
35 |
+
* If your theme uses some form of custom layout or funcitonality, some features may not work.
|
36 |
+
|
37 |
+
This plugin is not compatible with WordPress versions less than 3.9. Requires PHP 5.2+.
|
38 |
|
39 |
*PLEASE NOTE:* A new page or post needs to be Published in order for Page/Post redirect to happen. It WILL work on a DRAFT Status Post/Page ONLY, and I mean ONLY, if the Post/Page has FIRST been Published and the re-saved as a Draft. This does not apply to Quick Redirects.
|
40 |
|
135 |
5. Summary of redirects plugin page.
|
136 |
|
137 |
== Changelog ==
|
138 |
+
= 5.0.6 =
|
139 |
+
* Fix to some users getting Warning messages for parse_url function.
|
140 |
+
* Added nonce field checking for Quick Redirects form to help eliminate the possibility of form takeover on submission of quick redirect saves.
|
141 |
+
|
142 |
= 5.0.5 =
|
143 |
* Fix to security flaw for logged in admin users.
|
144 |
* Fix to extra spaces that broke some callback functions in the redirect class in 5.0.4.
|
261 |
* Initial Plugin creation (7/1/2009)
|
262 |
|
263 |
== Upgrade Notice ==
|
264 |
+
= 5.0.6 =
|
265 |
+
* Fix Warning Message from parse_url function for some users.
|
266 |
+
* Added Nonce to form to prevent possible maliscious form takeover on saving Quick Redirects.
|