Changeset 35483
- Timestamp:
- 11/01/2015 06:39:50 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/theme.php
r34651 r35483 526 526 } 527 527 528 $customize_action = null; 529 if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { 530 $customize_action = esc_url( add_query_arg( 531 array( 532 'return' => urlencode( esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) ) ), 533 ), 534 wp_customize_url( $slug ) 535 ) ); 536 } 537 528 538 $prepared_themes[ $slug ] = array( 529 539 'id' => $slug, … … 541 551 'actions' => array( 542 552 'activate' => current_user_can( 'switch_themes' ) ? wp_nonce_url( admin_url( 'themes.php?action=activate&stylesheet=' . $encoded_slug ), 'switch-theme_' . $slug ) : null, 543 'customize' => ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) ? wp_customize_url( $slug ) : null,553 'customize' => $customize_action, 544 554 'delete' => current_user_can( 'delete_themes' ) ? wp_nonce_url( admin_url( 'themes.php?action=delete&stylesheet=' . $encoded_slug ), 'delete-theme_' . $slug ) : null, 545 555 ), -
trunk/src/wp-admin/themes.php
r35220 r35483 388 388 <# if ( data.active ) { #> 389 389 <# if ( data.actions.customize ) { #> 390 <a class="button button-primary customize load-customize hide-if-no-customize" href="{{ data.actions.customize}}"><?php _e( 'Customize' ); ?></a>390 <a class="button button-primary customize load-customize hide-if-no-customize" href="{{{ data.actions.customize }}}"><?php _e( 'Customize' ); ?></a> 391 391 <# } #> 392 392 <# } else { #> -
trunk/src/wp-includes/class-wp-customize-manager.php
r35391 r35483 1474 1474 */ 1475 1475 public function get_return_url() { 1476 $referer = wp_get_referer(); 1476 1477 if ( $this->return_url ) { 1477 1478 $return_url = $this->return_url; 1479 } else if ( $referer ) { 1480 $return_url = $referer; 1478 1481 } else if ( $this->preview_url ) { 1479 1482 $return_url = $this->preview_url; 1480 } else if ( current_user_can( 'edit_theme_options' ) || current_user_can( 'switch_themes' ) ) {1481 $return_url = admin_url( 'themes.php' );1482 1483 } else { 1483 $return_url = admin_url();1484 $return_url = home_url( '/' ); 1484 1485 } 1485 1486 return $return_url; -
trunk/tests/phpunit/tests/customize/manager.php
r35307 r35483 253 253 function test_return_url() { 254 254 wp_set_current_user( self::factory()->user->create( array( 'role' => 'author' ) ) ); 255 $this->assertEquals( get_admin_url(), $this->manager->get_return_url() );255 $this->assertEquals( home_url( '/' ), $this->manager->get_return_url() ); 256 256 257 257 wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) ); 258 258 $this->assertTrue( current_user_can( 'edit_theme_options' ) ); 259 $this->assertEquals( admin_url( 'themes.php' ), $this->manager->get_return_url() );259 $this->assertEquals( home_url( '/' ), $this->manager->get_return_url() ); 260 260 261 261 $preview_url = home_url( '/foo/' ); 262 262 $this->manager->set_preview_url( $preview_url ); 263 $this->assertEquals( $preview_url, $this->manager->get_return_url() ); 264 265 $url = home_url( '/referred/' ); 266 $_SERVER['HTTP_REFERER'] = wp_slash( $url ); 267 $this->assertEquals( $url, $this->manager->get_return_url() ); 268 269 $url = 'http://badreferer.example.com/'; 270 $_SERVER['HTTP_REFERER'] = wp_slash( $url ); 271 $this->assertNotEquals( $url, $this->manager->get_return_url() ); 263 272 $this->assertEquals( $preview_url, $this->manager->get_return_url() ); 264 273
Note: See TracChangeset
for help on using the changeset viewer.