Changeset 37741 for trunk/src/wp-admin/includes/ajax-actions.php
- Timestamp:
- 06/17/2016 08:40:04 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/ajax-actions.php
r37714 r37741 3833 3833 wp_send_json_success( $status ); 3834 3834 } 3835 3836 /** 3837 * Ajax handler for testing if an URL exists. Used in the editor. 3838 * 3839 * @since 4.6.0 3840 */ 3841 function wp_ajax_test_url() { 3842 if ( ! current_user_can( 'edit_posts' ) || ! wp_verify_nonce( $_POST['nonce'], 'wp-test-url' ) ) { 3843 wp_send_json_error(); 3844 } 3845 3846 $href = esc_url_raw( $_POST['href'] ); 3847 3848 // Relative URL 3849 if ( strpos( $href, '//' ) !== 0 && in_array( $href[0], array( '/', '#', '?' ), true ) ) { 3850 $href = get_bloginfo( 'url' ) . $href; 3851 } 3852 3853 $response = wp_safe_remote_get( $href, array( 3854 'timeout' => 15, 3855 // Use an explicit user-agent 3856 'user-agent' => 'WordPress URL Test', 3857 ) ); 3858 3859 $message = null; 3860 3861 if ( is_wp_error( $response ) ) { 3862 $error = $response->get_error_message(); 3863 3864 if ( strpos( $message, 'resolve host' ) !== false ) { 3865 $message = array( 'error' => __( 'Invalid host name.' ) ); 3866 } 3867 3868 wp_send_json_error( $message ); 3869 } 3870 3871 if ( wp_remote_retrieve_response_code( $response ) === 404 ) { 3872 wp_send_json_error( array( 'error' => __( 'Not found, HTTP error 404.' ) ) ); 3873 } 3874 3875 wp_send_json_success(); 3876 }
Note: See TracChangeset
for help on using the changeset viewer.