Ticket #14044: 14044.diff

File 14044.diff, 917 bytes (added by wojtek.szkutnik, 3 years ago)
Line 
1Index: wp-includes/pluggable.php
2===================================================================
3--- wp-includes/pluggable.php   (revision 15490)
4+++ wp-includes/pluggable.php   (working copy)
5@@ -821,13 +821,15 @@
6  * @param string $action Action nonce
7  * @param string $query_arg where to look for nonce in $_REQUEST (since 2.5)
8  */
9-function check_admin_referer($action = -1, $query_arg = '_wpnonce') {
10+function check_admin_referer($action = -1, $query_arg = '_wpnonce', $die_on_error = true) {
11        $adminurl = strtolower(admin_url());
12        $referer = strtolower(wp_get_referer());
13        $result = isset($_REQUEST[$query_arg]) ? wp_verify_nonce($_REQUEST[$query_arg], $action) : false;
14        if ( !$result && !(-1 == $action && strpos($referer, $adminurl) !== false) ) {
15                wp_nonce_ays($action);
16-               die();
17+               
18+               if($die_on_error)
19+                       die();
20        }
21        do_action('check_admin_referer', $action, $result);
22        return $result;